Title: Implementing SOA using ESB: beyond hype
1Implementing SOA using ESB beyond hype
- Abdelkarim Erradi
- Trung Nguyen Kien
- September 2004
2Agenda
- Service Oriented Architecture (SOA)
- Enterprise Service Bus (ESB)
- ESB Architecture and Components
- ESB design patterns
- ESB case study
3Agenda
- Service Oriented Architecture (SOA)
- Enterprise Service Bus (ESB)
- ESB Architecture and Components
- ESB design patterns
- ESB case study
4Why should we care?
- By 2008, SOA will be a prevailing software
engineering practice, ending the 40-year
domination of monolithic software architecture
(0.7 probability)
5Service Orientation is a New Computing Paradigm
- Not as a new name for
- API
- Component
- A genuine set of concepts with which we can
construct new kinds of software - This is as significant if not more than Object
Orientation - In particular SO forces us to think about
enabling the same piece of code to be leveraged - by large numbers of consumers
- in unforeseen context
6So what is a service?"
An approach to logic partitioning that maximizes
the re-use of application-neutral services.
- There really are just two types of
servicesMessage Producers - Act and add stuff to messages
- Message Consumers
- Take stuff from messages and act on it
- Messages flow through "pipelines"
- Pipeline is a sequence of services
- Messages grow and shrink on the way
- Technology Agnostic Interaction
7SOA Drivers
Desire for increased Reuse
Business Process Automation
Outsourcing
B2B Integration
8Constructing software in the web era (J2EE, .Net,
)
Client
View
Internet
request
response
b2b
EAI
App Server
ERP
Controller
CCI
CCI
CCI
Model
DB
ERP
CRM
CCI Client Communication Interface
9A Component now Becomes a Service Running Outside
the Consumer Boundaries
Consumer
10SOA is
Is not
- technology
- product
- protocol
- standard
11SOA is (Contd)
- SOA enables application functionality to be
provided and consumed as sets of services - Services can be invoked, published and discovered
- are abstracted away from the implementation using
a single, standards-based form of interface.
12Services vs. Components and Objects
- Similarities
- Like classes and components, services have one or
more interfaces - Publisher and consumer agree on the interface
- Differences
- SOA is about schemas, not object types
- SOA talks about messages, not method calls
- Relation
- Services are built using classes and components
13SOA Tenets PEACE
- Policy-based compatibility
- Explicitness of boundaries
- We should opt-in to make our code accessible
- Autonomy
- Independent deployment, versioning and security
- Contract Exchange
- Share contracts and schemas not classes or objects
Clemens VastersCTO, newtelligence AG
Don BoxArchitect, Microsoft Corp.
14Applications as Fiefdoms
- Application are like fiefdoms
- They protect their citizens
- State
- Data
- They dont trust foreigners -gt every alien is
subject to authentication and inspection - The gate (service interface) in the only entrance
into the fiefdom - Transactions and security implications
15From Components to (Web) Services
- Requires a client library
- Client / Server
- Extendable
- Stateless
- Fast
- Small to medium granularity
- Loose coupling via
- Message exchanges
- Policies
- Peer-to-peer
- Composable
- Context independent
- Some overhead
- Medium to coarse granularity
16Shift To A Service-Oriented Architecture
From
To
- Function oriented
- Build to last
- Prolonged development cycles
- Coordination oriented
- Build to change
- Incrementally built and deployed
- Application silos
- Tightly coupled
- Object oriented
- Known implementation
- Enterprise solutions
- Loosely coupled
- Message oriented
- Abstraction
Source Microsoft (Modified)
17Achieving Loose Coupling
- Loose coupling reduction of dependencies
between components that communicate with one
another in order to allow them to operate and
evolve independently - Requires
- Coarse-grained communication
- Support for message evolution
- Support for asynchronous messages
18Agenda
- Service Oriented Architecture (SOA)
- Enterprise Service Bus (ESB)
- ESB Architecture and Components
- ESB design patterns
- ESB implementations
- ESB case study
19What ESB?
- ESB MOM
- ESB combines MOM, Web services, transformation
and routing intelligence - Standards-based integration all WS standards
work toward providing secure, reliable messaging
workflows - 'Any to Any (A2A)
- Facilitate large-scale implementation of the SOA
principles with suitable service levels and
manageability.
20Why ESB?
Overcome Point-to-Point integration problems
- Inflexible
- Tightly-coupled(Location implementation aware)
- Synchronous (RPC, availability dependent)
- Fine-grained (Method level, development-time
binding) - Many connections and data formats
- Not scalable
- Extremely difficult to manage
21Hub and Spoke Pattern
Hub Spoke
Point to Point
Hub and spoke organizing principles 1. Dont
connect anything directly to anything 2.
Applications are autonomous and share no
databases directly 3. Knowledge of
interconnections removed from source and
targets and moved to the hub
Benefits 1. Operational simplification 2.
Adaptation to change 3. Reuse leverage
22Enterprise Service Bus (ESB)
- Enterprise messaging
- Reliable, secure interactions across the extended
enterprise - Distributed deployment architecture for high
scalability - XML as native data type for document exchange
- Intelligent routing of business transactions
- Itinerary, content and rule-based routing
- Transformation of business data between
applications - Service container end-points
- Web services, JCA and Application Server support
- Unified management and monitoring of entire
services network
23ESB Characteristics
- XML oriented
- Messaging
- Transformation
- Intelligent routing services
- Basic connectivity (Web Services, JCA Adapters,
JMS) - Service-oriented architecture
- Support for highly distributed deployments
- Manageability
- Robustness
- Scalability and Performance
- Security
- Breadth of connectivity
- Development / Deployment toolset
24ESB MOM
25Managing Web Services A New Vendor Taxonomy
Enterprise Service Bus
Enterprise Systems Management
Web Services Middleware
Development
Integration
Management
Web Services Broker
Multiprotocol ESB
Web Services Controller
Web Services Application Manager
- Fiorano Software's ESB
- IBM's Services Integration Bus (a future product)
- IONA Technologies' Artix
- Kenamea's Web Messaging Platform
- KnowNow's Event Routing Platform
- Microsoft's Indigo (a future product)
- PolarLake's JIntegrator
- Software AG's EntireX
- Sonic Software's ESB
- SpiritSoft's Spiritwave
- WebV2's Process Coupler
- Actional
- AmberPoint
- Oblix (Confluent)
- Hewlett-Packard/ Talking Blocks
- Infravio
- Itellix
- Computer Associates (Adjoin)
- Hewlett-Packard/ Openview
- Reactivity
- Service Integrity
- Westbridge
- Blue Titan's Network Director
- Cape Clear's 4 Server
- Digital Evolution's DE Management Server
- Flamenco Networks
- Primordial's Web Services Network
- Systinet's Web Services Bus
- webMethods' Fabric
26Aspects of the Enterprise Service Bus - IBM
WSDL Described Services
POLICY
Enterprise Service Bus
27IBMs Business Integration Reference Architecture
IBM Software Offerings
Model, design, development, test tools
WebSphere BI Modeler
WebSphere Studio
Common Runtime Infrastructure
Monitoring Services
WebSphere BI Monitor
ProcessServices
Community Integration Services
Application Services
Information Services
User Interaction Services
DB2 Information Integrator
WebSphere Business Integration Server
WebSphere Business Integration Connect
WebSphere Application Server
WebSphere Portal Server
Web Services Gateway
WebSphere BI Event/Message Broker
WebSphere MQ
Enterprise Service Bus
WebSphere BI Adapters
DB2 Information Integrator Classic
Data Access Services
Application Access Services
Enterprise applications
Enterprise data
28The SonicXQ Platform
EJB/J2EE
P4GL
SonicXQ
JDBC
SOAP
3rd-PartyJCAAdapters
WSDL
Java
HTTP
SonicMQ
MQSeries
HTTP-S
TIBCO
C/C
FTP/SMTP
ActiveX
JMS
29Agenda
- Service Oriented Architecture (SOA)
- Enterprise Service Bus (ESB)
- ESB Architecture and Components
- ESB design patterns
- ESB implementations
- ESB case study
30Is there any concrete architecture?
- Therere different views of ESB implementation
but general ideas are same. - Lets look at the implementation from few vendors.
31Cape Clear
- Cape Clear Business Integeration Suite
- Cape Clear Studio
- Cape Clear Manager
- Cape Clear Server
- Cape Clear Data Interchange
32IBM
- WebSphere MQ
- WebSphere Business Integration Message Broker
- WebSphere MQ Everyplace
- WebSphere Application Server
33SpiritSoft
- SpiritWare JMS Bus
- SpiritWare Integration Server
34Fiorano ESB
35Convergence of Ideas
- Built-in MOM
- QoS
- Multiple transport protocols (e.g. HTTP, SMTP,
JMS, MSMQ, etc) - Web services
- Common interfaces
- Ubiquitous
- Transformation services
- Interoperability
- Integration
- Intelligent routing
- Communication
36Agenda
- Service Oriented Architecture (SOA)
- Enterprise Service Bus (ESB)
- ESB Architecture and Components
- ESB design patterns
- ESB implementations
- ESB case study
37Agenda
- Service Oriented Architecture (SOA)
- Enterprise Service Bus (ESB)
- ESB Architecture and Components
- ESB design patterns
- ESB implementations
- ESB case study
38Case studies
- Supply Chain Management (SCM)
- International Investment Bank (IIB)
39SCM
- B2C situation
- Customers review catalogues, and place orders
online - Retailer system orders from warehouses
- B2B situation
- No stock available
- Replenishment order sent to manufacturers
40SCM ESB solution
- Broker variation pattern
- Encapsulate service invocations behind a single
request.
41SCM ESB solution cont.
- Choose appropriate product mapping based on
- Available products
- Product capabilities
42IIB
- Typical bank architecture
- Proprietary specific applications
- Complex and expensive to maintain legacy solutions
43IIB ESB solution
- ESB/JMS implementation
- SpiritWave Integration Server bridging among ESBs
44Summary
- SOA is an evolutionary thing
- No radically new thinking
- Consolidates good things
- The Message is the Message!
- Think "message" instead of "call"
- Asynchronous messaging
- Loose coupling
- ESB can help
- Integration Hub
- Service Invocation and Execution Framework
- Service Locator
45SOA is still far ahead of us
- We still need to shape what SOA means
- More standards are required
- BPM and SOA will complement each other
- We need lots of work to achieve and deliver the
SOA value and go beyond toy applications of SOA - At best we are capable of delivering web services
today - We need ESB!
- Standards convergence is now of primary
importance
46Recommendations
- Technology alone is not enough!
- Design with loose coupling in mind
- Decoupling is an investment in future change
- The important issues for interoperability of
autonomous computing system are around messaging
and defining the interactions - Schema, protocol, meta-data, and versioning are
essential to success
47Resources
- MSDN SOA Resources
- http//msdn.microsoft.com/architecture/soa
- Bishop, S., Hopkins, A., Milinski, S., Nott, C.,
Robinson, R., Adams, J., Verschueren, P.
Acharya, A. IBM Redbook 2004, Patterns
Implementing an SOA using an Enterprise Service
Bus. Available http//www.redbooks.ibm.com/redboo
ks/pdfs/sg246346.pdf - Craggs, S., 'Best-of-breeds ESBs Identifying
best-of-breed characteristics in Enterprise
Services Buses (ESBs)', EAI Industry Consortium,
June 2003 - Sonic Software 2004, 'Distributed
Service-Oriented Architecture Delivering
Standards-based Integration, the Advantages of an
ESB'.
48Q A ?