Mikro-SOA vs. Makro-SOA
Transcription
Mikro-SOA vs. Makro-SOA
Mikro-SOA vs. Makro-SOA Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: 1.0 www.oio.de [email protected] Abstract In den letzten Jahren ist die Idee der Service-orientierten Architektur (SOA ), aus der Forschung kommend, in den Management-Ebenen und IT-Abteilungen großer Unternehmen angekommen und wurde dort teilweise begeistert zum führenden Architekturstil erkoren. Mit der SOA Suite 11g stellt Oracle eine ausgereifte Infrastrukturplattform für diesen Architekturstil bereit. Dabei sind Verständnis und Auffassung einer SOA oft weit von der ursprünglichen Idee entfernt. Wir möchten mit diesem Stream eine grundlegende Unterscheidung zwischen zwei Archtitekturstilen treffen und kritisch diskutieren. Zum Einen ist dies die Mikro-SOA, welche sich in der Realität leider oft wiederfindet und ein Verständnis offenbart, das so wahrscheinlich nie gedacht war und die Leitidee einer SOA in ein Monster verkehrt, welches trotz ausgereiftester Werkzeuge kaum beherrschbar ist und hohe Kosten in der Entwicklung und Wartung generiert. Demgegenüber steht die Makro-SOA, welche als Grundintention auf die Integration von bestehenden und neuen Anwendungen abzielt und gerade deswegen eine heterogene Systemlandschaft erlaubt, deren Integration und Zusammenspiel über Serviceschnittstellen vollzogen wird. Erst darin können Werkzeuge und Infrastrukturen, wie sie in der SOA Suite 11g kombiniert sind, ihren eigentlichen Mehrwert entfalten, ohne dass wartungsintensive Einzelsysteme gebaut werden, die (technisch) kaum komplexer sein könnten. Der Stream kann gerne als Plädoyer für ein "Back to the roots" in Bezug auf den Architekturstil SOA verstanden werden. Er beinhaltet eine Beleuchtung der ursprünglichen Ziele, deren Verkehrung und Missverständnisse, sowie Möglichkeiten und Sprachregelungen um das dunkle Tal einer überzogenen Architekturanwendung zu verlassen. © 2011 Orientation in Objects GmbH Mikro-SOA vs. Makro-SOA 2 1 Gliederung • Einleitung – Definitionsversuch – Ursprung und Ziele – These • Panoptikum der Mikro-SOA – – – – • Kanonisches Datenmodell Domänenservices Integration, Prozesse und Applikationen User Interfaces Synthese © 2011 Orientation in Objects GmbH Mikro-SOA vs. Makro-SOA 3 Gliederung • Einleitung – Definitionsversuch – Ursprung und Ziele – These • Panoptikum der Mikro-SOA – – – – • Kanonisches Datenmodell Domänenservices Integration, Prozesse und Applikationen User Interfaces Synthese © 2011 Orientation in Objects GmbH Mikro-SOA vs. Makro-SOA 4 2 Motivation Quelle: http://apsblog.burtongroup.com/2009/01/soa-is-dead-long-live-services.html © 2011 Orientation in Objects GmbH Mikro-SOA vs. Makro-SOA 5 Architektur „A software architecture is an abstraction of the run-time elements of a software system during some phase of its operation. A system may be composed of many levels of abstraction and many phases of operation, each with its own software architecture.“ (Thomas Roy Fielding) „Die Gliederung in Subsysteme“ © 2011 Orientation in Objects GmbH Mikro-SOA vs. Makro-SOA 6 3 Definitionsversuch einer SOA (1) • „SOA ist ein Paradigma für die Strukturierung und Nutzung verteilter Funktionalität, die von unterschiedlichen Besitzern verantwortet wird.“ OASIS Reference Model for Service Oriented Architecture 1.0,Committee Specification 1, 2 August 2006 © 2011 Orientation in Objects GmbH Mikro-SOA vs. Makro-SOA 7 Definitionsversuch einer SOA (2) • “Service Oriented Architecture is an architectural style for building systems based on interacting loosely coupled, coarse grained autonomous components called services. Each service expose processes and behavior through contracts, which are composed of messages at discoverable addresses called endpoints. Services’ behavior is governed by policies which are externally to the service itself.” SOA Patterns, Arnon Rotem-Gal-Oz, Manning eBook, http://www.manning.com/rotem/ © 2011 Orientation in Objects GmbH Mikro-SOA vs. Makro-SOA 8 4 Definitionsversuch einer SOA (3) • Service-oriented architecture (SOA) is the dominant architectural style for agile business applications, and is used when enterprises anticipate application sharing and frequent system changes. SOA helps business managers and analysts develop new business processes, and modify processes more quickly and at a lower cost. Gartner coined the term "SOA" and published the first reports in the industry on it in 1996. SOA enables new business models that involve the introduction of new products and services, particularly those that require the online cooperation of multiple business units. ... Service-Oriented Architecture, Gartner IT-Glossary © 2011 Orientation in Objects GmbH Mikro-SOA vs. Makro-SOA 9 Definitionsversuch einer SOA (4) • Essentially, SOA is a software architecture that starts with an interface definition and builds the entire application topology as a topology of interfaces, interface implementations and interface calls. SOA would be better-named "interface-oriented architecture“. Service-Oriented Architecture Scenario, Gartner Research Note AV-19-6751 © 2011 Orientation in Objects GmbH Mikro-SOA vs. Makro-SOA 10 5 Analogie zu einer SOA im richtigen Leben • Geschäftstreibende in einer Stadt – Jeder Unternehmer bietet bestimmten Dienst – Wird von vielen Verbrauchern in Anspruch genommen – Geschäftswelt besteht aus vielen Unternehmen – Gemeinesame Konventionen • Gemeinsame Währung • Gemeinsame Sprache • Bauvorschriften, etc © 2011 Orientation in Objects GmbH Mikro-SOA vs. Makro-SOA 11 Gemeinsamkeiten der Definitionen • Architekturstil – Keine Aussage über Technologie • Lose Kopplung von Diensten – Unabhängigkeit der Dienste • Soll Flexibilität durch Interoperabilität bieten – Neue Dienste können einfach angebunden werden • Dienste können zum Abbilden von Prozessen orchestriert werden – Mit Hilfe von Business Process Engines • Dienste kommunizieren über Nachrichten © 2011 Orientation in Objects GmbH Mikro-SOA vs. Makro-SOA 12 6 SOA = Prinzipien • Leverages open standards • Software as services • Services are loosely coupled • Focus on business function not technology • Platform independence • ... © 2011 Orientation in Objects GmbH Mikro-SOA vs. Makro-SOA 13 SOA Manifest • • • • • • Geschäftswert über technische Strategie Strategische Ziele über projektspezifischen Nutzen Immanente Interoperabilität über maßgeschneiderte Integration Gemeinsam verwendete Services über zweckgebundene Implementierungen Flexibilität über Optimierung Evolutionäre Vervollkommnung über Streben nach anfänglicher Perfektion http://soa-manifest.de/ © 2011 Orientation in Objects GmbH Mikro-SOA vs. Makro-SOA 14 7 Gliederung • Einleitung – Definitionsversuch – Ursprung und Ziele – These • Panoptikum der Mikro-SOA – – – – • Kanonisches Datenmodell Domänenservices Integration, Prozesse und Applikationen User Interfaces Synthese © 2011 Orientation in Objects GmbH Mikro-SOA vs. Makro-SOA 15 2003 Flughafenwerbung (Heatrow ) © 2011 Orientation in Objects GmbH Mikro-SOA vs. Makro-SOA 16 8 2003 Herausforderungen an die IT • Integration heterogener, verteilter Systeme – Zahlreiche inkompatible Hersteller und Protokolle – Keine einheitliche Technologie • Java, C#, C++, CORBA, RMI, etc. • Bestehende „Altsysteme“ verbinden (lose Kopplung) – Firmenzukauf, Migration, etc. • Einfache Anbindung neuer Kunden – Unterstützung von Webclients, mobilen Clients, etc. • Firewalls müssen überwunden werden – Meist nur Port 80 (HTTP) geöffnet © 2011 Orientation in Objects GmbH Mikro-SOA vs. Makro-SOA 17 Lösungsansatz 1: Datenintegration System B System A Daten B Daten Daten Kopie Daten B Daten B • Replikation • Master / Slave • Datenabgleich © 2011 Orientation in Objects GmbH • Userdaten • Redundanz • Konflikte Mikro-SOA vs. Makro-SOA 18 9 Lösungsansatz 2: Funktionale Integration System B System A Anfrage nach Daten Antwort Daten Daten Bitte um Änderung Antwort Daten B Just in Time! © 2011 Orientation in Objects GmbH Mikro-SOA vs. Makro-SOA 19 Lösungsansatz 2: Transaktionale Integration? System B System A Anfrage nach Daten Antwort Daten Bitte um Änderung Antwort Daten Daten B Transaktions Koordinator © 2011 Orientation in Objects GmbH Mikro-SOA vs. Makro-SOA 20 10 Probleme von Einzelintegrationen im Unternehmen Eigenes Unternehmen © 2011 Orientation in Objects GmbH Partner Mikro-SOA vs. Makro-SOA 21 Probleme der Einzelintegration (1) • Fest gekoppelt, „zerbrechlich“ und unflexibel – Jeder Dienst ist fest mit einem anderen Dienst verbunden • Aufwendige Schnittstellenpflege – Viele Point-to-Point Lösungen • Änderung einer Anwendung aufwendig – Kann sich auf viele andere Anwendungen auswirken • Logik zum Routing steckt in einzelnen Anwendungen – Welches Ziel hat eine Nachricht / Methodenaufruf? © 2011 Orientation in Objects GmbH Mikro-SOA vs. Makro-SOA 22 11 Probleme der Einzelintegration (2) • Kein einheitliches Kommunikationsprotokoll – Jede Anwendung definiert (eigenes) Protokoll • Kein einheitliches Sicherheitsmodell • Asynchrone Kommunikation schwer einzubauen • Eventuell keine zuverlässige Verarbeitung – Reliability nicht gewährleistet • Keine zentralen Dienste – Monitoring, „Abrechnungslücke“ © 2011 Orientation in Objects GmbH Mikro-SOA vs. Makro-SOA 23 Best Practices Lösungsansätze: EAI Patterns • Dateiübertragung • Gemeinsame Datenbank • Entfernte Methodenaufrufe – Remote Procedure Calls • Nachrichtendienste http://www.enterpriseintegrationpatterns.com/toc.html © 2011 Orientation in Objects GmbH Mikro-SOA vs. Makro-SOA 24 12 SOA 1998? Custom Application CORBA Proxy RMI Proxy CORBA CRM X Proxy RMI Protocol X Finance Produktion Kunde Konto Vertrag © 2011 Orientation in Objects GmbH Produkt Mikro-SOA vs. Makro-SOA 25 XML als Wegbegleiter von SOA Dave Winer HTTP, URL, URI XML Nachrichten Don Box REST XML-RPC SOAP Final 1.0 1.1 Einfluß SOAP 1.2 © 2011 Orientation in Objects GmbH Mikro-SOA vs. Makro-SOA 26 13 Definition von Services als Web Service (W3C) • “A Web service is a software application identified by a URI, whose interfaces and bindings are capable of being defined, described, and discovered as XML artifacts. A Web service supports direct interactions with other software agents using XML based messages exchanged via internet-based protocols.“ (W3C) © 2011 Orientation in Objects GmbH Mikro-SOA vs. Makro-SOA 27 Definition von Services als Web Service (IBM) • Web Services are self-contained, modular applications that can be described, published, located and invoked over a network, generally the Web to create innovative products, processes, and value chains. Web services can be local, distributed or Webbased. They interact with and/or invoke each other, fulfilling specific tasks and requests that, in turn, carry out specific parts of complex transactions or workflows. (IBM) © 2011 Orientation in Objects GmbH Mikro-SOA vs. Makro-SOA 28 14 Vorteile von Services als Web Services • Interoperability – Mit CORBA, DCOM, ... • Verbreitung – Basiert auf XML • Niedrige Einstiegsschwelle – Einfache Technik, kostenlose Toolkits, automatische COM und EJB Anbindung – Nicht auf eine Plattform oder Technologie beschränkt • Passieren von Firewalls bei Nutzung von HTTP als Übertragungsprotokoll – Offener HTTP Port © 2011 Orientation in Objects GmbH Mikro-SOA vs. Makro-SOA 29 Was machen Web Services anders als Vorgänger? • Basiert auf „echten“, weitverbreiteten Standards – TCP/IP, HTTP, XML, ... • Führende Softwarehersteller unterstützen den Standard – Oracle, IBM, Microsoft, ... • Bestehende Infrastruktur läßt sich weiternutzen – Internet, Router, Firewalls, Web Server, ... © 2011 Orientation in Objects GmbH Mikro-SOA vs. Makro-SOA 30 15 Web Service Interoperability Interop Stack Universal Service Interop Protocols (these layers are not defined yet) Universal Description, Discovery and Integration (UDDI) Simple Object Access Protocol (SOAP) Extensible Markup Language (XML) Common Internet Protocols (HTTP, TCP/IP) © 2011 Orientation in Objects GmbH Mikro-SOA vs. Makro-SOA 31 Überlegungen gegen WebServices • XML Verarbeitung unter Umständen aufwendig – In vielen Anwendungsfällen unkritisch • Einheitliche Technologie – Keine heterogene Server- und Client-Technologie • Keine „Internetnutzung“ gewünscht – Intranet: Anwendung muss keine Firewall überwinden © 2011 Orientation in Objects GmbH Mikro-SOA vs. Makro-SOA 32 16 Vision 2003: Service Oriented Business Application (SOBA) SOBA WS Proxy SOAP WS Proxy SOAP CRM WS Proxy SOAP Finance Kunde Service WS Proxy SOAP Produktion Konto Service Security Produkt Service Security Service Vertrag Service © 2011 Orientation in Objects GmbH Mikro-SOA vs. Makro-SOA 33 SOA als EAI 2.0? Application Server WebServer RMI JAX-RPC Servlet Endpoint XML JAX-RPC Servlet Endpoint Application Server RMI EJB Firewall Firewall EJB WebServer XML Connector Connector EIS EIS Application Server WebServer XML WebServer XML XML Firewall Firewall Firewall EJB Connector JAX-RPC Servlet Endpoint Application Server RMI EJB Connector EIS © 2011 Orientation in Objects GmbH JAX-RPC Servlet Endpoint EIS Mikro-SOA vs. Makro-SOA 34 17 Integration Unternehmensübergreifend Eigenes Unternehmen © 2011 Orientation in Objects GmbH Partner Mikro-SOA vs. Makro-SOA 35 Gliederung • Einleitung – Definitionsversuch – Ursprung und Ziel – These • Panoptikum der Mikro-SOA – – – – • Kanonisches Datenmodell Domänenservices Integration, Prozesse und Applikationen User Interface Synthese © 2011 Orientation in Objects GmbH Mikro-SOA vs. Makro-SOA 36 18 These Makro-SOA = EAI + XML + WS © 2011 Orientation in Objects GmbH Mikro-SOA vs. Makro-SOA 37 Weitergehende Überlegungen zur Makro-SOA • Schnittstellen werden auf Dienstebene definiert – Klare Trennung zwischen Schnittstelle und Implementierung • Ermöglicht die Kombination einzelner Dienste – Durch einheitliche Schnittstellenbeschreibung in WSDL erleichtert • SOA startet(e) meist nicht auf grüner Wiese – Bestehende Systeme müssen integriert werden • Fachlicher Dienst muss technisch zur Verfügung gestellt werden – Unterstützung einer Vielzahl von technischen Schnittstellen – Bestehende Anwendung besitzt eventuell keine Web Service Schnittstelle © 2011 Orientation in Objects GmbH Mikro-SOA vs. Makro-SOA 38 19 Weitergehende Überlegungen zur Makro-SOA • Anwendungen immer noch fest gekoppelt – Anwendungen sind immer noch Client eines anderen Dienstes • Prozesslogik steckt immer noch in Anwendung – Keine Trennung von Prozesslogik, Anwendungslogik und Schnittstelle • „Eigentlich“ SOA nicht gleich SOAP / Web Services? © 2011 Orientation in Objects GmbH Mikro-SOA vs. Makro-SOA 39 Lösungsansatz Middleware-Plattform Systemunabhängigkeit Administrationsunterstützung Zuverlässigkeit Stabilität Ressourcenverbrauch Middleware Fehlertoleranz Konsistenz © 2011 Orientation in Objects GmbH Discovery Skalierbarkeit Sicherheit Integration proprietärer Komponenten Erweiterbarkeit Mikro-SOA vs. Makro-SOA 40 20 Lösungsansatz Standard-Stack Choreography WS-CDL Geschäftsprozesse Orchestration WS-BPEL WSDL UDDI Beschreibung WS-Coordination WS-Transaction WS-Security WS-Reliable Messaging Quality of Service SOAP Transport und Encoding Andere Protokolle XML, Encoding © 2011 Orientation in Objects GmbH Mikro-SOA vs. Makro-SOA 41 WS*-Spezifikationen WS-BPEL verwendet WS-Transaction WS-Atomic Transaction WS-BusinessActivity verwendet verwendet empfiehlt WS-Coordination verwendet verwendet WS-SecureConversation definiert Erweiterungen WS-Trust © 2011 Orientation in Objects GmbH definiert Erweiterungen WS-Addressing WS-Security Mikro-SOA vs. Makro-SOA WS-Policy 42 21 Die WS*-Spezifikationen © 2011 Orientation in Objects GmbH Mikro-SOA vs. Makro-SOA 43 These Mikro-SOA = Makro-SOA + Improvements? © 2011 Orientation in Objects GmbH Mikro-SOA vs. Makro-SOA 44 22 Gliederung • Einleitung – Definitionsversuch – Ursprung und Ziele – These • Panoptikum der Mikro-SOA – – – – • Kanonisches Datenmodell Domänenservices Integration, Prozesse und Applikationen User Interfaces Synthese © 2011 Orientation in Objects GmbH Mikro-SOA vs. Makro-SOA 45 Ursprung: EAI 2.0 Interorganisationaler Datentransfer mit XML DTD-Austausch XML-Struktur DTD validieren validieren validieren DBMS XML-Struktur DTD XML XML Transformator XML © 2011 Orientation in Objects GmbH DBMS Mikro-SOA vs. Makro-SOA XSL 46 23 Serviceorientierter Datenaustausch zwischen Systemen Austausch BML System A Punkt-zu-Punkt AML Transformation System B Transformation Internes Datenmodell Internes Datenmodell © 2011 Orientation in Objects GmbH Mikro-SOA vs. Makro-SOA 47 Lösungsansatz Kanonisches Modell • SOA hat Wiederverwendung zum Ziel – Schnell neue Funktionen – Auf Basis von bestehenden Services • Services liefern Dokumente – Leichte Austauschbarkeit als Ziel • Kanonisches Modell als Austauschformat – Transformation in Kanonisches Modell – Wiederverwendbares Dokumentenmodell • Modellierung – z.B. in UML – Explizite Darstellung und Dokumentation – Möglicher Grad der Wiederverwendung steigt © 2011 Orientation in Objects GmbH Mikro-SOA vs. Makro-SOA 48 24 Lösungsansatz Kanonisches Modell Austausch kanonisch KML System A KML Transformation System B Transformation Internes Datenmodell Internes Datenmodell © 2011 Orientation in Objects GmbH Mikro-SOA vs. Makro-SOA 49 Vorteile eines kanonischen Modells • Lose Kopplung auf Datenebene – Systeme kennen nur ihr Format und das kanonische • Transformationen sind nur noch in ein Austauschformat notwendig – Lohnt sich bei steigender Anzahl von Systemen • Einheitliches Verständnis eines Dokuments © 2011 Orientation in Objects GmbH Mikro-SOA vs. Makro-SOA 50 25 Mikro-SOA: Wiederverwendung des kanonischen Modells in der Anwendungsentwicklung XSD / Kanonisches Modell DO Process Service Domain Service 1 Domain Service 2 e.g. findInvoicesByCustomer(..) Data Access Service 1 Data Access Service 2 e.g. findCustomerByUID(..) Konverter DO JAXB-Klasse DO JPA-Klasse e.g. findInvoicesByCustomerUID(..) © 2011 Orientation in Objects GmbH Mikro-SOA vs. Makro-SOA 51 Mikro-SOA Support in Java Plattform? Java Klasse 1 1 XML Schema 1 1 JAXB * * * Objekte Objekte © 2011 Orientation in Objects GmbH 1 1 XML Dokumente Dokumente Dokumente Java Objekte Mikro-SOA vs. Makro-SOA 52 26 Probleme • Kanonisches Datenmodell zieht sich durch alle Schichten eines Service bzw. einer Applikation • Aufwände bei Änderungen • Interne Repräsentation ist nicht mehr spezifisch für eine Domäne • Kontext-abhängige Ausprägung ist nicht mehr möglich © 2011 Orientation in Objects GmbH Mikro-SOA vs. Makro-SOA 53 Makro-SOA: Contract-First, Adaption der Implementierung Web Service Adapter Applikation XML Business Objekte © 2011 Orientation in Objects GmbH Kanonisches Modell Mikro-SOA vs. Makro-SOA 54 27 Mikro-SOA: Implementation-to-Contract Web Service Applikation XML Business Objekte „Kanonisches Modell“ © 2011 Orientation in Objects GmbH Mikro-SOA vs. Makro-SOA 55 Probleme • Inneres Datenmodell als erster Schritt zu kanonischem Modell • Behauptung: Iterative/imkrementelle Vorgehensweise führt langfristig zu echter kanonischer Form • Abhängigkeiten entstehen, die dann zum Problem werden (Konsumenten erwarten Stabilität) • Implementierung(sdetail) kann nicht ohne weiteres geändert werden • Neue externe Anforderungen an kanonisches Modell wirken direkt auf internes Modell © 2011 Orientation in Objects GmbH Mikro-SOA vs. Makro-SOA 56 28 Makro-SOA: Kanonisches Datenmodell in XML Schema © 2011 Orientation in Objects GmbH Mikro-SOA vs. Makro-SOA 57 Lösungsansatz: Formale Modellierung der kanonischen Form • Komplexität von XML Schema soll durch Werkzeugunterstützung beherschbar werden • Formale Modellierung z.B. in UML naheliegend Entity type D attribute (ERM) ERM domain D attribute (ERM) ERM domain XSD D attribute (ERM) D attribute (ERM) © 2011 Orientation in Objects GmbH ERM domain ERM domain Mikro-SOA vs. Makro-SOA 58 29 Mikro-SOA: Modellgetriebene SOA Kanonisches Modell DO XSD Process Service Domain Service 1 Domain Service 2 e.g. findInvoicesByCustomer(..) Data Access Service 1 Data Access Service 2 e.g. findCustomerByUID(..) Konverter DO JAXB-Klasse DO JPA-Klasse e.g. findInvoicesByCustomerUID(..) © 2011 Orientation in Objects GmbH Mikro-SOA vs. Makro-SOA 59 Probleme einer modellgetriebenen SOA • Semantische und syntaktische Mächtigkeit von XSD sollte nicht unterschätzt werden – „Es ist leichter ein Dokumentformat zu modellieren als es in Schema zu definieren“ stimmt nicht immer • Generierung weiterer Zielartefakte macht Modell noch komplexer – Aufwand der Modellwartung, z.B. Mappingmodelle • MDSD befördert iterativ-inkrementelles Denken – Stabilität vs. Evolution • MDSD befördert Verwendung von Elementen des kanonischen Modells innerhalb der Anwendungsentwicklung © 2011 Orientation in Objects GmbH Mikro-SOA vs. Makro-SOA 60 30 Gliederung • Einleitung – Definitionsversuch – Ursprung und Ziele – These • Panoptikum der Mikro-SOA – – – – • Kanonisches Datenmodell Domänenservices Integration, Prozesse und Applikationen User Interfaces Synthese © 2011 Orientation in Objects GmbH Mikro-SOA vs. Makro-SOA 61 Makro SOA Vorgehen: Geschäftslogik als Business Services exponieren Service A Service B Service C Service D Funktionalität © 2011 Orientation in Objects GmbH Mikro-SOA vs. Makro-SOA 62 31 Lösungsansatz: Schnittstellendefinition durch WSDL Servicemodell Process Service WSDL e.g. Order process Domain Service 1 Domain Service 2 e.g. Invoice service Data Access Object Data Access Object © 2011 Orientation in Objects GmbH Mikro-SOA vs. Makro-SOA 63 Makro SOA: Business Services technisch mit WSDL spezifizieren WSDL A WSDL B WSDL C WSDL D Funktionalität © 2011 Orientation in Objects GmbH Mikro-SOA vs. Makro-SOA 64 32 WSDL Elemente • Elemente in WSDL Dokumenten: – Types Ein Container für Datentypdefinitionen wie XSD – Messages Übertragene Daten – Port Type Ein Satz von Operationen die von einem oder mehreren Endpunkten unterstützt werden – Binding Konkretes Protokoll und Datenformat Spezifikation für einen Port Type – Service Sammlung von verwandten Endpunkten – Port Endpunkt bestehend aus Binding und Netzwerkadresse – Operation Operation die vom Service unterstützt wird © 2011 Orientation in Objects GmbH Mikro-SOA vs. Makro-SOA 65 Perspektivwechsel: Anwendung als Summe von Business Services Anwendung X Service A Service B Service C Service D © 2011 Orientation in Objects GmbH Mikro-SOA vs. Makro-SOA 66 33 Mikro SOA: Anwendung als Summe von Web Services (WSDL basiert) Anwendung X WSDL A WSDL B WSDL C WSDL D © 2011 Orientation in Objects GmbH Mikro-SOA vs. Makro-SOA 67 Probleme • Performanzanforderungen an applikationsinterne Kommunikation sind höher als in typischen Integrationsszenarien – – – – – Lokale Kommunikation Synchrone Aufrufe Große Datenmengen Verarbeitung von Strömen Nutzung von gemeinsamen Datenkontexten • Applikationsarchitekturen besitzen dafür spezialisierte Schnittstellentechnologien (CORBA, DCOM, JNI, JSON..) • WSDL erlaubt zwar unterschiedliche Protokolle aber unterstützt eng gekoppelte bzw. binäre Protokolle nur bedingt • Makro SOA Infrastruktur kann nur bedingt genutzt werden © 2011 Orientation in Objects GmbH Mikro-SOA vs. Makro-SOA 68 34 Problem: Service Lifecycle vs. Application Life Cycle Planned Planned In Development In Development In Test In Test Deployed Deployed Depreciated End of Life Out of Service © 2011 Orientation in Objects GmbH Mikro-SOA vs. Makro-SOA 69 Probleme • Exponierung interner Schnittstellen verändert deren Lebenszyklus • Exponierter Service muss Stabilität bieten – Abwärtskompatibilität – Deprecation-Mechanismus • Exponierter Service unterliegt äußeren Restriktionen • Interne Schnittstelle unterliegt kürzeren Änderungszyklen – Hat keine Restriktionen, die von außen kommen © 2011 Orientation in Objects GmbH Mikro-SOA vs. Makro-SOA 70 35 Mikro SOA: Private Services exponieren Servicemodell Domain Service 1 Domain Service 2 WSDL e.g. Invoice Service Data Access Service © 2011 Orientation in Objects GmbH Data Access Service Mikro-SOA vs. Makro-SOA 71 Gefahren • Exponierung interner Operationen und ihrer Datenstrukturen – – – – Offenlegung der Implementierung Aufwände bei Änderungen Interne Repräsentation ist nicht mehr spezifisch für eine Domäne Kontext-abhängige Ausprägung ist nicht mehr möglich © 2011 Orientation in Objects GmbH Mikro-SOA vs. Makro-SOA 72 36 Applikationsinterne Abhängigkeiten Service A a Service B b Service C c d g e f Service D h i j k l © 2011 Orientation in Objects GmbH Mikro-SOA vs. Makro-SOA 73 Neuer Service exponiert Service A a Service B b Service C c d g e f Service H h j Service D i k l © 2011 Orientation in Objects GmbH Mikro-SOA vs. Makro-SOA 74 37 Mikro-SOA: Interne Abhängigkeit exponiert Service A a Service B b Service C c d g e f Service H h j Service D i k l © 2011 Orientation in Objects GmbH Mikro-SOA vs. Makro-SOA 75 Probleme und Gefahren • Notwendigkeit der Transformation zwischen Dokumenten der (ehemals) privaten und öffentlichen Serviceschicht • Abhängigkeiten von Services – – – – Unterschiedliche Lebenszyklen Self-contained? Loose coupling? Support füt Dependancy-Management in Makro-SOA? © 2011 Orientation in Objects GmbH Mikro-SOA vs. Makro-SOA 76 38 Mikro-SOA: Getrenntes Service-Deployment Service A a Service B b Service C c Service D g i d e f j k Service H l x © 2011 Orientation in Objects GmbH h Komponente Mikro-SOA vs. Makro-SOA 77 Probleme und Gefahren • Getrenntes Deployment erhöht die Wartungsaufwände – – – – • Konfigurationsmanagement Paketierung Verteilung Monitoring Getrenntes Deployment wirft die Frage nach sog. Shared Services auf – Paralleler Betrieb von verschiedenen Versionen dieser Services ? – Ist das Ziel der SOA Wiederverwendung oder Redundanzfreiheit? • SOA als Treiber von MDM? • SOA als Ersatz für Shared Libraries? © 2011 Orientation in Objects GmbH Mikro-SOA vs. Makro-SOA 78 39 Gliederung • Einleitung – Definitionsversuch – Ursprung und Ziele – These • Panoptikum der Mikro-SOA – – – – • Kanonisches Datenmodell Domänenservices Integration, Prozesse und Applikationen User Interfaces Synthese © 2011 Orientation in Objects GmbH Mikro-SOA vs. Makro-SOA 79 Integration mittels einer SOA Eigenes Unternehmen © 2011 Orientation in Objects GmbH Partner Mikro-SOA vs. Makro-SOA 80 40 Herausforderung • Fest gekoppelt, „zerbrechlich“ und unflexibel – Jeder Dienst ist fest mit einem anderen Dienst verbunden – Viele Point-to-Point Lösungen • Logik zum Routing steckt in einzelnen Anwendungen • Asynchrone Kommunikation schwer einzubauen • Eventuell keine zuverlässige Verarbeitung – Reliability nicht gewährleistet © 2011 Orientation in Objects GmbH Mikro-SOA vs. Makro-SOA 81 Lösungsansatz: Integration über ESB Eigenes Unternehmen © 2011 Orientation in Objects GmbH Partner Mikro-SOA vs. Makro-SOA 82 41 Mikro-SOA: „Abteilungs-ESB“ ESB Adapter Adapter Protocol Adapter (SOAP, FTP) Adapter Eigenes Unternehmen Partner © 2011 Orientation in Objects GmbH Partner Mikro-SOA vs. Makro-SOA 83 Mikro-SOA: „Multi-ESB Szenario“ ESB Adapter Adapter ESB Adapter Eigenes Unternehmen © 2011 Orientation in Objects GmbH Adapter ESB Adapter Adapter Partner Mikro-SOA vs. Makro-SOA ESB Adapter Partner 84 42 Probleme und Gefahren • Verwendung eines ESB bedeutet zusätzlichen Aufwand – Lizenzen – Betrieb – Know How • Features und Kostenersparnis des ESB nur bei angebundenen Services • Fehlender Standard für ESBs – Föderation von ESBs als eigenes Integrationsprojekt – Aufwendige Migration zwischen ESB-Produkten © 2011 Orientation in Objects GmbH Mikro-SOA vs. Makro-SOA 85 Lösungsansatz: Standardisierung eines ESB • JBI 2.0 (JSR 312, 2010 zurückgezogen) – IBM: SCA ist die bessere Lösung, doppelter Standard verwirrt Markt – BEA: Keine Java-only Lösung JBI Umgebung SE Weitere SEs Installation Deployment Normalized Message Router Control BC External Service Provider © 2011 Orientation in Objects GmbH Monitoring Weitere BCs External Service Consumer Mikro-SOA vs. Makro-SOA 86 43 Lösungsansatz: Standardisierung eines ESB • SCA 1.0 released 2007 (SCA 1.1 Draft 03, Juni 2011) Component Service Service Referenz Property © 2011 Orientation in Objects GmbH Mikro-SOA vs. Makro-SOA 87 Lösungsansatz: SCA Eigenes Unternehmen © 2011 Orientation in Objects GmbH Partner Mikro-SOA vs. Makro-SOA 88 44 Mikro-SOA: Multilayer ESB innerhalb einer Applikation System A Prozesse ESB Geschäftsobjekte ESB Lebenszyklus © 2011 Orientation in Objects GmbH System C DB System B ESB Mikro-SOA vs. Makro-SOA 89 Mikro-SOA vs. Makro-SOA 90 Probleme • Performance • Wartung – Konfiguration – Deployment – Monitoring • Testbarkeit © 2011 Orientation in Objects GmbH 45 SCA: Welche Probleme werden gelöst? • Fest gekoppelt, „zerbrechlich“ und unflexibel – Jeder Dienst ist fest mit einem anderen Dienst verbunden – Viele Point-to-Point Lösungen • Logik zum Routing steckt in einzelnen Anwendungen • Asynchrone Kommunikation schwer einzubauen • Eventuell keine zuverlässige Verarbeitung – Reliability nicht gewährleistet © 2011 Orientation in Objects GmbH Mikro-SOA vs. Makro-SOA 91 Mikro-SOA vs. Makro-SOA 92 Lösungsansatz: WS-BPEL © 2011 Orientation in Objects GmbH 46 Makro-SOA Plattform: Oracle SOA Suite 11g Oracle 11g Application Server Oracle Service Bus SCA Runtime JEE Web Rules Engine Service Mediator Worklist Application ADF EJB Service BPEL Engine BPEL Process © 2011 Orientation in Objects GmbH EJB 3 Notifications Messaging JAX WS JTA JPA JNDI JDBC Mikro-SOA vs. Makro-SOA 93 Mikro-SOA: Entity-Update mit BPEL © 2011 Orientation in Objects GmbH Mikro-SOA vs. Makro-SOA 94 47 Mikro-SOA: Entity-Update mit BPEL – Detail 1 © 2011 Orientation in Objects GmbH Mikro-SOA vs. Makro-SOA 95 Mikro-SOA: Entity-Update mit BPEL – Detail 2 © 2011 Orientation in Objects GmbH Mikro-SOA vs. Makro-SOA 96 48 Mikro-SOA: Entity-Update mit BPEL – Detail 3 © 2011 Orientation in Objects GmbH Mikro-SOA vs. Makro-SOA 97 Probleme • Benutzung solcher Dienste aus dem UI – Asynchronität • Eigentlich klassische Applikationsentwicklung • Performance? • Transaktionsgrenzen? © 2011 Orientation in Objects GmbH Mikro-SOA vs. Makro-SOA 98 49 BPEL als Compound-Service WSDL Web Service WSDL Activity Web Service WSDL Zustand (Variablen) Activity Web Service WSDL Activity © 2011 Orientation in Objects GmbH Web Service Mikro-SOA vs. Makro-SOA 99 Makro-SOA: Integrationsszenario, Orchestrierung mit BPEL File Sender XSLT File Poller Pipe Router /order/position © 2011 Orientation in Objects GmbH JMX //price[.< 2] Mikro-SOA vs. Makro-SOA //quantity [@unit=‚piece‘] 100 50 Analyse von Integrationsprojekten Analyse Userinterfaces Design Navigation Prozesse Workflow Routing Daten / Services WSDL © 2011 Orientation in Objects GmbH Kanonisches Modell Mikro-SOA vs. Makro-SOA 101 Mikro-SOA: BPEL in der fein-granularen Anwendungsentwicklung BPEL Prozesslogik Eigenes Unternehmen © 2011 Orientation in Objects GmbH Partner Mikro-SOA vs. Makro-SOA 102 51 Probleme und Gefahren • Lokale Optimierungen in unteren Schichten werden unmöglich – SQL – Objekt-relationale Datenbanken • Performance – Ständige Transformation in und von XML-Repräsentation droht • „Dokumenten-orientierte Programmierung“ – Analyse folgt oft anderen Paradigmen (strukturiert, OO) – Scheitert bei komplexerer Algebra – Schwierige Zusammenarbeit mit relationalem Paradigma © 2011 Orientation in Objects GmbH Mikro-SOA vs. Makro-SOA 103 Vorgehen bei Implementierung eines SOA-Projekts Analyse Implementierung Userinterfaces Daten / Services Design Navigation WSDL Prozesse Workflow WSDL © 2011 Orientation in Objects GmbH Prozesse Routing Daten / Services Kanonisches Modell XSD BPEL Userinterfaces Java Mikro-SOA vs. Makro-SOA C# 104 52 Mikro-SOA: „Potemkinsche Dörfer“ ESB Adapter Adapter Adapter Adapter Adapter Eigenes Unternehmen © 2011 Orientation in Objects GmbH Mikro-SOA vs. Makro-SOA 105 Probleme und Gefahren • Entwicklungsgeschwindigkeit – Overhead gegenüber klassischer Entwicklung • Testbarkeit • Mangelnde Analyse von (Implementierungs-)Details – Fehlende Anforderungen • Akzeptanz durch Geldgeber schwindet während der Implementierung oder der Wartung – Widerspruch zwischen Werbeversprechen und „Realität“ wird hier sehr deutlich © 2011 Orientation in Objects GmbH Mikro-SOA vs. Makro-SOA 106 53 Gliederung • Einleitung – Definitionsversuch – Ursprung und Ziele – These • Panoptikum der Mikro-SOA – – – – • Kanonisches Datenmodell Domänenservices Integration, Prozesse und Applikationen User Interfaces Synthese © 2011 Orientation in Objects GmbH Mikro-SOA vs. Makro-SOA 107 Makro-SOA: UI initiiert einen Prozess • UI sammelt Daten und initiiert damit einen Prozess • Angezeigt wird evtl. eine Ergebnisseite • Prozess läuft asynchron Prozess UI © 2011 Orientation in Objects GmbH Mikro-SOA vs. Makro-SOA 108 54 Makro-SOA: Menschliche Interaktion mit langlaufenden Prozessen © 2011 Orientation in Objects GmbH Mikro-SOA vs. Makro-SOA 109 Lösungsansatz: Interaktion über Taskliste Oracle PM JEE BPEL Process Task complete Assign task Webframe work UI Domain Services Browser Domain Worklist API API Human Tasks Worklist Services © 2011 Orientation in Objects GmbH Mikro-SOA vs. Makro-SOA 110 55 Lösungsansatz: Interaktion über Taskliste • Um lose Kopplung zu erreichen – Als Entkopplung von „synchroner UI“ und asynchronem Prozess • Abarbeiten von Tasks stellt eine Art Paradigmenwechsel dar – Asynchrones Laufzeitverhalten – Ungewohnt für Benutzer – Kennen meist synchrone UIs mit direkter Rückkopplung • Arbeitsabläufe werden automatisiert, – Prozesssteuerung wandert in das „Backend“ © 2011 Orientation in Objects GmbH Mikro-SOA vs. Makro-SOA 111 Konsequenzen • Individuelles Prozesswissen wird explizit (Dokumentation) • Prozessmonitoring wird möglich und damit Optimierung • Prozesse bestimmen den Arbeitsablauf, nicht der Mensch den Prozess • Taskliste kann starr und als Korsett wirken © 2011 Orientation in Objects GmbH Mikro-SOA vs. Makro-SOA 112 56 Mikro-SOA: Human Task bildet fein-granulare Entscheidung ab Abfrage in UI Ja Nein © 2011 Orientation in Objects GmbH Mikro-SOA vs. Makro-SOA 113 Gefahr • Benutzbarkeit wird von Fachanwendern schnell in Frage gestellt – Fein-granulare Entscheidung in Verbindung mit asynchronem Verhalten • Aufwand für Anpassungen aufgrund des Stacks oft teurer als bei klassischer Anwendungsentwicklung © 2011 Orientation in Objects GmbH Mikro-SOA vs. Makro-SOA 114 57 Mikro-SOA: Mehrere Human Tasks hintereinander innerhalb einer Rolle © 2011 Orientation in Objects GmbH Mikro-SOA vs. Makro-SOA 115 Mikro-SOA: Mehrere Human Tasks hintereinander innerhalb einer Rolle © 2011 Orientation in Objects GmbH Mikro-SOA vs. Makro-SOA 116 58 Mikro-SOA: Hotspot Detail © 2011 Orientation in Objects GmbH Mikro-SOA vs. Makro-SOA 117 Probleme • Lose Kopplung geht verloren – Maskenflüsse im Prozess • Arbeitsablauf wird fein-granular zerlegt und vorgegeben – Mensch-Maschine-Interaktion wird im Geschäftsprozess modelliert • Flexibilität und Agilität? – Änderungen häufig, Wartung aufwendig • Dem Fachanwendern kaum noch vermittelbar – Extrem störend für Arbeitsablauf – Asynchrones Verhalten sorgt für Wartezeiten – Extremform einer Task-basierten Arbeit © 2011 Orientation in Objects GmbH Mikro-SOA vs. Makro-SOA 118 59 Gliederung • Einleitung – Definitionsversuch – Ursprung und Ziele – These • Panoptikum der Mikro-SOA – – – – • Kanonisches Datenmodell Domänenservices Integration, Prozesse und Applikationen User Interfaces Synthese © 2011 Orientation in Objects GmbH Mikro-SOA vs. Makro-SOA 119 Probleme einer Mikro-SOA im kanonischen Modell • Kanonisches Datenmodell zieht sich durch alle Schichten eines Service bzw. einer Applikation – Hohe Aufwände bei Änderungen • Interne Repräsentation ist nicht mehr spezifisch für eine Domäne – Kontext-abhängige Ausprägung ist nicht mehr möglich • Inneres Datenmodell soll iterative/imkrementelle zu kanonischer Form führen – Implementierung(sdetail) kann nicht ohne weiteres geändert werden – Neue externe Anforderungen an kanonisches Modell wirken direkt auf internes Modell © 2011 Orientation in Objects GmbH Mikro-SOA vs. Makro-SOA 120 60 Probleme einer modellgetriebenen Mikro-SOA • Semantische und syntaktische Mächtigkeit von XSD wird nicht erreicht • Hoher Aufwand der Modellwartung bzw. Erstellung von Mappingmodellen • Häufig Versuch einer iterativ-inkrementellen Erstellung des kanonisches Modells • Häufig Verwendung von Elementen des kanonischen Modells innerhalb der Anwendungsentwicklung © 2011 Orientation in Objects GmbH Mikro-SOA vs. Makro-SOA 121 Probleme mit Services einer Mikro-SOA (1) • Applikationsinterne Performanzanforderungen werden nicht erreicht. Durch Mangel an Konzepten für – – – – – • Lokale Kommunikation Synchrone Aufrufe Große Datenmengen Verarbeitung von Strömen Nutzung von gemeinsamen Datenkontexten Die Vorteile einer Makro-SOA Infrastruktur können nur unzureichend genutzt werden – Lastverteilung – Skalierung – Ausfallsicherheit © 2011 Orientation in Objects GmbH Mikro-SOA vs. Makro-SOA 122 61 Probleme mit Services einer Mikro-SOA (2) • Interne Services unterliegen äußeren Restriktionen • Interne Services müssen Mechanismen für Abwärtskompatibilität und Deprecation anbieten • Service-Konsumenten nutzen Implementierungsdetails • Hohe Aufwände bei Änderung der Service-Implementierung • Notwendigkeit der Transformation zwischen XML-Dokumenten der privaten und öffentlichen Serviceschicht • Steigende Aufwände durch Verwaltung der Abhängigkeiten von Services © 2011 Orientation in Objects GmbH Mikro-SOA vs. Makro-SOA 123 Probleme mit Shared Services einer Mikro-SOA • Erhöhte Wartungsaufwände durch getrenntes Deployment • Paralleler Betrieb von verschiedenen Versionen • Paralleler Betrieb von verschiedenen Services • Zielkonflikte bei der Entwicklung zwischen Wiederverwendung und Redundanzfreiheit © 2011 Orientation in Objects GmbH Mikro-SOA vs. Makro-SOA 124 62 Probleme mit (Sparten-)ESB einer Mikro-SOA • Zusätzliche Aufwände für Lizenzen, Betrieb und Know How • ESB-Föderationsprojekte • ESB-Integrationsprojekte • Performance • Wartung – Konfiguration – Deployment – Monitoring • Hohe QM-Aufwände (Testbarkeit) © 2011 Orientation in Objects GmbH Mikro-SOA vs. Makro-SOA 125 Probleme mit Compound-Services einer MikroSOA • Performance-Probleme – Lokale Performance-Optimierungen in unteren Schichten sind nicht mehr möglich – Hohe Transformationsaufwände von und in XML • Hohe Implementierungsaufwände – Notwendigkeit der Übersetzung zwischen verschiedenen Paradigmen (Strukturiert, Relational, OO) – Bei komplexer algebraischen Problemen – Fehlerbehandlung – Transaktionshandling • Höhere Implementierungsaufwände bei Benutzung der Dienste bedingt durch Asynchronität © 2011 Orientation in Objects GmbH Mikro-SOA vs. Makro-SOA 126 63 „Green Field Probleme“ einer Mikro-SOA • Geringere Entwicklungsgeschwindigkeit als bei bisheriger Anwendungsentwicklung • Hohe Aufwände für Change Requests während der Implementierung • Sinkende Akzeptanz der Stakeholder während Implementierung und Betrieb – Widerspruch zwischen Werbeversprechen und „Realität“ tritt sehr deutlich zu Tage © 2011 Orientation in Objects GmbH Mikro-SOA vs. Makro-SOA 127 Probleme der UI in einer Mikro-SOA • Maskenflüsse im Prozess • Mensch-Maschine-Interaktion wird im Geschäftsprozess modelliert • Hohe Änderungshäufigkeit • Aufwendige Wartung • Mangelhafte Usability ist dem Fachanwendern kaum noch vermittelbar – „Anwendung stört den Arbeitsablauf“ © 2011 Orientation in Objects GmbH Mikro-SOA vs. Makro-SOA 128 64 Fazit • SOA ist für uns sinnvoll im Kontext von – Systemintegration mit SOA-Techniken • Kanonisches Datenmodell zwischen System • Externe Schnittstellen • Virtualisierung – Automatisierung von Geschäftsprozessen – In Grenzen für Task-basiertes Arbeiten • Driftet sehr leicht in Mikro-SOA • SOA ist schwierig bis unmöglich bei – Modelliertem Workflow / Maskenfluss – Nutzung von SOA-Techniken bis tief in Anwendungen hinein © 2011 Orientation in Objects GmbH Mikro-SOA vs. Makro-SOA 129 Makro-SOA Anwendung A Enterprise Service Bus Normalized Message Router © 2011 Orientation in Objects GmbH Anwendung B Anwendung C Anwendung D N Mikro-SOA vs. Makro-SOA 130 65 Mikro-SOA Service Entität A Service Entität B Enterprise Service Bus Normalized Message Router Service Entität C Anwendung © 2011 Orientation in Objects GmbH Mikro-SOA vs. Makro-SOA 131 SOA ist für uns vor allem ... SOA = EAI + XML + WS © 2011 Orientation in Objects GmbH Mikro-SOA vs. Makro-SOA 132 66 7 Rules for Successfully Implementing an SOA • • • • • • • Start small and simple. The KISS principle is especially true for Web Services. With regard to the future ubiquity of Web Services, I changed KISS into SSS: Start Small and Simple. Start with low or zero risk projects. A good thing to start with is a "read-only" Web Service which provides information from a backend system. Read-only services don't require sophisticated security and transactions. Later, add a simple service that changes the state of a backend system. At the beginning, keep the number of partners that are using and/or providing services small. Add functions incrementally. Don't start with the wall. Instead, start with some bricks and add more as they are needed. To build the whole wall, a lot of knowledge and endurance is necessary. Building and testing in smaller increments can help to build the necessary knowledge. Learn by doing. A Service Oriented Architecture requires a lot of knowledge and experience. If you get the opportunity, do a pilot project. But even in a pilot project, you should address business needs. Create value. Try to create value from the beginning. The first simple Web Service should bring some benefits like an improved process, more service for customers or cost reductions. Opportunities for beneficial Web Services can easily be found in companies that have yet to use Web Services. Look at the borders between systems and see where tedious tasks are rendered manually. Leverage existing systems. Investments in existing systems can be leveraged by adding a Web Services interface or, by using Web Services to interconnect the systems. Small investments can have a great impact and create essential business value. Publish the services. The more a service is used, the more value it generates. There might be potential "consumers" of your service in different departments inside the company, and outside the company among suppliers and clients. Make it easy to use the service by providing simple interfaces, a good documentation and sample clients in different programming languages. A tutorial or FAQ is also helpful. Don't wait. Don't wait for specifications and a complete Web Services infrastructure. The first Web Services should be simple (see first point), so there isn't much security or transactional infrastructure involved. An SOA can be developed incrementally. You get more benefit from the experience and shortterm effects by an early start than by waiting until a perfect and complete infrastructure is available. © 2011 Orientation in Objects GmbH Mikro-SOA vs. Makro-SOA 133 Enterprise Service Bus (ESB) Anwendung A Anwendung B Anwendung C N N Enterprise Service Bus Normalized Message Router Anwendung D N Management N BC SOAP BC SAP BC Dateisystem BC Email Dateisystem © 2011 Orientation in Objects GmbH Mikro-SOA vs. Makro-SOA 134 67 Der ESB ist keine Lösung für den Weltfrieden… … er kann aber Integration Internes Netz Externer Partner ESB/BPEC/OS CRM Finance Stock Procument Siehe auch: Jim Webber Martin Fowler - Does My Bus Look Big In This http://www.slideshare.net/deimos/jim-webber-martin-fowler-does-my-bus-look-big-in-this © 2011 Orientation in Objects GmbH Mikro-SOA vs. Makro-SOA 135 Mehr von OIO zum Thema... • Schulung: SOA - Service orientierte Architekturen – http://www.oio.de/seminar/entscheider/soa-schulung.htm • Schulung: SOA Governance – http://www.oio.de/seminar/entscheider/soa-governance-schulung.htm • Beratung: SOA / WebServices – http://www.oio.de/beratung-consulting/software-integration/soa-webservices/ © 2011 Orientation in Objects GmbH Mikro-SOA vs. Makro-SOA 136 68 ? ? ? ? ? ? ? ? Fragen ? Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim www.oio.de [email protected] Vielen Dank für ihre Aufmerksamkeit ! Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim www.oio.de [email protected] 69