Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

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

Ähnliche Präsentationen


Präsentation zum Thema: "EFlow Claudia Pircher Barbara Unterthurner. eFlow2 Inhalt Einführung und Motivation Überblick über eFlow Dynamic Service Discovery Multiservice Nodes."—  Präsentation transkript:

1 eFlow Claudia Pircher Barbara Unterthurner

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

3 eFlow3 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.

4 eFlow4 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

5 eFlow5 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

6 eFlow6 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

7 eFlow7 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.

8 eFlow8 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

9 eFlow9 Prozess-Instanz-Schema Informations- beschaffung Restaurant Reservierung WerbungEinladungRegistrierung Rechnungs Ausstellung

10 eFlow10 Ü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

11 eFlow11 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

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

13 eFlow13 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

14 eFlow14 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

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

16 eFlow16 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

17 eFlow17 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

18 eFlow18 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

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

20 eFlow20 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 Eine Mapping-Funktion muss für ein Paar definiert werden Und zwar bevor der Service aufgerufen wird

21 eFlow21 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

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

23 eFlow23 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

24 eFlow24... check Customers´credit Multiservice der die Kredit Historie verschiedener Kunden parallel prüft rejections.length > 0... Multiservice Nodes Spezifikation eines Multiservice-Nodes

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

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

27 eFlow27 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

28 eFlow28 Generic Service Nodes Spezifikation eines Generic Service Nodes... Award Ceremony Service Ceremony Service Pool Platzhalter für Service-Knoten, die sich auf einen Ceremony-Service beziehen und parallel ausgeführt werden SelectedServices...

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

30 eFlow30 Ad-hoc-Modifikation Modifikation einer einzelnen, laufenden Prozess-Instanz Zwei Arten: Änderung des Prozess-Instanz-Schemas Änderung des Prozess-Instanz-Status

31 eFlow31 Ad-hoc-Modifikation Prozess-Instanz-Schema Informations- beschaffung Restaurant Reservierung WerbungEinladungRegistrierung Rechnungs Ausstellung Quell-Schema

32 eFlow32 Ad-hoc-Modifikation Prozess-Instanz-Schema Informations- beschaffung Restaurant Reservierung WerbungEinladungRegistrierungCatering Rechnungs Ausstellung Ziel-Schema

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

34 eFlow34 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

35 eFlow35 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

36 eFlow36 Pulk-Modifikation Modifikation mehrerer, laufender Prozess- Instanzen des selben Prozesses mit gleichen Eigenschaften Beispiel: Änderungs-Anweisung IF (guests > 100) THEN MIGRATE TO Security_Ceremony_Service"

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

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

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

40 eFlow40 Implementierung Prototyp von HP (F. Casati, M. Shan) basierend auf e-speak und Process Manager Ansatz der Universität Saarland (G. Shegalov, M. Gillmann, G. Weikum) Java-basiert und XML-basiert

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

42 eFlow42 Literatur F. Casati, S Ilnicki, L. Jin, V. Krishnamoorthy, M. Shan, Adaptive and Dynamic Service Composition in eFlow, Technical Report HPL , HP Software Technology Laboratory, März 2000: F. Casati, S Ilnicki, L Jin, V. Krishnamoorthy, M Shan, eFlow: a Platform for Developing and Managing Composite e-Services, Technical Report HPL , HP Software Technology Laboratory, März 2000: F.Casati, M. Shan, Definition, Execution, Analysis, and Optimization of Composite E-Services, HP Laboratories, 2001: /issue.htm /issue.htm


Herunterladen ppt "EFlow Claudia Pircher Barbara Unterthurner. eFlow2 Inhalt Einführung und Motivation Überblick über eFlow Dynamic Service Discovery Multiservice Nodes."

Ähnliche Präsentationen


Google-Anzeigen