Kapitel 5:Kapitel 5: Workflows im InternetWorkflows im...

Post on 19-Nov-2019

2 views 0 download

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