Oracle SOA Suite 11g Mediator vs Oracle Service Bus (OSB) DOAG Konferenz 2009 Guido Schmutz, Technology Manager / Partner Trivadis AG 19.11.2009, Nürnberg Basel · Baden · Bern · Lausanne · Zürich · Düsseldorf · Frankfurt/M. · Freiburg i. Br. · Hamburg · München · Stuttgart · Wien 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 Trivadis Facts & Figures Über 540 Mitarbeiter an 13 Standorten im Raum D-A-CH Finanziell unabhängig und nachhaltig profitabel Kennzahlen 2008 Konsolidierter Konzernumsatz: CHF 108 Mio. / EUR 68 Mio. Bei über 650 Dienstleistungskunden in über 1'600 Projekten aktiv Über 150 Service Level Agreements Über 5'000 Schulungsteilnehmer Forschungs- und Entwicklungsbudget: CHF 6.0 Mio. / EUR 3.6 Mio. Oracle SOA Suite 11g Mediator vs Oracle Service Bus (OSB) 3 © 2009 Trivadis - das Besondere Kundenindividuelle Lösungskompetenz und Herstellerunabhängigkeit Technologiekompetenz bietet fundierte Methodenkenntnisse und eigenentwickelte Vorgehensweisen garantiert wiederholbare Qualität und Realisierungssicherheit hat über 15 Jahre Expertise in Oracle, Microsoft, IBM & Open Source verfügt über ein eigenes Technology Center und setzt auf technologische Exzellenz Lösungs- und Integrations-Know-how hat eine breite, branchenübergreifende Kundenbasis und jährlich über 1600 Projekte verbindet technologisches Spezialistenwissen mit dem Verständnis für die Business-Spezifika des Kunden Begleitung über den gesamten IT-ProjektLifecycle begleitet den gesamten IT-Projekt-Lifecycle mit einem modularen Dienstleistungsportfolio bietet für jeden „Reifegrad“ die passende Dienstleistungs- und Lösungskombination Oracle SOA Suite 11g Mediator vs Oracle Service Bus (OSB) 4 © 2009 Agenda Geschichte Oracle SOA Suite 11g Welche Komponente, wann einsetzen? Architektur Data are always part of the game. Oracle SOA Suite 11g Mediator vs Oracle Service Bus (OSB) Fazit © 2009 Geschichte der Oracle SOA Plattform Oracle ESB Oracle Service Bus Oracle BPEL Source: Oracle Oracle SOA Suite 11g Mediator vs Oracle Service Bus (OSB) © 2009 Positionierung Produkte in Oracle SOA Suite 10g BPEL Process Manager ist und bleibt die primäre Service-Komposition, -Orchestrierung und -Process Engine Oracle Enterprise Service Bus (OESB) alter „ESB“ – Der OESB war der primäre ESB vor dem BEA Zukauf. Nach dem Kauf von BEA wurde er auf das Verfügung stellen von MediatorServices zwischen verschiedenen SOA Suite Komponenten zurückgestuft In 11g wird der OESB dabei auch zur Mediator Komponente umbenannt und stellt eine mögliche Komponente innerhalb eines SCA Composite dar Oracle Service Bus (OSB) früher bekannt unter BEA Aqualogic Service Bus (ALSB) neu Oracle’s primärer Service Bus bevorzugte Plattform für die Virtualisierung von Services und Interaktionen mit Services, die extern zur SOA Suite sind Zurzeit nur unter BEA Weblogic verfügbar Basis für die Weiterentwicklung der Service Bus Funktionalität kann auch losgelöst, ohne SOA Suite Umgebung eingesetzt werden Oracle SOA Suite 11g Mediator vs Oracle Service Bus (OSB) © 2009 Agenda Geschichte Oracle SOA Suite 11g Welche Komponente, wann einsetzen? Architektur Data are always part of the game. Oracle SOA Suite 11g Mediator vs Oracle Service Bus (OSB) Fazit © 2009 Von der Oracle SOA Suite 10g zur 11g Oracle SOA Suite 11g Mediator vs Oracle Service Bus (OSB) © 2009 Was ist neu mit Oracle SOA Suite 11g Eine wesentliche Neuerung von SOA Suite 11g ist die Einführung einer gemeinsamen Service-Infrastruktur Verwaltet über den Service Component Architecture (SCA) Standard Dadurch werden die einzelnen Produkte von 10g zu so genannten Service-Engines innerhalb von SCA. Dies äussert sich in einer wesentlich besseren Integration Macht sich insbesondere für den Entwickler bezahlt, da nun alles aus einer Umgebung entwickelt und deployed werden kann. Der Oracle Service Bus (ex BEA) ist zurzeit noch nicht in der Version 11g verfügbar Version 3.1 lässt sich aber problemlos mit der SOA Suite 11g kombinieren Wann aber soll welche Komponente eingesetzt werden? wie sieht eine sinnvolle Kombination von Oracle SOA Suite 11g und Oracle Service Bus aus? Oracle SOA Suite 11g Mediator vs Oracle Service Bus (OSB) © 2009 Agenda Geschichte Oracle SOA Suite 11g Welche Komponente, wann einsetzen? Architektur Data are always part of the game. Oracle SOA Suite 11g Mediator vs Oracle Service Bus (OSB) Fazit © 2009 Welche Komponente für was einsetzen? Cross-Reference Tables (XREFs) Process State/ Long running Process Orchestration Human Workflow Decision Service BPEL Compensation Mediator 11g OESB Resubmit Value Mapping Instance Monitoring JDeveloper XA Support Message Filter Message Ordering Message Validation Asynchronous Messaging Message Transformation (XSLT) Adapter Framework Security Eclipse IDE Web Console Message Routing Parallel Processing Sensors Reliable Messaging Graphical Flow Design Service Types and Transport Service Pooling (Load Balancing) XQuery Transformation Message Throttling Oracle SOA Suite 11g Mediator vs Oracle Service Bus (OSB) OSB Split-Join SLA Dashboard © 2009 BPEL vs. OSB/Mediator BPEL Primär für Stateful und langlaufende Prozesse Orchestrierung von Serviceaufrufen Implementation von Composite Services Integration von Rules Engine und Human Workflow Instance Monitoring Oracle SOA Suite 11g Mediator vs Oracle Service Bus (OSB) OSB/Mediator Stateless Messaging Value Mapping und Cross-Reference Tables für kanonische Datenmodelle Implementation des VETRO Pattern Validate Enrich Transform Route Operate © 2009 Mediator vs. Oracle Service Bus (OSB) Mediator Der kleine Service Bus Beschränkt sich auf simple Mediator Funktionalität für Umsetzung des VETRO-Pattern Validate Enrich Transform Route Operate Value Mapping und Cross-Reference Table für Unterstützung von kanonischem Datenmodell Entwicklung über JDeveloper IDE Event Delivery Network für PublishSubscribe Semantik Message Transformation mit XSLT Als SCA Komponente in SCAComposite nutzbar und deploybar Oracle SOA Suite 11g Mediator vs Oracle Service Bus (OSB) Oracle Service Bus (OSB) Der grosse, mächtige Service Bus Erweitere Funktionalität für unternehmensweite Integration Message Throttling Service Pooling Reliable Messaging Entwicklung über Eclipse IDE oder Web Console Message Transformation über XQuery und XSLT OSB spezifisches Deployment © 2009 OSB: Service Pooling 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 Service Clients Endpoint URL 1 Client 1 Proxy Svc Bus Svc Endpoint URL 2 Endpoint URL 3 OSB Cluster 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 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 Response Payload Request Payload JOIN AquaLogic Service Bus ProcessOrder Split ForEach 15 Join ProcessOrder SPLIT Order 1 Order 2 Oracle SOA Suite 11g Mediator vs Oracle Service Bus (OSB) Order 3 Response Response Response 1 2 3 © 2009 OSB oder Mediator: Asynchronous Messaging Synchron zu Asynchron Transformation Integration View Application Integration Domain Mediation Collection/Distribution SOAP Adapter BPEL Application and Information View Transport Communication SOAP Application JMS Request Queue receive Process invoke Mediator Transformer receive Oracle SOA Suite 11g Mediator vs Oracle Service Bus (OSB) Credit Card JMS Adapter JMS Reply Queue © 2009 BPEL: Composite Services Mit BPEL können Composite Service auf deklarative Art und Weise zusammengestellt werden Integration View Application Integration Domain Process BPEL Mediation Collection/Distribution Application and Information View Transport Communication ESB receive SOAP Adapter SOAP Application invoke SOAP Adapter SOAP Basic Service HTTP Adapter HTTP Basic Service EJB Adapter RMI/IIOP EJB Session Bean invoke Protocol Transformation invoke Oracle SOA Suite 11g Mediator vs Oracle Service Bus (OSB) © 2009 OSB oder Mediator: Transformation und kanonisches Datenmodell Collection Layer Mediation Layer Distribution Layer Collection Layer Collector Mediator Distributor Collector Adapter Router Message Translator Adapter Adapter Distributor Collector Adapter Router Message Translator Q Q Z Z Q Q Z Z Mediation Layer Collector Mediator Adapter Mapper Q Q Q Q Message Translator Q Q Message Translator Process Engine C C Z Z C Z Z Distribution Layer Mediator Distributor Message Translator C Mapper C Adapter Distributor Q Oracle SOA Suite 11g Mediator vs Oracle Service Bus (OSB) Adapter C Mediation Layer Router Message Translator Q Distributor Message Translator Message Translator C Adapter C Orchestrator C Q Q Process Layer Router Mapper Distributor Message Translator Adapter Adapter Collector Adapter Mediator Router Message Translator Collection Layer Distribution Layer Message Translator Message Translator Collector Mediation Layer Mapper Adapter Z Z Z Z Z Z C © 2009 Agenda Geschichte Oracle SOA Suite 11g Welche Komponente, wann einsetzen? Architektur Data are always part of the game. Oracle SOA Suite 11g Mediator vs Oracle Service Bus (OSB) Fazit © 2009 SOA Architecture Partner Application (PA) Partner Application (PA) SAP System (SAP) SAP FTP Server SOAP FTP OSB Mailhost SAP Bus Exposed Direct Connection (Exposed-ESB) FTP Email Server Native SAP SOAP SMTP POP3/IMAP Native Direct Connection, Broker, Router (ESB) Database Database SOAP FTP Validation Filter Transformation Value Mapping Enrichment Routing JMS CSV CSV OSB SOAP Rule Engine SOA Domäne 1 SOA Domäne 2 JMS ESB Application Oracle Population and Synchronization (Bulk ESB) Oracle SOA Suite 11g Mediator vs Oracle Service Bus (OSB) Basic Service CSV Human Interaction CSV Rules SQL Server BPEL Oracle Mediator (OESB) Backend Application (BA) Rules XLS Application Oracle Oracle Data Integrator (ODI) © 2009 (Geschäfts-)Prozess startet herkömmlichen ETL Task Integration View Application Process BPEL Application and Information View Integration Domain Mediation Transport Collection/Distribution Communication SOAP ESB receive Endpoint SOAP Adapter invoke Endpoint SOAP Adapter Application SOAP SOAP Adapter Batch Population Extract / Gahter SQL TCP/IP SQL SQL*Net DB2 Transform / Process Load / Apply SOAP Adapter SOAP ESB receive Endpoint SOAP Adapter invoke Endpoint Database Adapter Oracle SOA Suite 11g Mediator vs Oracle Service Bus (OSB) SQL*Net Oracle © 2009 Federated Service Bus Pattern Application Level ein Service Bus je Applikation, mehrere innerhalb einer Domäne Domain Level OSB ein Service Bus pro Domäne Enterprise Level OSB ein Service Bus für das gesamte Unternehmen External Level ein Gateway für das ganze Unternehmen zu den externen Services Mediator (OESB) Mediator (OESB) Source: http://soa-eda.blogspot.com/2009/03/federared-service-bus-infrastructure.html Oracle SOA Suite 11g Mediator vs Oracle Service Bus (OSB) © 2009 SOA Domänen über unternehmensweiten ESB verbinden Plan, Run, Measure and Optimize: Business Process Chain EDA Event Event subscribe Command and Control: SOA publish subscribe publish e.g. CEP Service Data & Services Reuse Domain Data & Services Reuse Domain Data & Services Reuse Domain Decoupling borders Oracle SOA Suite 11g Mediator vs Oracle Service Bus (OSB) © 2009 Agenda Geschichte Oracle SOA Suite 11g Welche Komponente, wann einsetzen? Architektur Data are always part of the game. Oracle SOA Suite 11g Mediator vs Oracle Service Bus (OSB) Fazit © 2009 Fazit Sowohl der Mediator wie auch der Oracle Service Bus implementieren ESB-Funktionalitäten gut Der Entscheid welcher Bus eingesetzt wird, kann über die geforderten und unterstützten Features gefällt werden oder ob die SOA Suite 11g mit den weiteren Komponenten BPEL, Rules Engine, Human Workflow, usw. ebenfalls benötigt wird, oder ob lediglich ein eigenständiger ESB notwendig ist. In der ersten Situation wird sicher auch der Mediator eingesetzt werden, währendem in der zweiten Situation eher auf den Oracle Service Bus gesetzt wird In einer grösseren und komplexeren SOA ist es jedoch sinnvoll, diese über das Federated Bus Pattern zu kombinieren D.h. sowohl den Mediator wie auch den Oracle Service Bus einzusetzen Oracle SOA Suite 11g Mediator vs Oracle Service Bus (OSB) © 2009 Trivadis finden Sie auf Ebene 3 – Stand Nr. 304 DOAG Konferenz 2009 Guido Schmutz, Technology Manager / Partner Trivadis AG 19.11.2009, Nürnberg Basel · Baden · Bern · Lausanne · Zürich · Düsseldorf · Frankfurt/M. · Freiburg i. Br. · Hamburg · München · Stuttgart · Wien