oracle soa suite 11g mediator vs. oracle service bus (osb)
DESCRIPTION
With Oracle SOA Suite 11g the old Oracle ESB become the Mediator component. With that only one "real" service bus resides, the Oracle Serivce Bus (OSB), which has been taken over from BEA (used to be Aqualogic Service Bus). Mediator and OSB have some overlapping funcitonality, like transformation, routing and filtering. The question automatically raised is of course when to use which component. This presentation shows the difference between the components, the functionality they provide and some typical use cases for both.TRANSCRIPT
Basel · Baden · Bern · Lausanne · Zürich · Düsseldorf · Frankfurt/M. · Freiburg i. Br. · Hamburg · München · Stuttgart · Wien
Oracle SOA Suite 11g Mediator vs Oracle Service Bus (OSB)
DOAG conference 2009
Guido Schmutz,Technology Manager / Partner Trivadis AG
19.11.2009, Nürnberg
Oracle SOA Suite 11g Mediator vs Oracle Service Bus (OSB) © 2009
Introduction
Guido Schmutz Working for Trivadis for more than 12 years Oracle Ace Director for Fusion Middleware and SOA Co-Author of different books Consultant, Trainer Software Architect for Java, Oracle, SOA
and EDA Member of Trivadis Architecture Board Trivadis Technology Manager
More than 20 years of software development experience
Contact: [email protected]
Oracle SOA Suite 11g Mediator vs Oracle Service Bus (OSB) © 2009
About Trivadis
3
Swiss IT consulting company
13 locations in Switzerland, Germany and Austria
~ 540 employees
Key figures 2008
Services for more than 650 clients in over 1‘600 projects
Over 150 service level agreements
More than 5‘000 training participants
Research and development budget:
CHF 6.0 Mio. / EUR 3.6 Mio.
Oracle SOA Suite 11g Mediator vs Oracle Service Bus (OSB) © 2009
Trivadis Integration Architecture Blueprint
Application and Information View
Integration View Application and Information View
Quell-System
Ziel-System
Integrationslösung
Q Q Z Z
Integration View
Collection/Distribution
Layer
Ziel:Connecting
Aufgabe:Informationen aus
Quellen zusammen stellen und an die Ziele
verteilen(Collector & Distributor)
CommunicationLayer
Ziel:Transporting
Aufgabe:Informationen von den
Quell- an die Zielsysteme übertragen
(Transporter)
Application and Information
View
Aufgabe:Informationen
bereitstellen und speichern oder
weiterverarbeiten
MediationLayer
Ziel:Forwarding
Aufgabe:Informationen
aufbereiten, filtern und weiterleiten(Mediator)
Informationsfluss
Oracle SOA Suite 11g Mediator vs Oracle Service Bus (OSB) © 2009
Trivadis Integration Architecture Blueprint
Integration View
Application Integration Domain Transport
Process
Goal:Orchestrating
Building Blocks:Job-SchedulerPortalWorkflow - Sequence, Parallel Split- Synchronization, Merge- Mulitple Choice- ...Event Processing- Filter- Aggr. over Window- Correlation (Join)- ...
Mediation
Goal:Forwarding
Building Blocks:Canonical DatamodelMessage Endpoint- Event-Driven Cons.- Polling ConsumerMessage Construction- ChannelMessage Routing- Content-Based- Dynamic- Splitter / AggregatorMessage Transform.- Filter- Enricher
Collection/Distribution
Goal:Connecting
Building Blocks:Adapter / ConnectorGatewayMapperData MapperDAO
Communication
Goal:Transporting
Building Blocks:Transport Protocol- FTP- HTTP- JMS- SQL*Net- ...Transport Format- EDIFACT- HL7- BAPI- IDOC- ...
Application-Transaction / XA-Transaction / Atomic Transaction
Security / Management
Monitoring / BAM / Quality of Service
Application and Information View
Transactional Information
Storage
Applications
Non-Transactional Information
Storage
Governance
Assembly / Deployment
Oracle SOA Suite 11g Mediator vs Oracle Service Bus (OSB) © 2009
Agenda
Data are always part of the game.
History
Oracle SOA Suite 11g
Which component to use when?
Architecture
Summary
Oracle SOA Suite 11g Mediator vs Oracle Service Bus (OSB) © 2009
History of the Oracle SOA platform
Oracle Service Bus
Oracle ESB
Oracle BPELSource: Oracle
Oracle SOA Suite 11g Mediator vs Oracle Service Bus (OSB) © 2009
Positioning products of Oracle SOA Suite 10g
BPEL Process Manager BPEL Process Manager is the primary composition, orchestration and process engine
in the SOA Suite
Oracle Enterprise Service Bus (OESB) old „ESB“ –OESB was the primary ESB prior to BEA aquisition. After acquisition of BEA its role is to provide mediation services between SOA Suite
components In 11g this will be known as the Mediator and acts as a component in an SCA assembly OESB is the only ESB available if running on a non-Weblogic server
Oracle Service Bus (OSB) Previously known as BEA Aqualogic Service Bus (ALSB) Oracle’s primary service bus the preferred platform for service virtualization and interactions external to the SOA
Suite Currently OSB is only available on WebLogic server but the intention is provide it on
other platforms as well in the future OSB is the foundation of service bus functionality moving forward Can be used independently, without SOA Suite
Oracle SOA Suite 11g Mediator vs Oracle Service Bus (OSB) © 2009
Agenda
Data are always part of the game.
History
Oracle SOA Suite 11g
Which component to use when?
Architecture
Summary
Oracle SOA Suite 11g Mediator vs Oracle Service Bus (OSB) © 2009
From Oracle SOA Suite 10g to 11g
Oracle SOA Suite 11g Mediator vs Oracle Service Bus (OSB) © 2009
What is new with Oracle SOA Suite 11g
Most importantly SOA Suite 11g sees the introduction of a common service infrastructure through the Service Component Architecture (SCA) Standard
This way the individual products of 10g become so called service engine within SCA With the benefit of a much better integration Mostly beneficial for the developer, as he can now develop and deploy from a single
development environment
The Oracle Service Bus (prev. BEA) is not yet available in a version 11g But version 3.1 can be combined with SOA Suite 11g with no problems
But when should we use which component?
How does a reasonable combination of Oracle SOA Suite 11g and Oracle Service Bus look like?
Oracle SOA Suite 11g Mediator vs Oracle Service Bus (OSB) © 2009
Agenda
Data are always part of the game.
History
Oracle SOA Suite 11g
Which component to use when?
Architecture
Summary
Oracle SOA Suite 11g Mediator vs Oracle Service Bus (OSB) © 2009
What do the different component offer?
BPEL
OSB
Mediator 11gOESB
Message Transformation (XSLT)
Human Workflow
Process State/Long running
Message Filter
Adapter Framework
Decision Service
Process Orchestration
XQuery Transformation
Value Mapping
Cross-Reference Tables (XREFs)
Split-Join
XA SupportJDeveloper
Eclipse IDEWeb Console
SLA Dashboard
Resubmit
Message Ordering
Message Throttling
Service Pooling (Load Balancing)
Instance Monitoring
Security
Message Validation
Reliable Messaging
Asynchronous Messaging
Service Types and Transport
Compensation
Parallel Processing
Graphical FlowDesign
Sensors
Message Routing
Oracle SOA Suite 11g Mediator vs Oracle Service Bus (OSB) © 2009
BPEL vs. OSB/Mediator
BPEL Primarily for stateful and long
running processes Orchestrating service calls Implementation of composite
services Integration of Rules Engine and
Human Workflow Instance Monitoring
OSB/Mediator Stateless Messaging Value Mapping and Cross-Reference
Tables for supporting canonical datamodels
Implementation of the VETRO pattern Validate Enrich Transform Route Operate
Oracle SOA Suite 11g Mediator vs Oracle Service Bus (OSB) © 2009
Mediator vs. Oracle Service Bus (OSB)
Mediator The “tiny”, “light weight” service bus Limited to simple Mediator functionality
for the implementation of the VETRO pattern Validate Enrich Transform Route Operate
Value Mapping and Cross-Reference Table for supporting the canonical datamodel
Developlent through JDeveloper IDE Event Delivery Network for Publish-
Subscribe semantic Message Transformation with XSLT Can be used and deployed as a SCA
component
Oracle Service Bus (OSB) The large, powerful service bus Extended functionality important for
enterprise-wide Integration, like Message Throttling Service Pooling Reliable Messaging
Development through Eclipse IDE or Web Console
Message Transformation over XQuery and XSLT
OSB specific deployment Not yet integrated with SCA
Oracle SOA Suite 11g Mediator vs Oracle Service Bus (OSB) © 2009
OSB: Service Pooling
Service Clients
Endpoint URL 1
Endpoint URL 3
Endpoint URL 2Proxy Svc
Client 1
OSB Cluster
Bus Svc
If a URI is non-responsive, take the URI out of the poolBring the URI back in the pool when it is back-up
Routing to active endpoints, service load balancing Option for the system to automatically take non-responsive URIs out of the pool,
and put them back in as they become responsive
Alerts will be generated when the status of the endpoint changes from Up Down and vice versa
Oracle SOA Suite 11g Mediator vs Oracle Service Bus (OSB) © 2009
OSB: Split-Join
Incoming payload is split into multiple service invocations
Multiple service responses are aggregated into single payload
Parallel action results into significant performance improvement
Split ForEach
ProcessOrder
AquaLogic Service Bus
JoinProcessOrder
15
Order 1 Order 2 Order 3
SPLITResponse
1Response
2Response
3
JOIN
Request Payload
Response Payload
Oracle SOA Suite 11g Mediator vs Oracle Service Bus (OSB) © 2009
OSB or Mediator: Asynchronous Messaging
Synchronous to Asynchronous protocol transformation
Notation taken from the book: Integration Architecture Blueprints
Integration View Application andInformation View
Integration Domain TransportApplication
Process
Mediation Collection/Distribution Communication
SOAPSOAP Adapter
Mediator
Application
Transformer
BPEL
receive
invokeJMS
JMS Adapter CreditCard
request
responseJMS
synchronous
asynchronous
Oracle SOA Suite 11g Mediator vs Oracle Service Bus (OSB) © 2009
BPEL: Composite Services
Composite services can be easily and declaratively combined with BPEL
Integration View
Integration Domain
ESB
Application andInformation View
TransportApplication
Process Mediation Collection/Distribution Communication
SOAPSOAP Adapter
SOAPSOAP Adapter
HTTPHTTP Adapter
BPEL
receive
invoke
invoke
invoke
RMI/IIOPEJB Adapter EJB Session Bean
Application
Basic Service
Basic ServiceProtocol Transformation
Oracle SOA Suite 11g Mediator vs Oracle Service Bus (OSB) © 2009
OSB or Mediator: Transformation and canonical datamodel
Distribution Layer
Mediation Layer
Collection Layer
Adapter Router Adapter
Q Q Z Z
Collector Mediator Distributor
Adapter
Distributor
Adapter
Collector
Q Q Z Z
Router
Message Translator
Message Translator
Message Translator
Message Translator
Distribution Layer
Mediation Layer
Collection Layer
Adapter
Router
Adapter
C
MessageTranslator
Message Translator
Q Q C C Z Z
Collector Mediator Distributor
Adapter
Distributor
Message TranslatorAdapter
Collector
MessageTranslator
Q Q Z ZCC
ProcessLayer
Mediation Layer
Distribution Layer
Mediation Layer
Collection Layer
Adapter
Router
Adapter
QC
MapperMessageTranslator
Message Translator
Mapper
Q QC C
Z Z Z
Collector Mediator Distributor
AdapterMapper
Distributor
Message TranslatorAdapter Mapper
Collector
MessageTranslator
Q Q Q Z Z Z
Router
C
MediatorOrchestrator
C
ProcessEngine
Oracle SOA Suite 11g Mediator vs Oracle Service Bus (OSB) © 2009
Agenda
Data are always part of the game.
History
Oracle SOA Suite 11g
Which component to use when?
Architecture
Summary
Oracle SOA Suite 11g Mediator vs Oracle Service Bus (OSB) © 2009
SOA Architecture
SOA Domäne 2
SAP System (SAP)
Direct Connection, Broker, Router (ESB)
Population and Synchronization (Bulk ESB)
Oracle
Database FTP
CSV
SAP Bus
SAP
SAP SOAP
Transformation
RoutingEnrichment
ESB
SQL Server
Database
Exposed Direct Connection (Exposed-ESB)
Partner Application(PA)
Partner Application(PA)
SOAP FTP
Rule Engine
SOAP
BackendApplication
(BA)
XLS
CSV
CSV
CSV
Native
FilterValidation
Native
Value Mapping
SMTP
Email Server
Mailhost
POP3/IMAP
Rules
FTP Server
FT
P
ApplicationOracle
Ba
sic
Se
rvic
e
JMS
JMS
SOA Domäne 1
Application
Oracle
SOAP
Ru
les
BP
EL
Hu
ma
n
Inte
ract
ion
Mediator (OESB)
OSB
Oracle Data Integrator (ODI)
OSB
Oracle SOA Suite 11g Mediator vs Oracle Service Bus (OSB) © 2009
(Business)process starts a traditional ETL task
Integration View Application and Information View
Integration Domain TransportApplication
Process Mediation Collection/Distribution Communication
TCP/IPSQL
SQL*NetSQL
DB2
Oracle
Batch Population
Load / Apply
Transform / Process
Extract / Gahter
BPEL
receive
receive
invoke
SOAPSOAP Adapter Application
ESB
invoke SQL*NetDatabase Adapter
Endpoint
Endpoint
ESB
Endpoint
SOAP
SOAP Adapter
SOAP Adapter
SOAP
SOAP Adapter
SOAP AdapterEndpoint
Oracle SOA Suite 11g Mediator vs Oracle Service Bus (OSB) © 2009
Federated Service Bus Pattern
Application level multiple application buses per domain, one for each application
Domain level multiple domain buses, one for each domain
Corporate (enterprise) level one corporate bus for the enterprise
External level one external gateway
for the enterprise
Source: http://soa-eda.blogspot.com/2009/03/federared-service-bus-infrastructure.html
Mediator (OESB)
Mediator (OESB)
OSB
OSB
Oracle SOA Suite 11g Mediator vs Oracle Service Bus (OSB) © 2009
Multiple SOA Domains linked by Enterprise-level ESB
e.g. CEP
Event Event
Data & ServicesReuse Domain
Data & ServicesReuse Domain
Data & ServicesReuse Domain
publish publish
subscribe subscribe
Decoupling borders
Co
mm
and
and
Co
ntro
l: SO
A
Plan, Run, Measure and Optimize: Business Process Chain EDA
Service
Oracle SOA Suite 11g Mediator vs Oracle Service Bus (OSB) © 2009
Agenda
Data are always part of the game.
History
Oracle SOA Suite 11g
Which component to use when?
Architecture
Summary
Oracle SOA Suite 11g Mediator vs Oracle Service Bus (OSB) © 2009
Summary
Both Mediator 11g and Oracle Service Bus implements ESB functionally well
The decision which service bus to use, can be taken Based on the required and supported features Based on the information, if the SOA Suite 11g with all the other components
like BPEL, Rules, Human Workflow, etc. are needed as well or if only a standalone ESB is necessary
If other components of SOA Suite 11g are needed => Mediator more likely
If standalone ESB is needed => Oracle Service Bus more likely
In a large and complex SOA it makes sense to combine the two via the Federated Bus pattern i.e. using both the Mediator and Oracle Service Bus
Basel · Baden · Bern · Lausanne · Zürich · Düsseldorf · Frankfurt/M. · Freiburg i. Br. · Hamburg · München · Stuttgart · Wien
Thank you!
DOAG conference 2009
Guido Schmutz,Technology Manager / Partner Trivadis AG
19.11.2009, Nürnberg