Seminar Service Orientierte Architektur Geschäftsprozessmodellierung mit BPEL4WS: Aufbau und Beispiel SOA-Seminar 2006 - BPEL4WS - Christoph Forster (Winf 2370) 1
Agenda (1) Überblick (2) Der Geschäftsprozess (3) Konzept und geschichtliche Entwicklung (4) BPEL4WS als Teil der Webservices-Architektur (5) Beschreibung des BPEL4WS-Service per WSDL (6) Die Sprache BPEL4WS im Detail (7) BPEL4WS in der Anwendung (1) Vorführung eines Beispiels (8) Ausblick: Erweiterungen zu BPEL4WS (9) Fazit SOA-Seminar 2006 - BPEL4WS - Christoph Forster (Winf 2370) 2
1. Überblick 1. Überblick SOA-Seminar 2006 - BPEL4WS - Christoph Forster (Winf 2370) 3
1. Überblick Problemstellung: Unternehmen: Enterprise Application Integration (EAI) Komplexe Geschäftsabläufe Hohe Anforderungen Vorhandene Ressourcen optimal nutzen Standards finden Lösungsansatz: BPEL4WS: Business Process Execution Language for Web Services XML-Sprache Orchestrierung (Kombination / Zusammenfassung) von Webservices Zentrale Verwaltung der Geschäftslogik B2B, Veränderung der Geschäftslogik SOA-Seminar 2006 - BPEL4WS - Christoph Forster (Winf 2370) 4
2. Der Geschäftsprozess 2. Der Geschäftsprozess SOA-Seminar 2006 - BPEL4WS - Christoph Forster (Winf 2370) 5
2. Der Geschäftsprozess Geschäftsprozess Geschäft Prozess Produkte / Dienstleistungen verkaufen Gewinn erwirtschaften Vorgangs- bzw. Tätigkeitsabfolge Geschäftsprozess eine Abfolge von Vorgängen zur Erreichung eines Resultates im betriebswirtschaftlichen Sinne Kann Unterprozesse enthalten (bzw. Teil eines höheren sein) Kann Vorgänger und Nachfolger besitzen SOA-Seminar 2006 - BPEL4WS - Christoph Forster (Winf 2370) 6
2. Der Geschäftsprozess Beispiel Ein Kreditinstitut: Ausschnitt eines Funktionsbaums SOA-Seminar 2006 - BPEL4WS - Christoph Forster (Winf 2370) 7
2. Der Geschäftsprozess Aufspaltung der Kreditvergabe Wertschöpfungskette SOA-Seminar 2006 - BPEL4WS - Christoph Forster (Winf 2370) 8
2. Der Geschäftsprozess Kreditvergabe an Kunden im Detail Ereignis-Prozess-Kette (EPK) SOA-Seminar 2006 - BPEL4WS - Christoph Forster (Winf 2370) 9
3. Konzept und geschichtliche Entwicklung 3. Konzept und geschichtliche Entwicklung SOA-Seminar 2006 - BPEL4WS - Christoph Forster (Winf 2370) 10
3. Konzept und geschichtliche Entwicklung Konzept EAI-Bereich Trennung zwischen Geschäftslogik und konkreter Implementierung Reaktion auf Veränderung der Geschäftslogik Bessere Nutzung der Potentiale B2B ( Outsourcing) Einheitliche Schnittstellen Ganzheitliche Informationssysteme Gemeinsame Standards SOA-Seminar 2006 - BPEL4WS - Christoph Forster (Winf 2370) 11
3. Konzept und geschichtliche Entwicklung Geschichte Juli 2002 IBM (WSFL), Microsoft (XLANG), BEA Siebel Systems, SAP OASIS BPEL4WS -> WS-BPEL -> B P E L SOA-Seminar 2006 - BPEL4WS - Christoph Forster (Winf 2370) 12
4. BPEL4WS als Teil der Webservices-Architektur 4. BPEL4WS als Teil der Webservices-Archtiktur SOA-Seminar 2006 - BPEL4WS - Christoph Forster (Winf 2370) 13
4. BPEL4WS als Teil der Webservices-Architektur Vereinfachte Sicht nach Andreas Spall, April 2005 SOA-Seminar 2006 - BPEL4WS - Christoph Forster (Winf 2370) 14
4. BPEL4WS als Teil der Webservices-Architektur BPEL4WS S p ezifikatio n d es o rch estratio n service layer Zusammenspiel von Webservices Zusammenschluss zu neuem Web Service Gleichzeitig Requester und Service-Anbieter Orchestrierung zu einem Geschäftsprozess Beschreibung durch WSDL SOA-Seminar 2006 - BPEL4WS - Christoph Forster (Winf 2370) 15
5. Beschreibung des BPEL4WS-Service per WSDL 5. Beschreibung des BPEL4WS-Service per WSDL SOA-Seminar 2006 - BPEL4WS - Christoph Forster (Winf 2370) 16
5. Beschreibung des BPEL4WS-Service per WSDL Kurzer Blick auf WSDL Beschreibungsgrundlage eines jeden SOAP-Web Service, also auch für bpel-prozesse Types Message porttype Binding Service SOA-Seminar 2006 - BPEL4WS - Christoph Forster (Winf 2370) 17
5. Beschreibung des BPEL4WS-Service per WSDL Web Service Types PortTypes P ortt ype A O peration O Input Output Fault Message A Message B Message C Requestor Binding und Service SOA-Seminar 2006 - BPEL4WS - Christoph Forster (Winf 2370) 18
6. Die Sprache BPEL4WS im Detail 6. Die Sprache BPEL4WS im Detail SOA-Seminar 2006 - BPEL4WS - Christoph Forster (Winf 2370) 19
6. Die Sprache BPEL4WS im Detail Technisch: spezielles XML-Schema Logisch: imperative Programmiersprache Konkrete Ausführung durch Prozess-Manager oder Workflow-Engnines A rbeitet auf dem orchestration service layer <process> als Wurzelelement Z.B. < process nam e= m yb P E LS ervice > SOA-Seminar 2006 - BPEL4WS - Christoph Forster (Winf 2370) 20
6. Die Sprache BPEL4WS im Detail Sprachkonzepte: a) Partnerbeziehungen und Kommunikation b) Strukturanweisungen c) Zustände / Sitzungen d) Ausnahme- und Fehlerbehandlung e) Zusätzliche Sprachelemente SOA-Seminar 2006 - BPEL4WS - Christoph Forster (Winf 2370) 21
6. Die Sprache BPEL4WS im Detail Sprachkonzepte und elemente: a) Partnerbeziehungen und Kommunikation PartnerLinks, PartnerLinkTypes, Roles Invoke Receive Reply Ereignisse EventHandler SOA-Seminar 2006 - BPEL4WS - Christoph Forster (Winf 2370) 22
6. Die Sprache BPEL4WS im Detail Sprachkonzepte und elemente: a) Partnerbeziehungen und Kommunikation PartnerLinkTypes, Roles Erweiterung des WSDL-Dokuments des BPEL-Services Definition von Kommunikationstypen PartnerLinkType BPEL-Web Service Web Service R ole A R ole B PortTypes + Service & Binding Web Service SOA-Seminar 2006 - BPEL4WS - Christoph Forster (Winf 2370) 23
6. Die Sprache BPEL4WS im Detail Sprachkonzepte und elemente: a) Partnerbeziehungen und Kommunikation PartnerLinks, Roles Innerhalb des BPEL-Dokuments Bezugnahme zu PartnerLinkTypes myrole, partnerrole SOA-Seminar 2006 - BPEL4WS - Christoph Forster (Winf 2370) 24
6. Die Sprache BPEL4WS im Detail Sprachkonzepte und elemente: a) Partnerbeziehungen und Kommunikation Invoke Aufruf eines fremden Web Services PartnerLink PT Operation Variablen (Input/Output) - Nur Nachrichtentypen Invoke Web Service SOA-Seminar 2006 - BPEL4WS - Christoph Forster (Winf 2370) 25
6. Die Sprache BPEL4WS im Detail Sprachkonzepte und elemente: a) Partnerbeziehungen und Kommunikation Receive / Reply Realisierung eingehender Webdienstaufrufe Blockung des weiteren Ablaufs bis zum Empfang Für synchrone Kommunikation Reply Ä hnlich dem R eturn klassischer P rogram m iersprachen Variablen zur Aufnahme der Ergebnisse Neue Instanz des Prozesses? SOA-Seminar 2006 - BPEL4WS - Christoph Forster (Winf 2370) 26
6. Die Sprache BPEL4WS im Detail Sprachkonzepte und elemente: a) Partnerbeziehungen und Kommunikation Ereignisbehandlung EventHandler Unabhängig Unmittelbar Operationsaufrufe oder abgelaufene Zeitlimits Z.B. eine Abbruchmeldung oder Zeitüberschreitung Z.B. on Message SOA-Seminar 2006 - BPEL4WS - Christoph Forster (Winf 2370) 27
6. Die Sprache BPEL4WS im Detail Sprachkonzepte: a) Partnerbeziehungen und Kommunikation b) Strukturanweisungen c) Zustände / Sitzungen d) Ausnahme- und Fehlerbehandlung e) Zusätzliche Sprachelemente SOA-Seminar 2006 - BPEL4WS - Christoph Forster (Winf 2370) 28
6. Die Sprache BPEL4WS im Detail Sprachkonzepte und elemente: b) Strukturanweisungen Selektion <switch> Iteration <while> Sequenz <sequence> Nebenläufigkeit <flow> <link> Pick Gültigkeitsraum <scope> SOA-Seminar 2006 - BPEL4WS - Christoph Forster (Winf 2370) 29
6. Die Sprache BPEL4WS im Detail Sprachkonzepte und elemente: b) Strukturanweisungen Selektion Allgemeinste Form implementiert: <switch> B edingte A ktion ( if ) A lternative ( if-then-else ) Auswahl ( sw itch-case-otherw ise bzw. case -of-else-end ) SOA-Seminar 2006 - BPEL4WS - Christoph Forster (Winf 2370) 30
6. Die Sprache BPEL4WS im Detail Sprachkonzepte und elemente: b) Strukturanweisungen Iteration <while>-schleife Klassisch: Wiederholung, so lange eine boolesche Bedingung erfüllt ist. SOA-Seminar 2006 - BPEL4WS - Christoph Forster (Winf 2370) 31
6. Die Sprache BPEL4WS im Detail Sprachkonzepte und elemente: b) Strukturanweisungen Sequenz Explizite Angabe einer sequenziellen Abarbeitung möglich. Wird besonders interessant innerhalb nebenläufiger Umgebungen <sequence>-element SOA-Seminar 2006 - BPEL4WS - Christoph Forster (Winf 2370) 32
6. Die Sprache BPEL4WS im Detail Sprachkonzepte und elemente: b) Strukturanweisungen Nebenläufigkeit Threads innerhalb <flow>-element Gleichzeitiges Abarbeiten mehrerer Aktionen Synchronisation über Vor- und Nachbedingungen m öglich (< Link> : source / target ) SOA-Seminar 2006 - BPEL4WS - Christoph Forster (Winf 2370) 33
6. Die Sprache BPEL4WS im Detail <flow> <links> < link nam e= A tob > </links> <!-- invoke operation A --> <invoke..> < source linkn am e= A tob /> </invoke> <sequence> <!-- some activity --> </flow> <!-- invoke operation B --> <invoke..> < target linkn am e= A tob /> </invoke> </sequence> SOA-Seminar 2006 - BPEL4WS - Christoph Forster (Winf 2370) 34
6. Die Sprache BPEL4WS im Detail Sprachkonzepte und elemente: b) Strukturanweisungen <Pick>: Kombination aus Selektions- und Receive-Semantik Nur eine Aktion aus mehreren Alternativen soll ausgeführt werden. Vom Programm kann jedoch nicht bestimmt werden, welche zuerst begonnen wird. (nicht deterministisch) Blockade aller anderen Möglichkeiten beim Start einer. SOA-Seminar 2006 - BPEL4WS - Christoph Forster (Winf 2370) 35
6. Die Sprache BPEL4WS im Detail Sprachkonzepte und elemente: b) Strukturanweisungen <Pick> <pick> </pick> < onm essage partnerlink= selling portt ype= S ellerp T operation= getp rice variable= item id > <!-- some activities --> </onmessage> < onm essage partnerlink= selling portt ype= S ellerp T operation= buy variable= item id > <!-- some other activities --> </onmessage> SOA-Seminar 2006 - BPEL4WS - Christoph Forster (Winf 2370) 36
6. Die Sprache BPEL4WS im Detail Sprachkonzepte und elemente: b) Strukturanweisungen Gültigkeitsraum Scope Gültigkeit für z.b. Variablen Fehlerbehandlung, Kompensation D arf alles auß er P artnerlinks enthalten SOA-Seminar 2006 - BPEL4WS - Christoph Forster (Winf 2370) 37
6. Die Sprache BPEL4WS im Detail Sprachkonzepte: a) Partnerbeziehungen und Kommunikation b) Strukturanweisungen c) Zustände / Sitzungen d) Ausnahme- und Fehlerbehandlung e) Zusätzliche Sprachelemente SOA-Seminar 2006 - BPEL4WS - Christoph Forster (Winf 2370) 38
6. Die Sprache BPEL4WS im Detail Sprachkonzepte und elemente: c) Zustände / Sitzungen Variablen Korrelation Eigenschaften SOA-Seminar 2006 - BPEL4WS - Christoph Forster (Winf 2370) 39
6. Die Sprache BPEL4WS im Detail Sprachkonzepte und elemente: c) Zustände / Sitzungen Variable Daten referenzieren Auch Prozessinstanzen Wertezuweisung mit Assign <assign> <copy> </copy> </assign> <from>70</from> < to variable= anzahl > SOA-Seminar 2006 - BPEL4WS - Christoph Forster (Winf 2370) 40
6. Die Sprache BPEL4WS im Detail Sprachkonzepte und elemente: c) Zustände / Sitzungen Korrelation Eigenschaftsmengen zur Identifikation Einmalige Initialisierung Verwendung bei ein- und ausgehenden Nachrichten S ession -Informationen SOA-Seminar 2006 - BPEL4WS - Christoph Forster (Winf 2370) 41
6. Die Sprache BPEL4WS im Detail Sprachkonzepte und elemente: c) Zustände / Sitzungen Eigenschaften Interne Werte von Nachrichten werden normalerweise transparent übertragen Mit <property> lässt sich ein Alias definieren auf eine interne Eigenschaften Auf dieses Alias ist der externe Zugriff erlaubt Interessant z.b. bei Identifikations-Nummern SOA-Seminar 2006 - BPEL4WS - Christoph Forster (Winf 2370) 42
6. Die Sprache BPEL4WS im Detail Sprachkonzepte: a) Partnerbeziehungen und Kommunikation b) Strukturanweisungen c) Zustände / Sitzungen d) Ausnahme- und Fehlerbehandlung e) Zusätzliche Sprachelemente SOA-Seminar 2006 - BPEL4WS - Christoph Forster (Winf 2370) 43
6. Die Sprache BPEL4WS im Detail Sprachkonzepte und elemente: d) Ausnahme- und Fehlerbehandlung Faults: Teil der WSDL-Sprache Globaler Scope > Terminierung FaultHandler: <catch>, <catchall> Explizites Hervorrufen <throw> F aultnam e eines < reply> Kompensation Bei langlaufenden Prozessen Rückgängig machen von eigentlich in sich erfolgreichen Aktionen CompensationHandler compensate SOA-Seminar 2006 - BPEL4WS - Christoph Forster (Winf 2370) 44
6. Die Sprache BPEL4WS im Detail Sprachkonzepte und elemente: d) Ausnahme- und Fehlerbehandlung <Compensate> bzw. CompensationHandler machen Ereignisse rückgängig, die eigentlich in sich erfolgreich waren u. U. auch mit neuen Webdienst-Aufrufen FaultHandler kümmert sich um die konkrete Fehlerabwicklung SOA-Seminar 2006 - BPEL4WS - Christoph Forster (Winf 2370) 45
6. Die Sprache BPEL4WS im Detail Sprachkonzepte: a) Partnerbeziehungen und Kommunikation b) Strukturanweisungen c) Zustände / Sitzungen d) Ausnahme- und Fehlerbehandlung e) Zusätzliche Sprachelemente SOA-Seminar 2006 - BPEL4WS - Christoph Forster (Winf 2370) 46
6. Die Sprache BPEL4WS im Detail Sprachkonzepte und elemente: e) Weitere Sprachelemente <terminate> Exit-Semantik <wait> Z.B. <wait for="'pt1h2m20s'"/> <Empty> Nichts tun Z.B. im Fall eines Fehlers SOA-Seminar 2006 - BPEL4WS - Christoph Forster (Winf 2370) 47
7. BPEL4WS in der Anwendung 7. BPEL4WS in der Anwendung SOA-Seminar 2006 - BPEL4WS - Christoph Forster (Winf 2370) 48
7. BPEL4WS in der Anwendung Konkrete Ausführung: BPEL-Workflow-Engines Prozess-Manager Konkrete Umsetzung uninteressant Design: Design-Tools Code Graphische Elemente SOA-Seminar 2006 - BPEL4WS - Christoph Forster (Winf 2370) 49
7. BPEL4WS in der Anwendung Verschiedene Tools: Oracle BPEL Process Manager Twister INTALIO BPWS4J WebSphere Integration Developer Microsoft Biz Talk Server Active BPEL SOA-Seminar 2006 - BPEL4WS - Christoph Forster (Winf 2370) 50
7. BPEL4WS in der Anwendung SOA-Seminar 2006 - BPEL4WS - Christoph Forster (Winf 2370) 51
7. BPEL4WS in der Anwendung Kreditwürdigkeit prüfen: Kunde schickt Daten inklusive Wunschkredit an Prüfungsprozess < 10000: A ssessor m it check R isk: low : yes R isk: high: approve ( prüfen ) > = 10000: A pprover m it approve ( billigen ) Risk: yes / no Rückgabe der Entscheidung Yes / no SOA-Seminar 2006 - BPEL4WS - Christoph Forster (Winf 2370) 52
8. Ausblick: Erweiterungen zu BPEL4WS 8. Ausblick: BPEL-Erweiterungen SOA-Seminar 2006 - BPEL4WS - Christoph Forster (Winf 2370) 53
8. Ausblick: Erweiterungen zu BPEL4WS BPELJ: Kombination aus WS-BPEL und Java Kleine Änderungen an Grundsprache Java-Code-Elemente BPEL4People: Wunsch: Nicht nur Maschine-zu-Maschine S tandardisierung des H um an -Interface-T eils Realiät: viel Benutzerinteraktion SOA-Seminar 2006 - BPEL4WS - Christoph Forster (Winf 2370) 54
9. Fazit 9. Fazit SOA-Seminar 2006 - BPEL4WS - Christoph Forster (Winf 2370) 55
9. Fazit Webservices: Kein neues Konzept Middleware-Lösungen wie CORBA Möglichkeiten für Geschäftslogik vorhanden Weit entwickelte Applikations-Server und Frameworks Altsysteme nicht wertlos Vorzüge nicht verkennen Neustrukturierung teuer IT-Infrastru ktu ren sin d n ich t einfach so austau sch b ar. SOA-Seminar 2006 - BPEL4WS - Christoph Forster (Winf 2370) 56
9. Fazit Gemeinsamer Standard Hohe Akzeptanz bei wichtigen Softwareunternehmen Verbessert die Pflege der Geschäftslogik Zentralisiert, abstrahiert Junge Unternehmen werden es nutzen Gefahr, abgehängt zu werden technologisch SOA-Seminar 2006 - BPEL4WS - Christoph Forster (Winf 2370) 57
9. Fazit Grad der Granulierung prüfen Den Grad der Nutzung richtig wählen Nicht Java oder.net einfach komplett rausschmeißen Mutig Strukturen verbessern Nicht aus reiner Angst vor Veränderung wichtige S trukturverbesserungen verschlafen SOA-Seminar 2006 - BPEL4WS - Christoph Forster (Winf 2370) 58
Vielen Dank Vielen Dank für die Aufmerksamkeit SOA-Seminar 2006 - BPEL4WS - Christoph Forster (Winf 2370) 59