soa: what it means to the enterprise
Post on 14-Jun-2015
779 Views
Preview:
DESCRIPTION
TRANSCRIPT
SOA: What it means to the Enterprise
Paul Fremantlepaul@wso2.com
CTO and Co-Founder, WSO2VP, Apache Synapse
Service Oriented Architecture
• SOA is the best practice for building distributed interconnected systems
– Using well-defined interactions between systems
– Moving from proprietary formats to open formats:• XML, HTTP, SOAP
– Integration is dependent on external interfaces not on internal code
• SOA is the basis of all modern Enterprise Architecture
Stovepipes
The Enterprise Architecture landscape has changed
• Development cycles:– From 18 to 6 months to 3 months
• Real standards – HTTP, HTML, XML, Java
• Supply chain management and integration are key– Companies without integration are falling behind
Tightly Coupled Systems
• Tightly coupled systems have significant problems:– Errors, delays and downtime spread through the system– The resilience of the whole system is based on the weakest
part– Cost of upgrading or migrating spreads– Hard to evaluate the useful parts from the dead weight
Loose Coupling
Loose Coupling
• Location and Access– Scale up, failover, contingency
• Programming Language– Work with available skills– Integrate old and new
• Stack/Vendor– No tie in to a particular proprietary solution
• Time– Asynchronous interactions avoid gridlock
Services
• Services are application assets that provide useful function
• The service is not just the software… it is the runningsystem
• Services are accessible in a common way across the network and organisation
• Services are re-usable building blocks that can be re-used to build other applications
Case Study - Amazon
• Amazon initially built a standard web application• Browser tier / Web tier / Database tier
Web App
Web App
Web App
Database
Single application
It was too successful
Web App
Web App
Web App
Database
Single application
Web App
Web App
Web App
Web App
Web App
Web App
Web App
Web App
Web App
Web App
Web App
Web App
Problems
• Too many complex pieces of software in a single system
• No evolution possible• Need to scale independently
– Parts sharing resources with other unknown code paths• No isolation • No clear ownership of components• The database became a choke point
– Both at runtime – constant involvement from Oracle scaling– And at development time as different teams struggled to
implement change control on a shared resource
The solution: SOA
• Before the term SOA was widely used• Split into separate teams
– Each team owned the complete problem:• Hosting, maintenance, scaling, development, design
– Each system was loosely coupled with consistent interfaces• A single visit to the homepage can call between 10 and
100 services
• And by the way, this architecture led directly to Amazon’s cloud model
Organization
• “Each service has a team associated with it, and that team is completely responsible for the service—from scoping out the functionality, to architecting it, to building it, and operating it… You build it, you run it” Werner Vogels, CTO, Amazon
– Promotes Customer Focus and Innovation– Gives developers direct access to customers– And experience of how their code performs
Lessons learnt
• Isolation– Service Orientation promotes ownership and control
• Scalability– By preventing direct database access, can scale the
services without affecting clients• Need a common service-access mechanism
– Aggregation– Routing– Tracking
Another case study
• Chapdelaine is a leading bond trading house in Wall Street• Had a monolithic application built mainly using thick client
technology together with Database (stored procedures)• New regulatory rules required reporting trades within 5
minutes of completion– Daily batch no longer suitable
• Increasing partnership meant connecting to partners is essential
• Put in place an ESB and SOA approach– Two weeks to build an initial working environment– Saved $250k in year one with a $50k project
• Radically more agile development environment and enterprise architecture is enabling faster moving IT to meet business needs.
SOA – Enterprise Expectations
Challenges and Opportunitiesfor SOA
Challenges• Complexity• Performance of distributed applications• Security• Management, problem determination• Free-for-all vs Governance• Standards and best practisesOpportunities• Process management• Faster time to market, Agility, time to value• Business intelligence and activity monitoring• Rules and Event Processing• Cloud readiness
Questions
top related