1 / 42

eFlow

eFlow. Claudia Pircher Barbara Unterthurner. Inhalt. Einführung und Motivation Überblick über eFlow Dynamic Service Discovery Multiservice Nodes Generic Service Nodes Modifikationen. Einführung und Motivation 1.

cloris
Download Presentation

eFlow

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. eFlow Claudia Pircher Barbara Unterthurner

  2. Inhalt • Einführung und Motivation • Überblick über eFlow • Dynamic Service Discovery • Multiservice Nodes • Generic Service Nodes • Modifikationen eFlow

  3. Einführung und Motivation 1 • Über das Internet angebotene E-Services müssen mit einer sich ständig verändernden, also stark dynamischen Geschäftsumwelt fertig werden • Durch fortwährende Weiterentwicklung der Technologie und dadurch, dass viele Geräte internetfähig wurden, wächst die Zahl und Art der Services und Anbieter täglich • Der Wettbewerb wächst und die Anbieter sind gezwungen kundenspezifische Services anzubieten um wettbewerbs-fähig zu bleiben,z.B. e-move • Diese Entwicklung stellt hohe Anforderungen an ein System, welches die Entwicklung und Zustellung von composite e-services unterstützen soll. eFlow

  4. Einführung und Motivation 2 • eFlow ist eine Plattform um composite e-services zu spezifizieren, in Gang zu setzen und zu überwachen • Composite e-services sind Prozesse die andere composite oder Basis-Services zu einem Service zusammenfügen • Bietet Vielzahl von Funktionen, welche die Service-Prozess-Spezifikation und das Service-Prozess Management unterstützen • Besitzt mächtige, trotzdem einfache service composition language • Event und Exception-Handling • ACID Service- Level Transaktionen (Abgeschlossene Bereiche) • Security-Management • Überwachungsfunktionen eFlow

  5. Einführung und Motivation 3 • Über das Internet angebotene E-Services müssen also mit einer sich ständig verändernden Geschäftsumwelt fertig werden • Natürlich ist es nicht möglich den Prozess kontinuierlich den Änderungen der Marktbedingungen anzupassen • Änderungen würden zu häufig auftreten • Außerdem sind Prozessänderungen eine delikate und zeitaufwendige Angelegenheit • Es sollte aber möglich sein Prozessänderungen mit minimalsten Benutzereingriff oder mit keinem Eingriff durchzuführen eFlow

  6. Einführung und Motivation 4 • Es sollte auch möglich sein Prozess-Definitionen oder Änderungen auf einfache und effektive Art durchzuführen, wo Benutzereingriff erforderlich • Um dynamische Prozessmodifikationen zu ermöglichen, war eines der Hauptziele die Schaffung einer einfachen Modifikationssemantik • Bildung von Konsistenzregeln • Bildung von Autorisationsregeln eFlow

  7. Composite E-Services • Composite e-services sind Prozesse die andere composite oder Basis-Services zu einem Service zusammenfügen • Composite services werden als Geschäftsprozesse modelliert und durch ein Prozessschema beschrieben • Sie werden vom Service-Process-Engine ausgeführt • Ein Service wird durch einen Graphen dargestellt, welche die Ausführungsordnung zwischen den einzelnen Nodes angibt. eFlow

  8. Nodes • Service Nodes: stellen den Aufruf eines Basis/Composite-Services dar • Decision Nodes: spezifizieren die Alternativen und Regeln, welche den Ausführungsfluss kontrollieren • Event Nodes: ermöglichen es den Service-Prozessen verschiedene Eventtypen zu senden und zu empfangen eFlow

  9. Informations- beschaffung Restaurant Reservierung Werbung Einladung Registrierung Rechnungs Ausstellung Prozess-Instanz-Schema eFlow

  10. Überblick über eFlow • Eine Instanz des Service-Prozesses wird durch Inkrafttreten des Prozessschemas erzeugt • Der selbe Prozess kann mehrmals instanziert werden, und es können auch mehrere Instanzen gleichzeitig laufen • Service Nodes haben einen Zugang zu den Daten der Fall-Packets, sie können diese lesen und ändern • Jede Prozessinstanz hat eine lokale Kopie dieser Fall-Packets eFlow

  11. Service-Node-Spezifikation • Die Service-Node-Spezifikation beinhaltet • welche Daten der Service Node zu lesen und ändern berechtigt ist, • die Beschreibung des Services, der aufgerufen werden soll • Die vom Kunden gestellten Anforderungen, • Einen letzten Ausführungstermin, im Falle eines Verzugs • Weiters beinhaltet sie eine Service-Auswahl-Anweisung, welche verschiedene Eingangs- und Ausgangsparameter haben kann eFlow

  12. Abgeschlossene Bereiche • Abgeschlossener Bereich • Identifiziert einen Teil des Prozessgraphen, welcher nach dem ACID-Prinzip ausgeführt werden soll. • Kompensationsaktionen • Spezifikation von Isolation modes eFlow

  13. Engine • Prozessinstanzen werden vom Engine in Kraft gesetzt • Der Engine kontrolliert den Zugang zu den Fall-Packet-Daten • Seine Hauptaufgabe ist es Nachrichten zu bearbeiten • 1 Nachricht über Zustand des Services • 2 Mitteilungen eingetretener Events • Diese gibt er in 2 FIFO-Queues ohne spezifizierte Priorität eFlow

  14. Aufgaben des Engine • 1 aktualisiert die Prozessdaten, bereitet nächsten Knoten für die Ausführung vor • 1 weiters kontaktiert er den Vermittler um den Service und Service-Provider zu entdecken der die in der Service-Node-Definition spezifizierten Anforderungen erfüllt • Kontaktiert dann Service-Provider um Service auszuführen • 2 Die events bearbeitet er indem er sie den anfordernden Nodes zustellt • Protokolliert jedes Event und garantiert Prozessintegrität eFlow

  15. Log für Instanz- Ausführung External Service Broker Service eFlow Service Broker eFlow Engine Event Monitor Service completion queue Speicher für Service- Beschrei- bungen Speicher für Schema- Definitionen Proxy Event queue Überblick Proxy eFlow

  16. Anpassungsfähige Service Prozesse • Um mit den ständigen Veränderungen zurecht zu kommen und um daraus einen Vorteil zu ziehen, müssen Service-Prozesse anpassungsfähig sein, • d.h. Änderungen unter minimalsten Eingriff der Benutzer oder durch keinen Eingriff von außen durchzuführen. • eFlow bietet verschiedene Funktionen an: • Dynamic Service Discovery • Multiservice Nodes • Generic Nodes eFlow

  17. Dynamic Service Discovery • Warum? • Um mit den Charakteristiken der Internetumgebung klarzukommen bietet eFlow eine offene und dynamische Vorgehensweise für die Service-Auswahl • Statische Service-Bindung ist oft zu starr, ermöglicht nicht: • Auswählen des passenden Services abhängig von Kundenwünschen • Entkoppeln der Serviceauswahl von der Prozessdefinition • Dynamische Entdeckung der verfügbaren Services, welche am besten die Wünsche eines spezifischen Kunden erfüllen eFlow

  18. Dynamic Service Discovery 2 • Ist ein Service-Node gestartet, ruft der engine eine Service-Broker, einen Vermittler auf • Benutzer können aber einen eigenen Vermittler auswählen: Plugged-in Broker • Dieser führt die spezifische Regel aus und liefert den entsprechenden Service zurück • Diese Service-Auswahl-Anweisung sind in einer Broker-spezifischen Sprache definiert, z.B. XQL für e-speak • eFlow fordert nur, dass die Regel ein XML-Dokument zurück liefert • Diese soll die Definition der Eingangs- und Ausgangsdaten, die zu benutzende URI um den Service zu kontaktieren, Rechnungs- und Zahlungsinformationen, einen Prioritätswert enthalten eFlow

  19. Log für Instanz- Ausführung External Service Broker Service Eflow Ser- vice-Broker Efloe Engine Event Monitor Service completion queue Speicher für Service- Beschrei- bungen Speicher für Schema- Definitionen Proxy Event queue Dynamic Service Discovery Service-Auswahl-Anweisung Proxy XML-Dokument eFlow

  20. Dynamic Service Discovery 3 Mapping • Mapping zwischen den Eingangs/Ausgangsdaten und den aufgerufenen Service wird durch eine Mapping-Funktion realisiert, welche als ein Set von Stringpaaren spezifiziert ist • <case packet variable name, service variable name> • Eine Mapping-Funktion muss für ein Paar <service node, service description> definiert werden • Und zwar bevor der Service aufgerufen wird eFlow

  21. Dynamic Service Discovery 4 Plugged-in Broker • Bei Plugged-in Broker: diese müssen nicht unbedingt Zugang zum Service-Speicher haben • Service-Auswahl-Anweisung werden in der Sprache, die der Broker unterstützt definiert • Selbe einfache Schnittstelle des Default-Brokers präsentieren • Oder Adapter muss vermitteln • Mapping-Funktion zurück schicken eFlow

  22. Multiservice Nodes Knoten zur mehrfachen, parallelen Aktivierung des selben e-Services. Informationsbeschaffung MultiserviceNode Kreditprüfung: Kunde 1 Kreditprüfung Kreditprüfung: Kunde 2 Kreditprüfung: Kunde 3 ... eFlow

  23. Multiservice Nodes • Bestimmungs-Faktoren für die Anzahl der zu aktivierenden Instanzen: • Anzahl der Service-Anbieter • Inputparameter • Terminierungs-Bedingung: • Abschluss aller Services • Erhalten eines bestimmten Ergebnisses eFlow

  24. Multiservice Nodes • Spezifikation eines Multiservice-Nodes ... <MULTISERVICE_NODE id="check_customer_credit"> <NAME> check Customers´credit </NAME> <SERVICE_NODE id="check_single_customer_credit" /> <DESCRIPTION> Multiservice der die Kredit Historie verschiedener Kunden parallel prüft </DESCRIPTION> <ACTIVATION mode="by_variable" varref="custermers_list" /> <TERMINATION> rejections.length > 0 </TERMINATION> <MULTISERVICE_NODE> ... eFlow

  25. Generic Service Nodes • Knoten zur Aktivierung mehrerer, unterschiedlicher e-Services. • Platzhalter-Element Flexible Gestaltung der e-Services zur Befriedigung individueller Kundenwünsche eFlow

  26. Generic Service Nodes Restaurant Reservierung Parameter-Liste Bereitstellung Audiogeräte Service-Node Pool Generic Node Engagierung Tontechniker ... Rechnung ausstellen eFlow

  27. Generic Service Nodes • Enthält einen Parameter für die Services • Parameter ist vom Typ ListOf(Service_Node) • Ausführungsweise wird im Attribut executionMode festgelegt: • sequential (Schleife) • parallel eFlow

  28. Generic Service Nodes • Spezifikation eines Generic Service Nodes ... <GENERIC_NODE id="award_ceremony_services> <NAME> Award Ceremony Service </NAME> <SERVICE_NODE_POOL> Ceremony Service Pool </SERVICE_NODE_POOL> <DESCRIPTION> Platzhalter für Service-Knoten, die sich auf einen Ceremony-Service beziehen und parallel ausgeführt werden </DESCRIPTION> <SERVICE_SELECTION_VAR> SelectedServices </SERVICE_SELECTION_VAR> <EXECUTION_MODE mode="parallel" /> </GENERIC_NODE> ... eFlow

  29. Modifikationen • Ursachen • neue Gesetzeslage oder Geschäftsstrategie • Prozessoptimierung • Fehlerkorrektur • Mangelhaftigkeit der aktuellen Definition • Modifikationsarten: • Ad-hoc Modifikation • Pulk-Modifikation eFlow

  30. Ad-hoc-Modifikation • Modifikation einereinzelnen, laufenden Prozess-Instanz • Zwei Arten: • Änderung des Prozess-Instanz-Schemas • Änderung des Prozess-Instanz-Status eFlow

  31. Ad-hoc-ModifikationProzess-Instanz-Schema Quell-Schema Informations- beschaffung Restaurant Reservierung Werbung Einladung Registrierung Rechnungs Ausstellung eFlow

  32. Ad-hoc-ModifikationProzess-Instanz-Schema Ziel-Schema Informations- beschaffung Restaurant Reservierung Werbung Einladung Registrierung Catering Rechnungs Ausstellung eFlow

  33. Ad-hoc-ModifikationVorgehen 1: Identifikation d. Instanz Definition Ziel-Schema 2: Anweisung, Ausführung d. Instanz zu unterbrechen eFlow engine migration manager 1 2 5 4b 5: Anweisung, Ausführung d. Instanz fortzusetzen 4b: Fehlermeldung Benutzer 3 3 3: Prüfung der Konsistenz des neuen Schemas durch Zugriff auf Ausführungsstatus und Definition des alten Schemas 4a 4a: Bilden des ausführbaren Instanz-Schemas Speicher für Schema- Definitionen Log für Instanz- Ausführung event queue service completion queue eFlow

  34. Ad-hoc-Modifikation:Konsistenz-Regeln • Gerade aktive Knoten müssen im Ziel-Schema enthalten sein • Variable, die im Quell- und Zielschema enthalten sind, müssen vom gleichen Typ sein • Spezielle Regeln bezüglich des Abgeschlossenen Bereichs eFlow

  35. Ad-hoc-Modifikation:Prozess-Instanz-Status • Durch den service operation monitor • ohne Unterbrechung des Prozesses • Aktionen: • Ändern der Instanz-Packet-Variablen • Wiederholen von Prozessbereichen • Beenden des Prozesses • Neuzuweisung eines Knotens an einen anderen Service eFlow

  36. Pulk-Modifikation • Modifikation mehrerer, laufender Prozess-Instanzendes selben Prozessesmit gleichen Eigenschaften • Beispiel: Änderungs-Anweisung IF (guests > 100) THEN MIGRATE TO “Security_Ceremony_Service" eFlow

  37. Pulk-Modifikation: Beispiel Ziel-Schema D1 Änderungs-Anweisungen IF cond1 THEN MIGRATE TO D1 IF cond2 THEN MIGRATE TO D2 IF cond3 THEN MIGRATE TO D3 Ziel-Schema D1 Ziel-Schema D1 Quell-Schema eFlow

  38. Pulk-Modifikation: Vorgehen • Definition, Compilierung und Überprüfung der Überführungs-Vorschrift • Unterbrechung aller laufender Instanzen des Prozesses • Prüfung der Erfüllung der Bedingung der Änderungs-Anweisung • Prüfung der Konsistenz-Regeln und der Autorisierung • Durchführung der Änderung • Fortsetzen der Ausführung eFlow

  39. Sicherheits-Regeln • Berechtigungen in Abhängigkeit vom Ausführungs-Status • Berechtigungen: • Authorized_State_Modifiers • Authorized_Node_Modificators • Authorized_Flow_Modificators • Authorized_Initiators eFlow

  40. Implementierung • Prototyp von HP (F. Casati, M. Shan) basierend auf e-speak und Process Manager http://www.research.microsoft.com/research/db/debull/A01mar/issue.htm • Ansatz der Universität Saarland (G. Shegalov, M. Gillmann, G. Weikum) Java-basiert und XML-basiert http://www-dbs.cs.uni-sb.de/~gillmann/Publications/XML-TES.pdf eFlow

  41. Zusammenfassung • Einführung und Motivation • Überblick über eFlow • Dynamic Service Discovery • Multiservice Nodes • Generic Service Nodes • Modifikationen eFlow

  42. Literatur • F. Casati, S Ilnicki, L. Jin, V. Krishnamoorthy, M. Shan, Adaptive and Dynamic Service Composition in eFlow, Technical Report HPL-2000-39, HP Software Technology Laboratory, März 2000: http://www.hpl.hp.com/techreports/2000/HPL-2000-39.pdf • F. Casati, S Ilnicki, L Jin, V. Krishnamoorthy, M Shan, eFlow: a Platform for Developing and Managing Composite e-Services, Technical Report HPL-2000-36, HP Software Technology Laboratory, März 2000: http://www.hpl.hp.com/techreports/2000/HPL-2000-36.pdf • F.Casati, M. Shan, Definition, Execution, Analysis, and Optimization of Composite E-Services, HP Laboratories, 2001: http://www.research.microsoft.com/research/db/debull/A01mar/issue.htm eFlow

More Related