42
eFlow Claudia Pircher Barbara Unterthurner

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

Embed Size (px)

Citation preview

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

eFlow

Claudia Pircher Barbara Unterthurner

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

eFlow 2

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

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

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.

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

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

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

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

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

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

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

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.

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

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

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

eFlow 9

Prozess-Instanz-Schema

Informations-beschaffung

RestaurantReservierung

Werbung Einladung Registrierung

RechnungsAusstellung

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

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

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

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

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

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

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

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

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

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

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

eFlow 15

Überblick

eFlow Service Broker

eFlowEngine

Proxy

Proxy

Speicher fürSchema-

Definitionen

Log fürInstanz-

Ausführung

Speicher fürService-Beschrei-bungen Event queue

Service completion queue

ExternalServiceBroker Service

EventMonitor

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

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

Page 17: EFlow Claudia Pircher Barbara Unterthurner. eFlow2 Inhalt Einführung und Motivation Überblick über eFlow Dynamic Service Discovery Multiservice 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

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

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

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

eFlow 19

Dynamic Service Discovery

Eflow Ser-vice-Broker

EfloeEngine

Proxy

Proxy

Speicher fürSchema-

Definitionen

Log fürInstanz-

Ausführung

Speicher fürService-Beschrei-bungen Event queue

Service completion queue

ExternalServiceBroker Service

EventMonitor

Service-Auswahl-Anweisung

XML-Dokument

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

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

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

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

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

eFlow 22

Multiservice Node

Multiservice NodesKnoten zur mehrfachen, parallelen

Aktivierung des selben e-Services.

Kreditprüfung

Kreditprüfung: Kunde 1

Kreditprüfung: Kunde 2

Kreditprüfung: Kunde 3

Informationsbeschaffung

...

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

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

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

eFlow 24

...

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

...

Multiservice Nodes Spezifikation eines Multiservice-Nodes

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

eFlow 25

Generic Service Nodes Knoten zur Aktivierung mehrerer,

unterschiedlicher e-Services. Platzhalter-Element

Flexible Gestaltung der e-Services zur Befriedigung individueller Kundenwünsche

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

eFlow 26

Generic Service Nodes

Restaurant Reservierung

Generic Node

Rechnungausstellen

Parameter-Liste

BereitstellungAudiogeräte

EngagierungTontechniker

...

Service-NodePool

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

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

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

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>

...

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

eFlow 29

Modifikationen Ursachen

neue Gesetzeslage oder Geschäftsstrategie

Prozessoptimierung Fehlerkorrektur Mangelhaftigkeit der aktuellen Definition

Modifikationsarten: Ad-hoc Modifikation Pulk-Modifikation

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

eFlow 30

Ad-hoc-Modifikation Modifikation einer einzelnen,

laufenden Prozess-Instanz

Zwei Arten: Änderung des Prozess-Instanz-

Schemas Änderung des Prozess-Instanz-Status

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

eFlow 31

Ad-hoc-Modifikation Prozess-Instanz-Schema

Informations-beschaffung

RestaurantReservierung

Werbung Einladung Registrierung

RechnungsAusstellung

Quell-Schema

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

eFlow 32

Ad-hoc-Modifikation Prozess-Instanz-Schema

Informations-beschaffung

RestaurantReservierung

Werbung Einladung Registrierung Catering

RechnungsAusstellung

Ziel-Schema

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

eFlow 33

Ad-hoc-Modifikation Vorgehen

migrationmanager

eFlow engine

Speicher fürSchema-

Definitionen

Log fürInstanz-

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

1 2

33

4a

4b 5

Benutzer

event queue

service completion queue

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

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

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

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

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

eFlow 36

Pulk-Modifikation Modifikation mehrerer, laufender

Prozess-Instanzen des selben Prozesses mit gleichen Eigenschaften

Beispiel: Änderungs-AnweisungIF (guests > 100) THEN MIGRATE TO

“Security_Ceremony_Service"

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

eFlow 37

Pulk-Modifikation: Beispiel

IF cond1 THEN MIGRATE TO D1IF cond2 THEN MIGRATE TO D2IF cond3 THEN MIGRATE TO D3

Quell-Schema

Ziel-Schema D1

Ziel-Schema D1

Ziel-Schema D1

Änderungs-Anweisungen

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

eFlow 38

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 Änderung6. Fortsetzen der Ausführung

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

eFlow 39

Sicherheits-Regeln Berechtigungen in Abhängigkeit

vom Ausführungs-Status Berechtigungen:

Authorized_State_Modifiers Authorized_Node_Modificators Authorized_Flow_Modificators Authorized_Initiators

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

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

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

eFlow 41

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

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

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