22-10-2008 1 Founding Sponsors This Presentation Courtesy of the International SOA Symposium October 7-8, 2008 Amsterdam Arena www.soasymposium.com [email protected]Gold Sponsors Platinum Sponsors Silver Sponsors Guerrilla SOA How to fight back when a vendor takes control of your enterprise Dr. Jim Webber http://jim.webber.name
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
• Business needs to compete– IT needs to be responsive
• SOA gives IT a business process focus
• Web Services are the most sensible way to implement SOA
• More proprietary middleware is the answer!– 2 + 2 = 5 http://www.capeclear.com/technology/index.shtml
Integration Two Years LaterAccounting Marketing
SupportProduct Development
Enterprise Service Bus
22-10-2008
6
Skeletons in the Closet...
Enterprise Service Bus
The Appealing Rationale for ESB...
• Perceived single framework for all
integration needs
• Perceived simple connectivity between
systems
• Some features for security, reliable
delivery, etc.
• All you have to do is agree to lock
yourself into a ESB and all this can be
yours...
22-10-2008
7
...And the Reality
• The mess is swept under the carpet hidden inside a vendor box– Mixing business rules, transformations, QoS etc with
connectors
• Vendor lock-in of the whole network!– ESBs are proprietary, so no guarantees that the
messages transmitted across the bus are actually based on any open protocol
• Held to ransom by the ESB vendor!– Can only easily integrate systems for which the ESB
vendor provides specific adaptors
– Or invest your money into extending their product
Intelligent Networks, Dumb Idea?
• Isn't this precisely what we're trying to get away from?
• Integration should happen on the wire by default, not inside some server
• The ESB approach eschews the dumb network
– Smart endpoints underpin scalable, robust systems
– Smart networks are failure points
22-10-2008
8
More plumbing gets built
SOA “experts” grow powerful
22-10-2008
9
And ESB software grows…
… the wrong way
22-10-2008
10
On a rich diet
BPM
Rules
Engine
Low
Latency
Adapters
GUI Tools
Transformations
Security
Reliability
Integration five years from nowAccounting Marketing
SupportProduct Development
Research
IT
Enterprise Service Bus
22-10-2008
11
Integration ten years from now
Accounting Marketing
SupportProduct Development
Research
IT
ESB
Architectural Fantasy
22-10-2008
12
Ungovernable
Doesn’t Scale
22-10-2008
13
How did this happen?
• Same old story:– Tactical decisions
– Time and technology pressures
– Path of least resistance for individual applications
• Centralised ownership of the ESB sometimes is an inhibitor– Too much effort to get on the bus, technically,
politically
– Individuals always mean to redress hacked integrations
– But seldom do – it’s too hard when systems are live
Spaghetti is a fact of life
• Businesses change
• Processes change
• Applications change
• Integration changes
• Need an enterprise computing strategy that:– Reflects the changing structure of the business;
– Is spaghetti-friendly;
– Commoditised;
– Robust, secure, dependable, etc.
22-10-2008
14
Business-Led Integration
• ESBs integrate with whatever existing systems expose– Green screen, web pages, CORBA objects, XML, etc
• Integration happens at a low level– Mapping of bits and bytes of one variety onto bits and bytes of
another format
• This makes it hard to engage business in such projects– Without business benefit no software has value
• Integration is currently opaque to the business
• Business must be involved in integration projects – not just initiate them– The integration domain must use the same vocabulary as the
business domain
Spaghetti-Oriented Architecture
• Fighting against spaghetti is usually unsuccessful
– This does not mean integration should be undertaken without diligence!
• SOA is an approach which is spaghetti-agnostic
• Services are designed for integration with any consumer
– Integration is decentralised
• Result:
– Loosely coupled, re-usable services
– Focus on business-meaningful process orchestration
22-10-2008
15
SOA and Web Services Approach
• Applications (or subsets of applications) are identified as being service-amenable– Or (sub) processes are identified for which there is no
existing application/service
• Web Services infrastructure is layered on top of the application, exposing a SOAP interface to the rest of the network– Business meaningful message exchanges
• Other services consume the functionality via SOAP message exchanges
• Traditional integration infrastructure is kept within the Web Service implementation, if used at all
Building the Service-Oriented
Enterprise• SOAP becomes the ubiquitous transfer mechanism
across the enterprise (or Internet!)
• In effect, SOAP messages are the “EAI backbone” – The underlying transport protocols are arbitrary
• Applications understand SOAP messages natively– True end to end integration, but maintains loose coupling
• In this context, existing ESB/EAI software becomes a toolkit for implementing individual Web Services
• But integration happens at the SOAP level– Can commoditise what’s underneath
22-10-2008
16
Decentralised Integration• The QoS functionality
that a Web Service requires is implemented on a per-service basis– Not “one size fits all”
• Implement only those QoS protocols that the service currently needs– Push the integration
functionality to the edges
• SOAP + WS-Addressing becomes the “bus”
• Incremental and autonomous– Deliver high business-
value services first!
Non-Repudiation
Reliable Delivery
Security
Transactions
Application Integration...
Bus
Choreography/Rules/Routing/Transformations
Adapter Adapter Adapter
Application Domain
• EAI/ESB frameworks are fine for applicationintegration– A framework for development of (distributed) applications
• Think of the EAI toolkit as a container for your application– Application versus enterprise framework
22-10-2008
17
...and Composite Business
Processes
• Processes across the enterprise consume
and coordinate lower-level applications
– Exposed via standards-based services
Bus
Choreography/Rules/Routing/Transformations
Adapter Adapter Adapter
Application Domain
Gateway
Enterprise Process Domain
SOAP
Messaging,
WS-*
Metadata, Metadata, Metadata…
<endpoint…>
…
</endpoint>
<mex…>
…
</mex>
<wsdl…>
<policy…>
…
</policy>
…
</wsdl>
22-10-2008
18
Policy and Contract
<wsdl…>
<policy…>
…
</policy>
…
</wsdl>
<wsdl…>
<policy…>
<security-policy>
…
</security-policy>
<transaction-policy>
…
</transaction-policy>
<reliability-policy>
…
</reliability-policy>
…
</policy>
…
</wsdl>
We
b S
erv
ice
s C
lie
nt
Sta
ck
(W
CF
)
Proxy Generation<wsdl…>
<policy…>
<security-policy>
…
</security-policy>
<transaction-policy>
…
</transaction-policy>
<reliability-policy>
…
</reliability-policy>
…
</policy>
…
</wsdl>
Proxy API
Consumer Implementation
Security Handler
Tx Handler
RM Handler
22-10-2008
19
We
b S
erv
ice
s C
lie
nt
Sta
ck
(W
CF
)
End-to-End Messaging
Proxy API
Consumer Implementation
Security Handler
Tx Handler
RM Handler
We
b S
erv
ice
s C
lie
nt
Sta
ck
(W
CF
)
Proxy API
Service Implementation
Security Handler
Tx Handler
RM Handler
Transport
“WS-Fabric”
Service
Ad
min
istr
ative
do
ma
in
Service
Service
Service
Administrative
domain
Service
Service Ad
min
istra
tive
do
ma
in
network
SOAP messaging is the communication channel for applications.
The ESB (if it exists) is pushed to the endpoints.
22-10-2008
20
Same Old Architects
• Business and IT people collaborate around automating business processes– Re-using those processes (services) already
deployed into the service ecosystem
• Service architects and developers build services– Using WS toolkits like WCF and Axis
– Or RESTlet, NetKernel, ASP.Net MVC, Rails, etc
• Enterprise architects spread best practices– and undertake necessary governance roles
ESB xorSOA?• Investing in proprietary integration
systems now is investing in future legacy
• ESB is not the solution
– It’s oh-so 1990’s integration glue
• SOA is the solution
– Because it focuses on supporting business
processes
• Web Services are a robust and
commoditised platform for SOA delivery
22-10-2008
21
Conclusions• SOA is the right integration architecture going forward
– SOA can be implemented incrementally
– Drive SOA from a business perspective
• Most valuable processes/applications/services first