DOAG SIG Day E-Business Suite und SOA: Was ist heute schon möglich? Frankfurt 26. April 2007 Thomas Karle PROMATIS software GmbH 1
E-Business Suite und SOA Agenda Geschäftsprozesse auf Basis von SOA Business Process Execution Language (BPEL) Oracle BPEL Process Manager Oracle E-Business Suite und SOA Fazit und Ausblick 2
Service-orientierte Architektur (SOA) Grundprinzip Verzeichnisdienst Suchen Veröffentlichen Service Konsument Binden Service Anbieter 3
SOA SOA mit Web Services UDDI Registry Veröffentlichen eines Web Services WSDL WSDL WSDL Suchen eines Web Services Definition eines Web Services Service Konsument SOAP XML Nachrichten Web Service 4
SOA Realisierung von Geschäftsprozessen Geschäftsprozess Frontend Geschäftslogik (BPEL) GS GS Web Services AS Web Services AS GS AS Geschäfts- / Applikations- Services Datenbank 5
SOA Choreographie Globale, abstrakte Sicht auf einen Geschäftsprozess Beinhaltet die Rollen der Geschäftspartner Interne Abläufe werden nicht betrachtet Öffentlicher Geschäftsprozess Kein Besitzer des Prozesses Web Services Choreography Description Language 6
SOA Orchestrierung Betrachtet nur den privaten/internen Anteil von Geschäftsprozessen Transaktionsbezogen und langlebig Aus der Sicht eines Geschäftspartners Ausführbarer Geschäftsprozess, der mit internen und externen Web Services kommuniziert Business Process Execution Language 7
BPEL Grundlagen Die Business Process Execution Language (BPEL) ist entstanden aus Web Services Flow Language (WSFL) von IBM und XLANG von Microsoft Standardisiert durch die Organization for the Advancement of Structured Information Standards (OASIS) zur Standardisierung vorgelegt Aktuelle Version: BPEL4WS 1.1 Angekündigt: WS-BPEL 2.0 Eine auf XML basierende Beschreibungssprache für (lokale) Geschäftsprozesse Ein BPEL-Prozess ist eine Orchestrierung von Web Services, der selbst wiederum einen Web Service implementiert 8
BPEL Überblick Abstrakter Prozess Ausführbarer Prozess 9
BPEL Einfache Aktivitäten <invoke> - Aufruf eines externen Web Service <receive> - Empfangen einer SOAP Nachricht an einem internen WS <reply> - Antwort auf eine über <receive> eingegangene Nachricht <assign> - Zuweisen eines Werts zu einer Variablen <invoke partnerlink="ncname" porttype="qname" operation="ncname" inputvariable="ncname"? outputvariable="ncname"?> [ ] </invoke> <receive partnerlink="ncname" [ ]> [ ] </receive> <reply partnerlink="ncname" [ ]> [ ] </reply> <assign> <copy>+ <from variable="ncname" [ ]?/> <to variable="ncname" [ ]?/> </copy> </assign> 10
BPEL Strukturierende Aktivitäten <sequence> - Sequentielle Ausführung von Aktivitäten <flow> - Parallele Ausführung von Aktivitäten <while> - Führt eine Aktivität aus, so lange Bedingung wahr ist <switch> - Führt eine bestimmte Aktivität aus einer Menge aus <sequence> activity+ </sequence> <flow> <links>? <link name="ncname">+ </links> activity+ </flow> <while condition="bool-expr"> activity </while> <switch> <case condition="bool-expr">+ activity </case> <otherwise>? activity </otherwise> </switch> 11
BPEL Beispielprozess 12
BPEL Zwischenfazit Bereits in der aktuellen Version sehr ausgereift Breite Unterstützung seitens der Softwarehersteller Hat sich am Markt als Standard durchgesetzt Viele verfügbare Tools und Laufzeitumgebungen - SAP NetWeaver Exchange Infrastructure - Microsoft BizTalk Server - Oracle BPEL Process Manager 13
Oracle BPEL Process Manager Komplett Oracle-basierte Architektur Design BPEL Execute BPEL Manage BPEL BPEL Designer Deploy Oracle BPEL Process Manager BPEL Console Oracle JDeveloper Oracle Application Server Containers for J2EE (OC4J) Web browser Data store Oracle DB 14
Oracle BPEL Process Manager Allgemeine Architektur BPEL Process Manager Deploy BPEL JDeveloper, Eclipse BPEL Designer WSDL binding Built-in -integration services Web service Java, JMS, JCA XQuery XSLT User tasks Java/ J2EE Develop File, FTP Database iway Core BPEL engine J2EE application server (Oracle AS, WebLogic, JBoss, WebSphere) Data store Oracle DB BPEL Console Manage 15
Oracle BPEL Process Manager Service-Aufruf Möglichkeiten: - Synchronous - Asynchronous - Secured Callback location <creditrating> 560 </creditrating> 10:05 Receive order 10:10 Processing. 10:25 <risk>4</risk> <Patient> Disease A </Patient> Network 16
Oracle BPEL Process Manager Mögliche Services Portal Web service Java service? c Database stored procedures BPEL ERP SAP, Oracle J2EE User tasks 17
Oracle E-Business Suite und SOA Architektur - Adapter Oracle Application Server 18
Oracle E-Business Suite und SOA Schritt 1 - Adapter in BPEL auswählen 19
Oracle E-Business Suite und SOA Schritt 2 - Servicenamen eingeben 20
Oracle E-Business Suite und SOA Schritt 3 Connection auswählen / definieren 21
Oracle E-Business Suite und SOA Schritt 3a Adaptertechnologie auswählen 22
Oracle E-Business Suite und SOA Schritt 3b Service/Funktion suchen 23
Oracle E-Business Suite und SOA Schritt 3c Service/Funktion auswählen 24
Oracle E-Business Suite und SOA Schritt 4 Wrapper erstellen 25
Oracle E-Business Suite und SOA Schritt 5 Fertig stellen 26
Oracle E-Business Suite und SOA Ergebnis 1 XML Schema für Web-Service-Aufruf 27
Oracle E-Business Suite und SOA Ergebnis 2 Einbindung in BPEL-Prozess 28
Oracle E-Business Suite und SOA Oracle JDeveloper / Oracle BPEL Designer 29
Oracle E-Business Suite und SOA Fazit und Ausblick Stabile BPEL-Umgebung Einbindung in den Oracle JDeveloper als zentrales Entwicklungswerkzeug Viele verfügbare Adapter Integration auch von klassischen Technologien (z.b. PL/SQL) SOA-basierte Prozesse können leicht auf Fusion umgestellt werden Mit der Realisierung SOA-basierter Prozesse kann begonnen werden! 30
DOAG SIG Day E-Business Suite und SOA: Was ist heute schon möglich? Frankfurt 26. April 2007 Thomas Karle PROMATIS software GmbH 31