Docstoc

Referat _eFlow_.ppt - PowerPoint

Document Sample
Referat _eFlow_.ppt - PowerPoint Powered By Docstoc
					     eFlow

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


                   eFlow        2
  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                           3
  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                             4
    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                       5
     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                        6
          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                         7
                    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                   8
Prozess-Instanz-Schema
           Informations-
            beschaffung

            Restaurant
           Reservierung




 Werbung    Einladung      Registrierung




            Rechnungs
            Ausstellung


                 eFlow                     9
          Ü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                       10
     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                          11
        Abgeschlossene Bereiche

   Abgeschlossener Bereich
       Identifiziert einen Teil des
        Prozessgraphen, welcher nach dem
        ACID-Prinzip ausgeführt werden soll.
       Kompensationsaktionen
       Spezifikation von Isolation modes
                      eFlow                 12
                       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                    13
          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                          14
                                 Überblick

External                                           Log für
Service                                           Instanz-
                                                 Ausführung
Broker                                                                Service


 eFlow Service                  eFlow
    Broker                                                    Proxy
                                Engine


                                     Service completion
                                                                       Event
Speicher für     Speicher für               queue                     Monitor
  Service-        Schema-
 Beschrei-       Definitionen
                                           Event queue        Proxy
  bungen
                                         eFlow                             15
        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                   16
    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                          17
  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                               18
           Dynamic Service Discovery

External                                            Log für
Service                                            Instanz-
                                                  Ausführung
Broker                                                                 Service

               Service-Auswahl-
 Eflow Ser-    Anweisung        Efloe
 vice-Broker XML-Dokument                                      Proxy
                                 Engine


                                        Service completion
                                                                        Event
Speicher für                                   queue                   Monitor
  Service-        Speicher für
 Beschrei-         Schema-
  bungen          Definitionen
                                            Event queue        Proxy
                                          eFlow                             19
    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                     20
    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                      21
                Multiservice Nodes
    Knoten zur mehrfachen, parallelen Aktivierung
       des selben e-Services.

                   Informationsbeschaffung



                     Multiservice Node
                   Kreditprüfung: Kunde 1
Kreditprüfung
                   Kreditprüfung: Kunde 2

                   Kreditprüfung: Kunde 3




                             ...
                            eFlow                   22
            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                    23
              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                             24
       Generic Service Nodes
   Knoten zur Aktivierung mehrerer,
    unterschiedlicher e-Services.
   Platzhalter-Element

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


                    eFlow                    25
           Generic Service Nodes
                                      Restaurant
                                     Reservierung
               Parameter-Liste
                 Bereitstellung
                  Audiogeräte

Service-Node     Engagierung         Generic Node
    Pool         Tontechniker

                       ...



                                      Rechnung
                                      ausstellen



                             eFlow                  26
         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            27
           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                       28
               Modifikationen
   Ursachen
       neue Gesetzeslage oder Geschäftsstrategie
       Prozessoptimierung
       Fehlerkorrektur
       Mangelhaftigkeit der aktuellen Definition

   Modifikationsarten:
       Ad-hoc Modifikation
       Pulk-Modifikation

                       eFlow                  29
           Ad-hoc-Modifikation
   Modifikation einer einzelnen,
    laufenden Prozess-Instanz

   Zwei Arten:
       Änderung des Prozess-Instanz-Schemas
       Änderung des Prozess-Instanz-Status



                      eFlow                    30
 Ad-hoc-Modifikation
 Prozess-Instanz-Schema
          Informations-          Quell-Schema
           beschaffung

           Restaurant
          Reservierung




Werbung    Einladung      Registrierung




           Rechnungs
           Ausstellung


                eFlow                           31
          Ad-hoc-Modifikation
          Prozess-Instanz-Schema
                 Informations-          Ziel-Schema
                  beschaffung

                  Restaurant
                 Reservierung




Werbung     Einladung   Registrierung    Catering




                  Rechnungs
                  Ausstellung


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


                     Speicher für                                 Log für                 event queue
                      Schema-                                    Instanz-
                                                                                        service completion
                     Definitionen                               Ausführung
                                                                                               queue
                                                   eFlow                                                33
        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                34
          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                   35
                  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"




                              eFlow                       36
                  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                                37
          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
                     eFlow                  38
            Sicherheits-Regeln
   Berechtigungen in Abhängigkeit vom
    Ausführungs-Status
   Berechtigungen:
       Authorized_State_Modifiers
       Authorized_Node_Modificators
       Authorized_Flow_Modificators
       Authorized_Initiators

                       eFlow             39
                 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                                    40
         Zusammenfassung
   Einführung und Motivation
   Überblick über eFlow
   Dynamic Service Discovery
   Multiservice Nodes
   Generic Service Nodes
   Modifikationen


                   eFlow        41
                          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                              42

				
DOCUMENT INFO
Shared By:
Categories:
Stats:
views:8
posted:7/2/2010
language:German
pages:42