Using Workflows to Coordinate Web Services in Pervasive Computing Environments Vortrag im Rahmen des Seminars SOA 2005 im Fachbereich Informatik angefertigt von Volker Henke
Agenda 1. Ubiquitous Computing und Workflows 2. BPEL4WS 3. Systemarchitektur & Interaktionsschritte 4. Fazit
Ubiquitous Computing Begriff geprägt Anfang der 90er Jahre von Marc Weiser Definition/Ziel: unaufdringliche, humanzentrierte und alle Bereiche der Realität durchdringende Technikvision gesteigerter Nutzen für den Menschen, während der Computer immer weiter in den Hintergrund seines Bewusstseins rückt Geräte Weiterentwicklung auf verschiedenen Gebieten Integration in beliebige Alltagsgegenstände an Situation angepasstes Verhalten (Kontextabhängigkeit) Teilgebiete Embedded Computing, Wearable Computing und Sensornetze Pervasive Computing
Ubiquitäre Umgebungen Vorteile Vielzahl von mobilen und stationären Geräten einfach ansprechbar und interaktiv verbunden hohe Benutzerfreundlichkeit Vielzahl an verfügbaren Diensten Nachteile Unübersichtlichkeit der ubiquitären Umgebung Sicherheitsfragen Koordination der Geräte (OS)
Workflows Ein Workflow ist der Teil eines Prozesses, der die zeitlichsachlogische Abfolge von Aktivitäten sowie Informationen über die an der [Funktions-] Ausführung beteiligten Daten und Ressourcen umfasst. Ziel der Spezifikation eines Workflows ist die informationstechnische Unterstützung seiner Ausführung, wobei Übergänge zwischen den einzelnen Aktivitäten unter der Kontrolle eines WfMS stehen. Kleidungskategorie wählen Kleidungsstück wählen Zahlungsart wählen / bezahlen Verpackung wählen Kleidungsstück anprobieren Kaufvorgang abbrechen
Workflows und Ubiquitous Computing Vorteile im Bezug auf Ubiquitous Computing: Koordination (Verzweigungsbedingungen) Komplexitätsreduktion Zielerreichung Integration verschiedener Systemkomponenten auf unterschiedlichen Ebenen hohe Flexibilität, ohne Änderungen anpassbar Skalierbarkeit Fehlerbehandlung und Transaktionsmanagement Nachteil nur für strukturierte Prozesse geeignet
BPEL4WS 1. Ubiquitous Computing und Workflows 2. BPEL4WS 3. Systemarchitektur & Interaktionsschritte 4. Fazit
BPEL4WS: Grundlagen Business Process Execution Language for Web Services Sprache auf XML basierend Ebene über WSDL Modellierung von Geschäftsprozessen Einbindung von Webservices
BPEL4WS-Skript: Aufbau <process> <partnerlinks> <!-- Webservices, die in den Workflow mit eingebunden werden. --> </partnerlinks> <partners> <!-- Business-Partners - muss nicht definiert werden --> </partners> <variables> <!-- Auszutauschende Nachrichten bzw. Prozessdaten. --> </variables> <correlationsets> <!-- Daten zur Identifizierung einer Prozessinstanz --> </correlationsets> <faulthandlers> <!-- Mind. eine Fehlerbehandlung (default). --> </faulthandlers> <compensationhandler> <!-- Aufruf nur über faulthandlers und compensationhandlers --> </compensationhandler> <eventhandlers> <!-- Mind. ein onmessage und onalarm handler. --> </eventhandlers> <!-- Aktivität(en) --> </process>
BPEL4WS-Skript: Workflow 1 <flow> 2 <links> 3 <link name="a-to-b"/> 4 <link name="c-to-d"/> 5 </links> 6 <sequence name="a"> 7 <source linkname="a-to-b"/> 8 <invoke name="x".../> 9 <invoke name="y".../> 10 </sequence> 11 <sequence name="b"> 12 <target linkname="a-to-b"/> 13 <receive name="c"...> 14 <source linkname="c-to-d transitioncondition="bpws:getvariabledata('var','field')< 1" /> 15 </receive> 16 <invoke name="z".../> 17 </sequence> 18 <invoke partnerlink="d" porttype="d_pt" operation="op1"> 19 <target linkname="c-to-d"/> 20 </invoke> 21 </flow>
BPEL4WS: Begriffe Partner(Links): beteiligte Webservices keine Unterscheidung nach Client/Server Aktivitäten: Aufrufen von Webservices Transformation von Daten Fehlerbehandlung Beenden des Workflows
Systemarchitektur & Interaktionsschritte 1. Ubiquitous Computing und Workflows 2. BPEL4WS 3. Systemarchitektur & Interaktionsschritte 4. Fazit
Szenario ubiquitäre Einkaufsumgebung mögliche Ziele in der Umgebung Einkaufen von Kleidungsstücken Reklamation von Fehlern beispielhafter Workflow: Kleidungskategorie wählen Kleidungsstück wählen Zahlungsart wählen / bezahlen Verpackung wählen Kleidungsstück anprobieren Kaufvorgang abbrechen
Systemarchitektur W orkflow Template Service Context Service Step 3 Task Planner Service Step 4 User Preferences & History Service Step 2 Step 5 Step 1 Task Selection Service M odality A User Interface Service M odality B Step 6 Personal WebService Store Layout Service Payment Service Shirt Service User Preference Service External WebService Other Store Web Service
Workflowinteraktion Interaktionsschritte 1. Schritt: Abfrage des Ziels 2. Schritt: Aufrufen des Task-Planner-Service 3. Schritt: Auswahl eines passenden BPEL-Templates 4. Schritt: Anpassen des Workflows an Situation und Nutzer 5. Schritt: Deployment des Workflows 6. Schritt: Workflowausführung Direkte Workflowinteraktion Verfeinern des Ziels Beeinflussen von Entscheidungen Direkte Kommunikation mit den aufgerufenen Webservices
Kritische Betrachtung Positive Merkmale: Verwendung von standardisierten Bausteinen Workflows: Flexible Systemkomposition, Koordination BPEL, WSDL: Offenheit Unterstützung von Fehlerbehandlung und Kompensationsmechanismen HTML als Präsentationssprache Erkennbarer Nutzen für den Anwender Offene Punkte Viele Prämissen Lokalisierbarkeit des Nutzers (Tracker Service, Touchscreens) Benötigte Vorkenntnisse auf Seite des Shop-Besitzers
Kritische Betrachtung Offene Punkte (Forts.) BPEL Komplexität schon bei einfachen Vorgängen Toolunterstützung vorausgesetzt nur Webservices einbeziehbar nur bei der Modellierung bekannte Dienste einbindbar (User-Preference-Service) kritische Sprachkonstrukte (nichtdeterministisch in der Zeit) keine Zieländerung während der Workflowausführung Sicherheitsfragen oft ungeklärt direkte Interaktion Bezahlvorgänge Fremde Webservices
Fazit 1. Ubiquitous Computing und Workflows 2. BPEL4WS 3. Systemarchitektur & Interaktionsschritte 4. Fazit
Fazit Ubiquitous Computing viele neue Möglichkeiten zur Unterstützung des Nutzers Workflows Instrument zur Koordination von Prozessen Systemarchitektur Sinnvolle Kombination mit erkennbarem Nutzen für den Anwender aber: Technologie und Nutzer haben noch Entwicklungsbedarf!
Ende Vielen Dank für die Aufmerksamkeit! Fragen?