Claudia Pircher Barbara Unterthurner

Slides:



Advertisements
Ähnliche Präsentationen
1 Gerardo Navarro Suarez BPM Suite. 2 Quelle: camunda Services GmbH Das Warum hinter Activiti Problem bestehender BPMS: Starker Fokus auf das Business.
Advertisements

Rechnernetze und verteilte Systeme (BSRvS II)
Thema: Sicherheitsarchitektur für mobiles Arbeiten
16. Juni 2006 Stefan Ukena Burstein und McDermott: Ontology Translation for Interoperability Among Semantic Web Services Hamburg, 16. Juni 2006.
Bernd Oberknapp, UB Freiburg
Objektorientierter Entwurf
Sequenzdiagramm.
Java: Objektorientierte Programmierung
Java: Dynamische Datentypen
DOM (Document Object Model)
Markplätze für Agenten Seminar Softwareagenten Timo Hoelzel.
XML-Schema HKI Proseminar Wintersemester 2010/11 Dozentin: Frau Kurz von Jan Kohl und Christian Lütticke.
Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 3 Klassen, Objekte, Arrays und Kontrollstrukturen Sommersemester 2003 Lars Bernard.
Komplexpraktikum Laufzeitumgebung für Komponenten mit QoS - Anforderungen Brit Engel.
Sebastian Grahn Sebastian Kühn
Komplexe Systemlandschaft
Technik Gestaltung Navigation Daten. Übersicht Client Webbrowser InternetServer.
Strukturänderungen Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld.
Vortrag III Hier in der Vorlesungszeit! Anwesenheitspflicht Jede Gruppe hat 6 Minuten! Stellt eure GUI vor –was ihr besonderes gemacht habt –Spektakuläre.
-LABORPRAKTIKUM- SOMMERSEMESTER 2005
DVG Klassen und Objekte
Einführung MySQL mit PHP
Synchronisation paralleler Transaktionen AIFB SS Konzept der Transaktion 4.2 Konzept der Transaktion (1/4) Eine Transaktion ist ein in sich geschlossener,
XML – Grundlagen und Anwendungen Teil 6: Verarbeitung von XML-Dokumenten: XSLT Prof. Dr. Michael Löwe, FHDW Hannover.
1 Grundlagen und Anwendung der Extensible Markup Language (XML ) Peter Buxmann Institut für Wirtschaftsinformatik Johann Wolfgang Goethe-Universität Frankfurt.
Möglichkeiten der Anfragebearbeitung in mobilen Ad-hoc-Netzwerken
Studienarbeit: "Generierung von Korrektheitstests für den Vergleicher von DIANE Service Descriptions" Mirco Stern Betreuender Mitarbeiter: Michael Klein.
Tino Reindanz - FSU Jena Seminar Aktive Datenbanken – SS 2007 Folie 1 Seminar Aktive Datenbanken Rule Development Rule Development for Active Database.
... und alles was dazugehört
Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 1 Objektmodellierung Objekte und Klassen Ein Objekt ist ein Exemplar.
Mark Doll – 1/21V3D2 Workshop 2003, Frankfurt/Main 19./ http:// Ansätze für eine Web-basierte Initiierung qualitätsbasierter Kommunikationsdienste.
Was umfaßt die CORBA Core Spezifikation? Welche zusätzlichen Komponenten muß ein ORB Produkt beinhalten? Core: CORBA Objekt Modell CORBA Architektur OMG.
1 Produktive ZDB-Schnittstellen : OAI Bernd Althaus / 10| Produktive ZDB-Schnittstellen: OAI| Althaus | 14. Oktober 2013.
ProFM Helpdesk Effective Web Based Maintenance Management System.
Integration heterogener verteilter Systeme mit WS-BPEL – ein Praxisbeispiel Dr. Wolf-Dieter Heinrichs.
Pühringer, Duscher 1 Workflow Mediation with VorteXML Artikel von [Christophides, Hull, Kumar, Simeon] ©2000 Bell Laboratories, Lucent Technologies.
Tools und Verfahren Steffen Krause Technologieberater Microsoft Deutschland GmbH
Von der Planung bis zum Hauptmenü Seminar: Softwaretechnologie II Dozent: Prof. Manfred Thaller Referent: Jan Bigalke.
Architekturen und Techniken für computergestützte Engineering Workbenches.
Claudia Fischer Licensing Marketing Manager Jochen Katz Product Manager – Windows Server Anna Fetzer Product Manager – System Center.
Entwicklung verteilter Anwendungen II, SS 13 Prof. Dr. Herrad Schmidt SS 13 Kapitel 2 Folie 2 ASP.NET HTTP-Handler (1)
Sesame Florian Mayrhuber
Verhalten von Objekten in der Szene
Eine Präsentation von Peter Rasser
Kapitel 16 Ökonometrische Modelle
Ausgabe vom Seite 1, XML Eine Einführung XML - Eine Einführung.
Replikation und Synchronisation
Management- und Web Services- Architekturen
Thread Synchronisation in JAVA
Oliver Spritzendorfer Thomas Fekete
Vortrag: Frames & Javascript.
Untersuchungen zur Erstellung eines
xRM1 Pilot Implementierung
Eike Schallehn, Martin Endig
© 2001 Sven Dammann1 Aufbau Integrierter Informationssysteme XML Bearbeitung und relationale Abbildung Sven Dammann Martin-Luther-Universität Halle-Wittenberg.
Die Management-Tools von Z&H COACH beinhalten zentrale Hilfsmittel für ein Management-System. Sorgfältig angewendet führen diese Tools Ihr Unternehmen.
SOAP.
Unified Process Historisch-Kulturwissenschaftliche Informationsverarbeitung Übung: Planung von Softwareprojekten Dozent: Christoph Stollwerk WS 2014/2015.
Management-Tools Einrichtung der Lese- und Schreibrechte Die Liste „Berechtigungen und Zuständigkeiten“ In der Liste „Berechtigungen und Zuständigkeiten“
JavaScript Geschichte : Netscape entwickelt LiveScript (Syntax angelehnt an Java) - Umbenennung von Live Script in JavaScript - Mircrosoft.
Peter Brezany Institut für Softwarewissenschaften Universität Wien
XML Schema Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung WS2011/2012 Hist.-kult.wiss. Informationsverarbeitung (Teil.
-LABORPRAKTIKUM- SOMMERSEMESTER 2005
Web Services als Remote Content Provider in Portalumgebungen Vorstellung und Diskussion des Themas Präsentation des Prototypen Konzeption und prototypische.
Web Services Spezielle Methoden der SWT Liste V – WS 2008/2009 Christian Boryczewski.
, Claudia Böhm robotron*SAB Anwendungsentwicklung mit dem Java und XML basierten Framework robotron*eXForms Simple Application Builder.
Workflowsysteme und Datenbanksysteme Gliederung Motivation Basis- funktionalitäten Klassifikations- merkmale Referenz-Modell MQ Workflow Zusammenfassung.
Vortrag Einführung in AspectJ. Gliederung 1 Einleitung 2 Querschnittsfunktionalitäten in AspectJ 2.1 Sprachelemente 3 Beispiel 4 Join Point Modell 5 Weaving.
Wie wird sich die Wissenschaft rund um Web Content Management Systeme 2016 entwickeln?
 Präsentation transkript:

Claudia Pircher Barbara Unterthurner eFlow Claudia Pircher Barbara Unterthurner

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

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

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

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

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

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

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

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

Ü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

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

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

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

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

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

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

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

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

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

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

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

Informationsbeschaffung 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

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

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

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

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

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

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

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

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

Ad-hoc-Modifikation Prozess-Instanz-Schema Quell-Schema Informations- beschaffung Restaurant Reservierung Werbung Einladung Registrierung Rechnungs Ausstellung eFlow

Ad-hoc-Modifikation Prozess-Instanz-Schema Ziel-Schema Informations- beschaffung Restaurant Reservierung Werbung Einladung Registrierung Catering Rechnungs Ausstellung eFlow

Ad-hoc-Modifikation Vorgehen 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

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

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

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

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

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

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

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

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

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