Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

David Kružić Studienprojekt: DecidR+ 18. Januar 2010 WS – BPEL.

Ähnliche Präsentationen


Präsentation zum Thema: "David Kružić Studienprojekt: DecidR+ 18. Januar 2010 WS – BPEL."—  Präsentation transkript:

1 David Kružić kruzicdd@studi.informatik.uni-stuttgart.de Studienprojekt: DecidR+ 18. Januar 2010 WS – BPEL

2 2 Inhalt Spezifikation Einführung BPEL Prozessdefinition BPEL Prozesstypen Aktivitäten Interaktionsaktivitäten Flow, scopes, fault und compensation handling anhand von einem Beispiel Weiterführendes Praktische Umsetzung Beispiel: Hello World! Apache ODE & Eclipse IDE Projektbezug Ist-Zustand Soll-Zustand

3 Spezifikation

4 4 Einführung Zusammenhang zu anderen Webstandards Prozessebene:BPEL Schnittstelle:WSDL Nachrichtenformat:SOAP Typ:XML Schema Ausdrucks Sprache:XPath 1.0 Die WSDL Schnittstelle BPEL PL Type WSDL Message Message Part Process ActionPartner Link Port Type Operation Partner Link Type Role BPEL

5 5 BPEL Prozess Definition Code Skelett Orchestrierungsmodell <processname="TimesheetSubmission" targetNamespace="http://www.xmltc.com/ptc/process/" xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable/" …> … … … … WS1WS2WS3 Prozess Requester Inbound Outbound

6 6 BPEL Prozesstypen Asynchron Wartet nicht Implementierung durch invoke callback Procedure Zwei portType’s Executable xmlns=../executable Ausführbar Alles sichtbar Konkreter Workflow Beliebig viel zusätzlicher BPEL Code Abstract xmlns=../process Nicht Ausführbar Information hiding Process templates opaque = pflicht Synchron Wartet auf terminierung Implementierung durch reply Function Ein portType vs

7 7 Aktivitäten Invoke Ruft einen externen Partner (Service) auf Reply Kommt normalerweise nach receive Receive (Start Aktivität) <receivename="receiveInput" partnerLink="client" portType="tns:HelloWorld" operation="process" variable="input" createInstance="yes" /> <invokename=“callbackClient“ partnerLink="client" portType="tns:HelloWorldCB" operation="onResult" inputVariable="input" /> <replyname=“replyOutput“ partnerLink="client" portType="tns:HelloWorld" operation="process“ variable="input" /> Fragen?

8 8 Aktivitäten While Nur eine Kind-Aktivität Assign & Copy Literal Zuweisung Part‘s kopieren Query eventHandlers Läuft asynchron ab Sequence Nacheinander Ausführung … XPath Expression …

9 9 Aktivitäten Beispiel: Transaktion Flow: Parallele Ausführung Links: Ablauf synchronisieren Correlations: Instanz identifizieren …

10 10 Aktivitäten Scopes Abgesonderter Definitionsbereich Fault and compensation handling Abfangen mit catch und catchAll Rekursiv joinCondition Entspricht einer Startbedingung $EntriesApproval and $ExpensesApproval

11 11 Weiterführendes Fragen? Es gibt viel mehr BPEL Konstrukte als vorgestellt! (siehe BPEL Spezifikation) Extensions Laufzeit beeinflussende Extensions Optionale Extensions WS-BPEL4People WS-BPEL4SPE

12 Praktische Umsetzung

13 13 Beispiel: Hello World! Beschreibung Input Variable wird ausgegeben Lösungsansatz Synchron Ein SOAP Binding Simpler Web Service für Ein- Ausgabe BPEL PL Type WSDL HelloWorldResponseMessage payload HelloWorld replyOutput client HelloWorld process HelloWorld HelloWorldProvider BPEL

14 14 Apache ODE & Eclipse IDE Eclipse mit ODE Plugin Gut geeignet zum rumprobieren Verbunden mit tomcat Server Daher unkompliziertes Deployment Integrierter Web Service Explorer Graphische design Oberfläche Apache Tomcat ODE Eclipse BPEL Plugin Deployment WS Explorer

15 Projektbezug

16 16 Ist-Zustand Modellierungstool Simple Programmblöcke: if flow forEach Simple und komplexe Variablen DWDL -> EDWDL -> BPEL Human Task Web Service Tasks erstellen und Nutzern zuweisen Tasks löschen Tasks auslesen und verändern Alle Tasks auflisten Alle einem Tenant zugehörigen Tasks auflisten

17 17 Soll-Zustand Notizen aus dem Kundengespräch Extension of IF and Concurrent Tasks Deadline for Human Tasks Web Service Integration (RPC/Graphical) „Transaktions-fähigkeit“ Mögliche Lösungsansätze Zu den vorhandenen Workflow Elementen sequence hinzufügen eventHandlers mit onAlarm Zu den vorhandenen Aktivitäten muss eine “Web Service” Aktivität hinzugefügt werden. compensationHandler für umkehrbare Aktivitäten Weitere Fragen?

18 End Of Document


Herunterladen ppt "David Kružić Studienprojekt: DecidR+ 18. Januar 2010 WS – BPEL."

Ähnliche Präsentationen


Google-Anzeigen