Oracle SOA Suite 11g Mediator vs. Oracle Service Bus (OSB)


Published on

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.

Published in: Technology, Business
No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • Hier könnte eine Kopfzeile stehen 29.11.09 Hier könnte eine Fusszeile stehen Ihr müsst nicht alle Punkt aufzählen. Vielleicht der Hinweis, CH-Unternehmen mit 13 Standorten in D-A-CH, Anzahl Mitarbeiter und das wir finanziell unabhängig sind.
  • Upgrade = fully automated Migration = mostly manual
  • Oracle SOA Suite 11g Mediator vs. Oracle Service Bus (OSB)

    1. 1. 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
    2. 2. Introduction <ul><li>Guido Schmutz </li></ul><ul><ul><li>Working for Trivadis for more than 12 years </li></ul></ul><ul><ul><li>Oracle Ace Director for Fusion Middleware and SOA </li></ul></ul><ul><ul><li>Co-Author of different books </li></ul></ul><ul><ul><li>Consultant, Trainer Software Architect for Java, Oracle, SOA and EDA </li></ul></ul><ul><ul><li>Member of Trivadis Architecture Board </li></ul></ul><ul><ul><li>Trivadis Technology Manager </li></ul></ul><ul><ul><li>More than 20 years of software development experience </li></ul></ul><ul><ul><li>Contact: </li></ul></ul>
    3. 3. About Trivadis <ul><li>Swiss IT consulting company </li></ul><ul><ul><li>13 locations in Switzerland, Germany and Austria </li></ul></ul><ul><ul><li>~ 540 employees </li></ul></ul><ul><li>Key figures 2008 </li></ul><ul><ul><li>Services for more than 650 clients in over 1‘600 projects </li></ul></ul><ul><ul><li>Over 150 service level agreements </li></ul></ul><ul><ul><li>More than 5‘000 training participants </li></ul></ul><ul><ul><li>Research and development budget: CHF 6.0 Mio. / EUR 3.6 Mio. </li></ul></ul>
    4. 4. Trivadis Integration Architecture Blueprint
    5. 5. Trivadis Integration Architecture Blueprint
    6. 6. Agenda <ul><li>History </li></ul><ul><li>Oracle SOA Suite 11g </li></ul><ul><li>Which component to use when? </li></ul><ul><li>Architecture </li></ul><ul><li>Summary </li></ul>Data are always part of the game.
    7. 7. History of the Oracle SOA platform Oracle Service Bus Oracle ESB Oracle BPEL Source: Oracle
    8. 8. Positioning products of Oracle SOA Suite 10g <ul><li>BPEL Process Manager </li></ul><ul><ul><li>BPEL Process Manager is the primary composition, orchestration and process engine in the SOA Suite </li></ul></ul><ul><li>Oracle Enterprise Service Bus (OESB) </li></ul><ul><ul><li>old „ESB“ –OESB was the primary ESB prior to BEA aquisition. </li></ul></ul><ul><ul><li>After acquisition of BEA its role is to provide mediation services between SOA Suite components </li></ul></ul><ul><ul><li>In 11g this will be known as the Mediator and acts as a component in an SCA assembly </li></ul></ul><ul><ul><li>OESB is the only ESB available if running on a non-Weblogic server </li></ul></ul><ul><li>Oracle Service Bus (OSB) </li></ul><ul><ul><li>Previously known as BEA Aqualogic Service Bus (ALSB) </li></ul></ul><ul><ul><li>Oracle’s primary service bus </li></ul></ul><ul><ul><li>the preferred platform for service virtualization and interactions external to the SOA Suite </li></ul></ul><ul><ul><li>Currently OSB is only available on WebLogic server but the intention is provide it on other platforms as well in the future </li></ul></ul><ul><ul><li>OSB is the foundation of service bus functionality moving forward </li></ul></ul><ul><ul><li>Can be used independently, without SOA Suite </li></ul></ul>
    9. 9. Agenda <ul><li>History </li></ul><ul><li>Oracle SOA Suite 11g </li></ul><ul><li>Which component to use when? </li></ul><ul><li>Architecture </li></ul><ul><li>Summary </li></ul>Data are always part of the game.
    10. 10. From Oracle SOA Suite 10g to 11g
    11. 11. What is new with Oracle SOA Suite 11g <ul><li>Most importantly SOA Suite 11g sees the introduction of a common service infrastructure </li></ul><ul><ul><li>through the Service Component Architecture (SCA) Standard </li></ul></ul><ul><li>This way the individual products of 10g become so called service engine within SCA </li></ul><ul><ul><li>With the benefit of a much better integration </li></ul></ul><ul><ul><li>Mostly beneficial for the developer, as he can now develop and deploy from a single development environment </li></ul></ul><ul><li>The Oracle Service Bus (prev. BEA) is not yet available in a version 11g </li></ul><ul><ul><li>But version 3.1 can be combined with SOA Suite 11g with no problems </li></ul></ul><ul><li>But when should we use which component? </li></ul><ul><li>How does a reasonable combination of Oracle SOA Suite 11g and Oracle Service Bus look like? </li></ul>
    12. 12. Agenda <ul><li>History </li></ul><ul><li>Oracle SOA Suite 11g </li></ul><ul><li>Which component to use when? </li></ul><ul><li>Architecture </li></ul><ul><li>Summary </li></ul>Data are always part of the game.
    13. 13. What do the different component offer? BPEL OSB Mediator 11g OESB 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 Support JDeveloper Eclipse IDE Web 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 Flow Design Sensors Message Routing
    14. 14. BPEL vs. OSB/Mediator <ul><li>BPEL </li></ul><ul><ul><li>Primarily for stateful and long running processes </li></ul></ul><ul><ul><li>Orchestrating service calls </li></ul></ul><ul><ul><li>Implementation of composite services </li></ul></ul><ul><ul><li>Integration of Rules Engine and Human Workflow </li></ul></ul><ul><ul><li>Instance Monitoring </li></ul></ul><ul><li>OSB/Mediator </li></ul><ul><ul><li>Stateless Messaging </li></ul></ul><ul><ul><li>Value Mapping and Cross-Reference Tables for supporting canonical datamodels </li></ul></ul><ul><ul><li>Implementation of the VETRO pattern </li></ul></ul><ul><ul><ul><li>V alidate </li></ul></ul></ul><ul><ul><ul><li>E nrich </li></ul></ul></ul><ul><ul><ul><li>T ransform </li></ul></ul></ul><ul><ul><ul><li>R oute </li></ul></ul></ul><ul><ul><ul><li>O perate </li></ul></ul></ul>
    15. 15. Mediator vs. Oracle Service Bus (OSB) <ul><li>Mediator </li></ul><ul><ul><li>The “tiny”, “light weight” service bus </li></ul></ul><ul><ul><li>Limited to simple Mediator functionality for the implementation of the VETRO pattern </li></ul></ul><ul><ul><ul><li>V alidate </li></ul></ul></ul><ul><ul><ul><li>E nrich </li></ul></ul></ul><ul><ul><ul><li>T ransform </li></ul></ul></ul><ul><ul><ul><li>R oute </li></ul></ul></ul><ul><ul><ul><li>O perate </li></ul></ul></ul><ul><ul><li>Value Mapping and Cross-Reference Table for supporting the canonical datamodel </li></ul></ul><ul><ul><li>Developlent through JDeveloper IDE </li></ul></ul><ul><ul><li>Event Delivery Network for Publish-Subscribe semantic </li></ul></ul><ul><ul><li>Message Transformation with XSLT </li></ul></ul><ul><ul><li>Can be used and deployed as a SCA component </li></ul></ul><ul><li>Oracle Service Bus (OSB) </li></ul><ul><ul><li>The large, powerful service bus </li></ul></ul><ul><ul><li>Extended functionality important for enterprise-wide Integration, like </li></ul></ul><ul><ul><ul><li>Message Throttling </li></ul></ul></ul><ul><ul><ul><li>Service Pooling </li></ul></ul></ul><ul><ul><ul><li>Reliable Messaging </li></ul></ul></ul><ul><ul><li>Development through Eclipse IDE or Web Console </li></ul></ul><ul><ul><li>Message Transformation over XQuery and XSLT </li></ul></ul><ul><ul><li>OSB specific deployment </li></ul></ul><ul><ul><li>Not yet integrated with SCA </li></ul></ul>
    16. 16. OSB: Service Pooling <ul><li>Routing to active endpoints, service load balancing </li></ul><ul><li>Option for the system to automatically take non-responsive URIs out of the pool, and put them back in as they become responsive </li></ul><ul><li>Alerts will be generated when the status of the endpoint changes from Up  Down and vice versa </li></ul>Service Clients Endpoint URL 1 Endpoint URL 3 Endpoint URL 2 Proxy Svc Client 1 OSB Cluster Bus Svc If a URI is non-responsive, take the URI out of the pool Bring the URI back in the pool when it is back-up
    17. 17. OSB: Split-Join <ul><li>Incoming payload is split into multiple service invocations </li></ul><ul><li>Multiple service responses are aggregated into single payload </li></ul><ul><li>Parallel action results into significant performance improvement </li></ul>Split ForEach ProcessOrder AquaLogic Service Bus Join ProcessOrder 15 Order 1 Order 2 Order 3 SPLIT Response 1 Response 2 Response 3 JOIN Request Payload Response Payload
    18. 18. OSB or Mediator: Asynchronous Messaging <ul><li>Synchronous to Asynchronous protocol transformation </li></ul><ul><li>Notation taken from the book: Integration Architecture Blueprints </li></ul>synchronous asynchronous
    19. 19. BPEL: Composite Services <ul><li>Composite services can be easily and declaratively combined with BPEL </li></ul>
    20. 20. OSB or Mediator: Transformation and canonical datamodel
    21. 21. Agenda <ul><li>History </li></ul><ul><li>Oracle SOA Suite 11g </li></ul><ul><li>Which component to use when? </li></ul><ul><li>Architecture </li></ul><ul><li>Summary </li></ul>Data are always part of the game.
    22. 22. SOA Architecture Mediator (OESB) OSB Oracle Data Integrator (ODI) OSB
    23. 23. (Business)process starts a traditional ETL task
    24. 24. Federated Service Bus Pattern <ul><li>Application level </li></ul><ul><ul><li>multiple application buses per domain, one for each application </li></ul></ul><ul><li>Domain level </li></ul><ul><ul><li>multiple domain buses, one for each domain </li></ul></ul><ul><li>Corporate (enterprise) level </li></ul><ul><ul><li>one corporate bus for the enterprise </li></ul></ul><ul><li>External level </li></ul><ul><ul><li>one external gateway for the enterprise </li></ul></ul>Source: Mediator (OESB) Mediator (OESB) OSB OSB
    25. 25. Multiple SOA Domains linked by Enterprise-level ESB
    26. 26. Agenda <ul><li>History </li></ul><ul><li>Oracle SOA Suite 11g </li></ul><ul><li>Which component to use when? </li></ul><ul><li>Architecture </li></ul><ul><li>Summary </li></ul>Data are always part of the game.
    27. 27. Summary <ul><li>Both Mediator 11g and Oracle Service Bus implements ESB functionally well </li></ul><ul><li>The decision which service bus to use, can be taken </li></ul><ul><ul><li>Based on the required and supported features </li></ul></ul><ul><ul><li>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 </li></ul></ul><ul><li>If other components of SOA Suite 11g are needed => Mediator more likely </li></ul><ul><li>If standalone ESB is needed => Oracle Service Bus more likely </li></ul><ul><li>In a large and complex SOA it makes sense to combine the two via the Federated Bus pattern </li></ul><ul><ul><li>i.e. using both the Mediator and Oracle Service Bus </li></ul></ul>
    28. 28. Thank you! DOAG conference 2009 Guido Schmutz, Technology Manager / Partner Trivadis AG 19.11.2009, Nürnberg