Kapitel 5:Kapitel 5: Workflows im InternetWorkflows im...
Transcript of Kapitel 5:Kapitel 5: Workflows im InternetWorkflows im...
Kapitel 5:Kapitel 5: Workflows im InternetWorkflows im Internet
Jutta Mülle WfMS - WS 2009/2010
Service-orientierte Architektur (SOA)(SOA)
mit Web Services
Jutta Mülle WfMS - WS 2009/2010
Einordnung von Semantic WebEinordnung von Semantic Web
Jutta Mülle WfMS - WS 2009/2010
Orchestrierung mit Microsoft BiztalkOrchestrierung mit Microsoft Biztalk
Jutta Mülle WfMS - WS 2009/2010
Konversation – Nachrichtenabfolge mit 3 Partnern
Jutta Mülle WfMS - WS 2009/2010
Choreographie -Koordinationsprotokoll
Jutta Mülle WfMS - WS 2009/2010
Orchestrierung von Web ServicesOrchestrierung von Web Services
Jutta Mülle WfMS - WS 2009/2010
KonversationsunterstützungKonversationsunterstützung
Jutta Mülle WfMS - WS 2009/2010
Web Service StackWeb Service Stack
Jutta Mülle WfMS - WS 2009/2010
StandardisierungssprachenStandardisierungssprachen
Jutta Mülle WfMS - WS 2009/2010
(Wiederholung aus Kapitel 5)Standards im Workflow-Bereich (WFMC)Standards im Workflow-Bereich (WFMC)
Jutta Mülle WfMS - WS 2009/2010
Virtual Enterprise: Scenariop
Jutta Mülle WfMS - WS 2009/2010
Workflows zwischen PartnernEs ist aufwändig, manuell die Verarbeitung bei erschiedenen Partnern über achen ndverschiedenen Partnern zu überwachen und zu
protokollieren und auf Ausnahmen zu reagieren. Workflow-Technologie kann helfen!
Modelliere reguläre Partner-Interaktionen„Conversations“ sind unterschiedlich zum nicht verteilten Fall (!!!)„Einzelner“ Nachrichtenaustausch zwischen zwei Partnern, um eine einzige Interaktion im Gesamtablauf zu vervollständigen
Spezifiziere die AusnahmebehandlungSpezifiziere die Ausnahmebehandlung Time-outnicht bearbeitete Anfragen
Jutta Mülle WfMS - WS 2009/2010
...
Workflow-Typenyp
Jutta Mülle WfMS - WS 2009/2010
Konversation – Beispiel:Nachrichtenabfolge mit 3 Partnern
Jutta Mülle WfMS - WS 2009/2010
Choreographie – Beispiel Koordinationsprotokoll
Jutta Mülle WfMS - WS 2009/2010
Orchestrierung von Web ServicesOrchestrierung von Web Services
Jutta Mülle WfMS - WS 2009/2010
KonversationsunterstützungKonversationsunterstützung
Jutta Mülle WfMS - WS 2009/2010
Web Service StackWeb Service Stack
Jutta Mülle WfMS - WS 2009/2010
Standardisierungssprachen für Choreographie und Orchestrierung
Jutta Mülle WfMS - WS 2009/2010
(Wiederholung aus Kapitel 5)Standards im Workflow-Bereich
(WFMC)
Jutta Mülle WfMS - WS 2009/2010
Service-orientierte Architektur (SOA):beteiligte Stellenbeteiligte Stellen
Jutta Mülle WfMS - WS 2009/2010
Schlussfolgerungeng gMan kann...
Dienste (services) outsourcen“ (z B was...Dienste (services) „outsourcen (z.B. was nicht direkt zu den Unternehmens-kompentenzen zählt)p )... Dienste anbieten (z.B. um Geld mit Funktionen & Prozessen zu verdienen, die
fü d d hfüh t)man für andere durchführt)Diese Dienste umfassen
i f h f i l F k i...einfache, fein granulare Funktionen......bis zu kompletten Geschäftsprozessen, d.h. grob granulare Funktionengrob granulare Funktionen
Workflow Technologie ist das Herz davon!Jutta Mülle WfMS - WS 2009/2010
Workflow Technologie ist das Herz davon!
Service-orientierte Architektur (SOA)mit Web Services
Jutta Mülle WfMS - WS 2009/2010
Einordnung von Semantic WebEinordnung von Semantic Web
Jutta Mülle WfMS - WS 2009/2010
Wie nutzt man Dienste (Web Services)?( )Firewalls stellen Hindernisse dar für den unbeschränkten (ubiquitous!) Zugang zuunbeschränkten (ubiquitous!) Zugang zu DienstenDie Vielfalt und Heterogenität vonDie Vielfalt und Heterogenität von Programmiersprachen, Programmierparadigmen ServerProgrammierparadigmen, Server-Umgebungen, etc. … machen die Orchestrierung zu einem AlbtraumOrchestrierung zu einem Albtraum…Wir brauchen einen global verfügbaren
Aufrufmechanismus!: SOAPJutta Mülle WfMS - WS 2009/2010
SOAP
Jutta Mülle WfMS - WS 2009/2010
HTTP POST: Aufruf-Code
Jutta Mülle WfMS - WS 2009/2010
Die Firewall „durchtunneln“
Jutta Mülle WfMS - WS 2009/2010
Ein XSD-Beispielp
Jutta Mülle WfMS - WS 2009/2010
SOAP Request/Response Strukturq p
Jutta Mülle WfMS - WS 2009/2010
SOAP Endpunkt-Referenzp
Jutta Mülle WfMS - WS 2009/2010
Ein einfacher SOAP-RPCPOST /StockQuote HTTP/1.1Host: www.stockquoteserver.comContent-Type: text/xml;ypcharset="utf-8„Content-Length: nnnn
MethodName
<SOAP-ENV:Envelopexmlns:SOAP-ENV=http://schemas.xmlsoap.org/soap/envelope/SOAPENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">g y p p g p g<SOAP-ENV:Body>
<m:GetLastTradePrice xmlns:m="Some-URI"><symbol>DIS</symbol> Inputsymbol DIS /symbol Input
Parameter</m:GetLastTradePrice>
</SOAP-ENV:Body>
Jutta Mülle WfMS - WS 2009/2010
/SOAP ENV:Body</SOAP-ENV:Envelope>
Eine einfache SOAP-AntwortHTTP/1.1 200 OKContent-Type: text/xml;ypcharset="utf-8„Content-Length: nnnn
<SOAP-ENV:Envelopexmlns:SOAP-ENV=http://schemas.xmlsoap.org/soap/envelope/SOAPENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/><SOAP-ENV:Body><SOAP-ENV:Body>
<m:GetLastTradePriceResponse xmlns:m="Some-URI"><Price>34.5</Price>
Standard</m:GetLastTradePriceResponse></SOAP-ENV:Body>
</SOAP-ENV:Envelope>
StandardSuffix
Jutta Mülle WfMS - WS 2009/2010
/SOAP ENV:Envelope
SOAP-HeaderPOST /StockQuote HTTP/1.1Host: www.stockquoteserver.comContent-Type: text/xml;Content-Type: text/xml;charset="utf-8„Content-Length: nnnnSOAPAction: „Some-URI“
<SOAP-ENV:Envelope xmlns:SOAPENV="http://schemas.xmlsoap.org/soap/envelope/"SOAP-ENV:encodingStyle="http://schemas xmlsoap org/soap/encoding/"/>SOAP-ENV:encodingStyle= http://schemas.xmlsoap.org/soap/encoding/ />
<SOAP-ENV:Header><t:Transaction xmlns:t="some-URI, SOAP-ENV:mustUnderstand="1">
5</t:Transaction>
</SOAP-ENV:Header><SOAP-ENV:Body>
<m:GetLastTradePrice xmlns:m="Some URI"><m:GetLastTradePrice xmlns:m= Some-URI ><symbol>DEF</symbol>
</m:GetLastTradePrice></SOAP-ENV:Body>
ProtokollErweiterungen
Jutta Mülle WfMS - WS 2009/2010
y</SOAP-ENV:Envelope>
UDDI
Jutta Mülle WfMS - WS 2009/2010
Wie findet man Dienste?Wir brauchen ein global verfügbares
Verzeichnis!Verzeichnis!...um Dienste basierend auf öffentlichen Anfragen von Service Proviedern zuAnfragen von Service-Proviedern zu katalogisieren
um Taxonomien zur Unterstützung der...um Taxonomien zur Unterstützung der Suche von geeigneten Dienste zu unterstützenunterstützen...um Dienste durch menschliche Benutzer oder Programme suchen zu könnenoder Programme suchen zu können
UDDI(Universal Description Discovery & Integration)
Jutta Mülle WfMS - WS 2009/2010
(Universal Description, Discovery & Integration)
Wie arbeitet UDDI
Jutta Mülle WfMS - WS 2009/2010
Registry Dateng y
Fi i t i öff tli h♦ Firmen registrieren öffentliche Informationen über sich
♦Standardisierungsstellen,Programmierer, Firmenregistrieren Informationen über ihre Service Typen ( tModels“)
Jutta Mülle WfMS - WS 2009/2010
(„tModels )
Beispiel einer Registrierungp g g
Jutta Mülle WfMS - WS 2009/2010
Registrierungsoperationg g pPeer-Knoten (Websites)Firmen über einen K t i t iKnoten registrierenRegistrierungen werden täglich replizierttäglich repliziert Die komplette Menge an “registrierten” Einträgen g gist auf allen Knoten verfügbarGemeinsame MengeGemeinsame Menge von SOAP APIs wird auf allen Knoten unterstütztDie Befolgung wird durch Geschäfts-
t ä i htJutta Mülle WfMS - WS 2009/2010
verträge erreicht
WSDL
Jutta Mülle WfMS - WS 2009/2010
Wie definiert man neue Web Services?Es ist gut Web Services zu nutzen, die andere definiert haben und über die man sich geeinigt hatdefiniert haben und über die man sich geeinigt hat (= tModels)...aber: was, wenn man seine eigenen Web gServices veröffentlichen will
z.B. einfache Funktionen, die auch für andere nützlich sindsind oder komplette Geschäftsprozesse, die man anbieten kann
...ohne einen Standard zu definieren!Benötigt wird ein Sprache zur Spezifikation von g p pDiensten und zur Beschreibung, wie andere die
Dienste koppeln (Binding). WSDL (Web Services Description Language)
Jutta Mülle WfMS - WS 2009/2010
WSDL (Web Services Description Language)
WSDL Bestandteile
P T O tiPort Type Operation
Bindings MessageBindings Message
Port ServicePort Service
Jutta Mülle WfMS - WS 2009/2010
Port Typen: graphische Darstellungyp g p g
Jutta Mülle WfMS - WS 2009/2010
Beispielp
Jutta Mülle WfMS - WS 2009/2010
Beispielp
Jutta Mülle WfMS - WS 2009/2010
Beispielp
Jutta Mülle WfMS - WS 2009/2010
Wie macht man Dienste verfügbarg
Jutta Mülle WfMS - WS 2009/2010
Zusammenhang mit derZusammenhang mit derService-Orientierten Architektur
Jutta Mülle WfMS - WS 2009/2010
SOA - Wiederholungg
Jutta Mülle WfMS - WS 2009/2010
...und Zusammenhang mit Web Servicesg
Jutta Mülle WfMS - WS 2009/2010
SOA in Aktion
Jutta Mülle WfMS - WS 2009/2010
Was wird benötigt?g
Wir brauchen eine Sprache die es erlaubtWir brauchen eine Sprache die es erlaubt...Abläufe (flows) als Web Services zu spezifizierenAbläufe zwischen Web Services zu spezifizierenNeue Web Services als Aggregationen über Web Services zu spezifizieren
eine beliebige Mischung davon zu spezifizieren...eine beliebige Mischung davon zu spezifizieren
Web Services Choreographieg pStandardisierungsbemühungen:
WSFL (Web Services Flow Language) - IBMXLANG Mi ftXLANG – MicrosoftBPeL4WS (Business Process execution Language for Web Services) baut als Ansatz zur Standardisierung auf
Jutta Mülle WfMS - WS 2009/2010
eb Se ces) bau a s sa u S a da d s e u g auWSFL und XLANG auf.
Beziehung zurService orientierten ArchitekturService-orientierten Architektur
Jutta Mülle WfMS - WS 2009/2010
Ei b t kt Si htEine abstraktere Sicht:High-Level SzenariosHigh-Level Szenarios
Jutta Mülle WfMS - WS 2009/2010
Partnerschaften errichten
Jutta Mülle WfMS - WS 2009/2010
Ordnung zählt!g
Jutta Mülle WfMS - WS 2009/2010
Flexibilität!
Jutta Mülle WfMS - WS 2009/2010
Zusatznutzen durch Partnerschaft!
Jutta Mülle WfMS - WS 2009/2010
Zusatznutzen durch Partnerschaft (2)!( )
Jutta Mülle WfMS - WS 2009/2010
Ein globales Beispiel!
Jutta Mülle WfMS - WS 2009/2010
Beispiel-Ablaufmodellp
Jutta Mülle WfMS - WS 2009/2010
Beispiele für Plug Linksp g
Jutta Mülle WfMS - WS 2009/2010
Service Provider Typenyp
Jutta Mülle WfMS - WS 2009/2010
Globales Modell
Jutta Mülle WfMS - WS 2009/2010
Beispiel eines globalen Modellsp g
Jutta Mülle WfMS - WS 2009/2010
Zusammenbringen dieser Beispiele: WSFLg p
Jutta Mülle WfMS - WS 2009/2010
Einige Details über WSFL-Konzepte
Jutta Mülle WfMS - WS 2009/2010
Nutzen von Port-Typen in GeschäftsprozessenGeschäftsprozessen
Jutta Mülle WfMS - WS 2009/2010
Control Links
Jutta Mülle WfMS - WS 2009/2010
Daten Links
Jutta Mülle WfMS - WS 2009/2010
Einschränkung der Aufrufreihenfolgeg g
Jutta Mülle WfMS - WS 2009/2010
Feine Aktivitätenstruktur
Jutta Mülle WfMS - WS 2009/2010
Geschäftseigenschaften einer Aktivitätg
Jutta Mülle WfMS - WS 2009/2010
Quality Of Servicesy
Jutta Mülle WfMS - WS 2009/2010
passende Endpunktep p
Jutta Mülle WfMS - WS 2009/2010
Der Web Services Stack
Jutta Mülle WfMS - WS 2009/2010
Workflows als Web Services
Jutta Mülle WfMS - WS 2009/2010
Workflows als Web Services
Jutta Mülle WfMS - WS 2009/2010
Workflow Lifecycle Services veröffentlicheny
Jutta Mülle WfMS - WS 2009/2010
W b S i Ch hiWeb Services Choreographie:hierarchische Abläufehierarchische Abläufe
Jutta Mülle WfMS - WS 2009/2010
Multi-laterale Vereinbarungg
Jutta Mülle WfMS - WS 2009/2010
Öffentlicher Workflow
Jutta Mülle WfMS - WS 2009/2010
Hierarchisches B2B-Szenario
Jutta Mülle WfMS - WS 2009/2010
“Einzelne” Teilnahme an öffentlichen WorkflowsWorkflows
Jutta Mülle WfMS - WS 2009/2010
Öffentliche Sichten auf privaten Workflowsp
Jutta Mülle WfMS - WS 2009/2010
„Binding“ von Sichten an öffentliche WorkflowsWorkflows
Jutta Mülle WfMS - WS 2009/2010
W b S i Ch hiWeb Services Choreographie:Peer-To-Peer AbläufePeer-To-Peer Abläufe
Jutta Mülle WfMS - WS 2009/2010
Peer-To-Peer B2B-Szenario
Jutta Mülle WfMS - WS 2009/2010
Peer-To-Peer Szenario
Jutta Mülle WfMS - WS 2009/2010
Sichtendefinition auf Workflows...
Jutta Mülle WfMS - WS 2009/2010
...und veröffentlichen der Sichten als Web ServicesServices
Jutta Mülle WfMS - WS 2009/2010
Dynamisches „Binding“ zur Laufzeity „ g
Jutta Mülle WfMS - WS 2009/2010
und schließlich: ein gemischtes Szenariog
Jutta Mülle WfMS - WS 2009/2010
W b S i Ch hiWeb Services Choreographie:Aggregierung von Web ServicesAggregierung von Web Services
Jutta Mülle WfMS - WS 2009/2010
Reiseablauf als zusammengesetzter ServiceService
Jutta Mülle WfMS - WS 2009/2010
Agent als zusammengesetzter Serviceg g
Jutta Mülle WfMS - WS 2009/2010
Fluggesellschaft als zusammengesetzter ServiceService
Jutta Mülle WfMS - WS 2009/2010
rekursive Komposition...p
Jutta Mülle WfMS - WS 2009/2010
...und ist die Sicht von außerhalb
Jutta Mülle WfMS - WS 2009/2010
Jutta Mülle WfMS - WS 2009/2010
...das kennt man schon!
Jutta Mülle WfMS - WS 2009/2010
Vervollständigung des Bildesg gEin Web Service Ablauf sollte zwei Arten von
Operationen anbietenOperationen anbieten die exportierten offenen („dangling“) Operationen, die ein Binding erforderndi Lif l O ti fü d Abl f l Gdie Lifecycle-Operationen für den Ablauf als Ganzes
Jutta Mülle WfMS - WS 2009/2010
Zusammenfassungg
Workflows sind festgelegte Geschäftsprozesseg g pWorkflows steuern die Produktion von großen UnternehmenUnternehmenWorkflows über Unternehmensgrenzen gewinnen an Bedeutungan BedeutungWorkflow Technologie wird zum Schlüsselkonzept
SOA ( i i t d hit t )von SOA (service-oriented architectures)
Jutta Mülle WfMS - WS 2009/2010
Exemplarische Fragen – Kapitel 6 (1)p g p ( )Was versteht man unter Web Services?Was sind die Grundkomponten zur Unterstützung von Web Services?Wie können Abläufe mit Web Services realisiert werden?Was ist eine Web Service Choreographie?Was versteht man unter Web ServiceWas versteht man unter Web Service Orchestrierung?
Jutta Mülle WfMS - WS 2009/2010
Exemplarische Fragen – Kapitel 6 (2)p g p ( )Nennen Sie Standardisierungsvorschläge für Choreographie nd für Orchestrier ng?Choreographie und für Orchestrierung?Was sind Eigenschaften von Ablaufunterstützung für virtuelle Unternehmen?Nennen Sie Erweiterungen von Workflows im Internet in Richtung ‚Semantic Web‘.
Jutta Mülle WfMS - WS 2009/2010