Kapitel 6: Workflows im Internet · 2010-11-26 · Jutta Mülle / Silvia von Stackelberg WfMS - WS...

Post on 24-Jul-2020

0 views 0 download

Transcript of Kapitel 6: Workflows im Internet · 2010-11-26 · Jutta Mülle / Silvia von Stackelberg WfMS - WS...

Jutta Mülle / Silvia von Stackelberg

Kap. 6- 1WfMS - WS 2010/2011

Kapitel 6:Workflows im Internet

Jutta Mülle / Silvia von Stackelberg

Kap. 6- 2WfMS - WS 2010/2011

Service-orientierte Architektur (SOA) mit Web-Services

Jutta Mülle / Silvia von Stackelberg

Kap. 6- 3WfMS - WS 2010/2011

Einordnung von Semantic Web

Jutta Mülle / Silvia von Stackelberg

Kap. 6- 4WfMS - WS 2010/2011

Konversation – Nachrichtenabfolgemit drei Partnern

Jutta Mülle / Silvia von Stackelberg

Kap. 6- 5WfMS - WS 2010/2011

Choreographie - Koordinationsprotokoll

Jutta Mülle / Silvia von Stackelberg

Kap. 6- 6WfMS - WS 2010/2011

Orchestrierung von Web-Services

Jutta Mülle / Silvia von Stackelberg

Kap. 6- 7WfMS - WS 2010/2011

Konversationsunterstützung

Jutta Mülle / Silvia von Stackelberg

Kap. 6- 8WfMS - WS 2010/2011

Web Service Stack - Semantikunterstützung

Jutta Mülle / Silvia von Stackelberg

Kap. 6- 9WfMS - WS 2010/2011

Standardisierungssprachen

Jutta Mülle / Silvia von Stackelberg

Kap. 6- 10WfMS - WS 2010/2011

Virtual Enterprise: Scenario

Jutta Mülle / Silvia von Stackelberg

Kap. 6- 11WfMS - WS 2010/2011

Workflows zwischen Partnern

Es ist aufwändig, manuell die Verarbeitung bei verschiedenen Partnern zu überwachen und zu protokollieren und auf Ausnahmen zu reagieren.

Workflow-Technologie kann helfen!o 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ändigeno Spezifiziere die Ausnahmebehandlung

• Time-out• nicht bearbeitete Anfragen• ...

Jutta Mülle / Silvia von Stackelberg

Kap. 6- 12WfMS - WS 2010/2011

Workflow-Typen

Jutta Mülle / Silvia von Stackelberg

Kap. 6- 13WfMS - WS 2010/2011

Überblick über beteiligte Stellen in einer SOA

Jutta Mülle / Silvia von Stackelberg

Kap. 6- 14WfMS - WS 2010/2011

Schlussfolgerungen

...Dienste (services) „outsourcen“ (z.B. was nicht direkt zu den Unternehmenskompentenzen zählt)

... Dienste anbieten (z.B. um Geld mit Funktionen & Prozessen zu verdienen, die man für andere durchführt)

Diese Dienste umfasseno ...einfache, fein granulare Funktionen...o ...bis zu kompletten Geschäftsprozessen, d.h. grob granulare

Funktionen

Workflow Technologie ist das Herz davon!

Jutta Mülle / Silvia von Stackelberg

Kap. 6- 15WfMS - WS 2010/2011

SOAP

Jutta Mülle / Silvia von Stackelberg

Kap. 6- 16WfMS - WS 2010/2011

Wie nutzt man Dienste (Web Services)?

Firewalls stellen Hindernisse dar für den unbeschränkten (ubiquitous!) Zugang zu Diensten

Die Vielfalt und Heterogenität von Programmiersprachen, Programmierparadigmen, Server-Umgebungen, etc. … machen die Orchestrierung zu einem Albtraum

…Wir brauchen einen global verfügbaren

Aufrufmechanismus!: SOAP

Jutta Mülle / Silvia von Stackelberg

Kap. 6- 17WfMS - WS 2010/2011

HTTP POST: Aufruf-Code

Jutta Mülle / Silvia von Stackelberg

Kap. 6- 18WfMS - WS 2010/2011

Die Firewall „durchtunneln“

Jutta Mülle / Silvia von Stackelberg

Kap. 6- 19WfMS - WS 2010/2011

Ein XSD-Beispiel

Jutta Mülle / Silvia von Stackelberg

Kap. 6- 20WfMS - WS 2010/2011

SOAP Request/Response Struktur

Jutta Mülle / Silvia von Stackelberg

Kap. 6- 21WfMS - WS 2010/2011

SOAP Endpunkt-Referenz

Jutta Mülle / Silvia von Stackelberg

Kap. 6- 22WfMS - WS 2010/2011

Ein einfacher SOAP-RPC

POST /StockQuote HTTP/1.1Host: www.stockquoteserver.comContent-Type: text/xml;charset="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/"><SOAP-ENV:Body>

<m:GetLastTradePrice xmlns:m="Some-URI"><symbol>DIS</symbol>

</m:GetLastTradePrice></SOAP-ENV:Body>

</SOAP-ENV:Envelope>

Jutta Mülle / Silvia von Stackelberg

Kap. 6- 23WfMS - WS 2010/2011

Eine einfache SOAP-Antwort

HTTP/1.1 200 OKContent-Type: text/xml;charset="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>

<m:GetLastTradePriceResponse xmlns:m="Some-URI"><Price>34.5</Price>

</m:GetLastTradePriceResponse></SOAP-ENV:Body>

</SOAP-ENV:Envelope>

Jutta Mülle / Silvia von Stackelberg

Kap. 6- 24WfMS - WS 2010/2011

SOAP-Header

POST /StockQuote HTTP/1.1Host: www.stockquoteserver.comContent-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: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"><symbol>DEF</symbol>

</m:GetLastTradePrice></SOAP-ENV:Body>

</SOAP-ENV:Envelope>

ProtokollErweiterungen

Jutta Mülle / Silvia von Stackelberg

Kap. 6- 25WfMS - WS 2010/2011

Katalogdienste

WS-Inspection UDDI – Universal Description, Discovery &

Integration WS Discovery

o Lokale Suche (im eigenen Netz) über Multicasto Einrichten von Discovery Proxies möglicho Nutzbar für kleine Umgebungen mit nicht systematisch

aufgebauten Verzeichnissen oder bei neuenZusammenstellungen wie Adhoc-Netzen.

o Für weitere Nutzung: Einsatz von z.B. SOAP und WSDL

Jutta Mülle / Silvia von Stackelberg

Kap. 6- 26WfMS - WS 2010/2011

WS-Inspection

Einfache Schnittstelle Kombinierbar mit Katalogdiensten, z.B. mit UDDI Veröffentlichung der WS-Inspectione Dokumente im

Basisverzeichnis des Webservers der jeweiligenUnternehmung.

Unterverzeichnisse / Hierarchien sind möglich Dynamische Definitiond er WS-Inspection-Hierarchie

wird unterstützt, z.B. Generierung aus internen UDDI-Verzeichnissen oder anderen Verzeichnissen

Jutta Mülle / Silvia von Stackelberg

Kap. 6- 27WfMS - WS 2010/2011

WS-Inspection-Datenmodell

Inspection-Klasse als Wurzel des Katalogs Daran geknüpft eine Menge von

o Services (mit Name und Beschreibungo Links (z.B. zu Inspection-Unterverzeichnissen oder UDDI-

Verzeichnissen)

Jutta Mülle / Silvia von Stackelberg

Kap. 6- 28WfMS - WS 2010/2011

Wie findet man Dienste?

Wir brauchen ein global verfügbares Verzeichnis! ...um Dienste basierend auf öffentlichen Anfragen von

Service-Proviedern zu katalogisieren ...um Taxonomien zur Unterstützung der Suche von

geeigneten Dienste zu unterstützen ...um Dienste durch menschliche Benutzer oder

Programme suchen zu können

UDDI(Universal Description, Discovery & Integration)

Jutta Mülle / Silvia von Stackelberg

Kap. 6- 29WfMS - WS 2010/2011

Wie arbeitet UDDI

Jutta Mülle / Silvia von Stackelberg

Kap. 6- 30WfMS - WS 2010/2011

Registry-Daten für UDDI

Firmen registrieren öffentliche Informationen über sich: UBR „UDDI Business Registryo Öffentlicher Verzeichnisdiensto Betrieben von IBM, Microsoft, NTT-Communications und SAPo Eingestellt Januar 2006, da nur noch SAP als Knoten

(Standardisierungsstelle) verblieb.o Nachweis der Machbarkeit bzgl. Funktionalität war erbracht

Standardisierungsstelleno d.h. Programmierer, Firmen o registrieren Informationen o über ihre Service Typen („tModels“).

Jutta Mülle / Silvia von Stackelberg

Kap. 6- 31WfMS - WS 2010/2011

Beispiel einer Registrierung

Jutta Mülle / Silvia von Stackelberg

Kap. 6- 32WfMS - WS 2010/2011

Registrierung

Peer-Knoten (Web Sites). Firmen über einen Knoten

registrieren. Registrierungen werden

täglich repliziert. Die komplette Menge an

“registrierten” Einträgen ist auf allen Knoten verfügbar.

Gemeinsame Menge von SOAP APIs wird auf allen Knoten unterstützt.

Die Befolgung wird durch Geschäftsverträge erreicht.

Jutta Mülle / Silvia von Stackelberg

Kap. 6- 33WfMS - WS 2010/2011

WSDL

Jutta Mülle / Silvia von Stackelberg

Kap. 6- 34WfMS - WS 2010/2011

Wie definiert man neue Web Services?

Es ist gut Web Services zu nutzen, die andere definiert haben und über die man sich geeinigt hat (= tModels),

...aber: was, wenn man seine eigenen Web Services veröffentlichen willo z.B. einfache Funktionen, die auch für andere nützlich sind o oder komplette Geschäftsprozesse, die man anbieten kann.

...ohne einen Standard zu definieren!

Benötigt wird ein Sprache zur Spezifikation von Diensten und zur Beschreibung, wie andere die Dienste koppeln (Binding):

WSDL (Web Services Description Language)

Jutta Mülle / Silvia von Stackelberg

Kap. 6- 35WfMS - WS 2010/2011

WSDL Bestandteile

Port Type

Bindings

Port

Operation

Message

Service

Jutta Mülle / Silvia von Stackelberg

Kap. 6- 36WfMS - WS 2010/2011

Port Typen: graphische Darstellung

Jutta Mülle / Silvia von Stackelberg

Kap. 6- 37WfMS - WS 2010/2011

Beispiel - WSDL

<xml version=“1.0”?><definitions name = “StockQuoteService”xmlns:tns=http://muelle.com/stockquote.wsdlxmlns:xsd=http://muelle.com/sockquote.xsdxmlns:soap=http://schemas.xmlsoap.org/wsdl/soap/xmlns=http://schemas.xmlsoap.org/wsdl/>

<message name=“GetLastTradePriceRequest”><part name=“tickerSymbol” element=“xsd:string”/><part name=“time” element=“xsd:timeInstant”/>

</message><message name=“GetLastTradePriceResponse”>

<part name=“result” type=“xsd:float”/></message><portType name=“StockQuotePortType”>

<operation name=“GeLastTradePrice”><input message=“tns:GetLastTradePriceRequest”/><output message=“tns:GetLastTradePriceResponse”/>

</operation></portType> …

Jutta Mülle / Silvia von Stackelberg

Kap. 6- 38WfMS - WS 2010/2011

Beispiel

<binding name = “StockQuoteSoapBinding”type = “tns:StockQuotePortType”>

<soap:bindingstyle=“rpc”transport=http://schemas.xmlsoap.org/soap/http/>

<operation name=“GetLastTradePrice”><soap:operation

soapAction=http://muelle.com/GetLastTradePrice/><input><soap:gody use=“encoded”

namespace=http://muelle.com/stickquoteencodingStyle=http://schemas.xmlsoap.org/soap/encoding//>

</input><output><soap:body use=“encoded”

namespace=http://muelle.com/stockquoteencodingStyle=http://schemas.xmlsoap.org/soap/encoding//>

</output> …

Jutta Mülle / Silvia von Stackelberg

Kap. 6- 39WfMS - WS 2010/2011

Beispiel<service name = “StockQuoteService”><documentation>My first service</documentation><port name= “StockQuotePort”

binding=“tns:StockQuoteSoapBinding”><soap:address

location= “http://muelle.com/stockquote”/></port></service>

Jutta Mülle / Silvia von Stackelberg

Kap. 6- 40WfMS - WS 2010/2011

Wie macht man Dienste verfügbar

Jutta Mülle / Silvia von Stackelberg

Kap. 6- 41WfMS - WS 2010/2011

Zusammenhang mit derService-Orientierten Architektur

Jutta Mülle / Silvia von Stackelberg

Kap. 6- 42WfMS - WS 2010/2011

SOA - Wiederholung

Jutta Mülle / Silvia von Stackelberg

Kap. 6- 43WfMS - WS 2010/2011

...und Zusammenhang mit Web Services

Jutta Mülle / Silvia von Stackelberg

Kap. 6- 44WfMS - WS 2010/2011

SOA in Aktion

Jutta Mülle / Silvia von Stackelberg

Kap. 6- 45WfMS - WS 2010/2011

Was wird benötigt?

Wir brauchen eine Sprache die es erlaubt... Abläufe (flows) als Web Services zu spezifizieren Abläufe zwischen Web Services zu spezifizieren Neue Web Services als Aggregationen über Web Services

zu spezifizieren ...eine beliebige Mischung davon zu spezifizieren

Web Services ChoreographieStandardisierungsbemühungen: WSFL (Web Services Flow Language) - IBM XLANG – Microsoft BPeL4WS (Business Process execution Language for

Web Services) baut als Ansatz zur Standardisierung auf WSFL und XLANG auf.

Jutta Mülle / Silvia von Stackelberg

Kap. 6- 46WfMS - WS 2010/2011

Beziehung zurService-orientierten Architektur

Jutta Mülle / Silvia von Stackelberg

Kap. 6- 47WfMS - WS 2010/2011

Eine abstraktere Sicht:High-Level Szenarios

Jutta Mülle / Silvia von Stackelberg

Kap. 6- 48WfMS - WS 2010/2011

Partnerschaften errichten

Jutta Mülle / Silvia von Stackelberg

Kap. 6- 49WfMS - WS 2010/2011

Ordnung zählt!

Jutta Mülle / Silvia von Stackelberg

Kap. 6- 50WfMS - WS 2010/2011

Flexibilität!

Jutta Mülle / Silvia von Stackelberg

Kap. 6- 51WfMS - WS 2010/2011

Qualität von Services

Jutta Mülle / Silvia von Stackelberg

Kap. 6- 52WfMS - WS 2010/2011

Der Web Services Stack

Jutta Mülle / Silvia von Stackelberg

Kap. 6- 53WfMS - WS 2010/2011

Workflows als Web Services

Jutta Mülle / Silvia von Stackelberg

Kap. 6- 54WfMS - WS 2010/2011

Workflows als Web Services

Jutta Mülle / Silvia von Stackelberg

Kap. 6- 55WfMS - WS 2010/2011

Workflow Lifecycle Services veröffentlichen

Jutta Mülle / Silvia von Stackelberg

Kap. 6- 56WfMS - WS 2010/2011

Beispiel:Reiseablauf als zusammengesetzter Service

Jutta Mülle / Silvia von Stackelberg

Kap. 6- 57WfMS - WS 2010/2011

Agent als zusammengesetzter Service

Jutta Mülle / Silvia von Stackelberg

Kap. 6- 58WfMS - WS 2010/2011

Fluggesellschaft als zusammengesetzter Service

Jutta Mülle / Silvia von Stackelberg

Kap. 6- 59WfMS - WS 2010/2011

rekursive Komposition...

Jutta Mülle / Silvia von Stackelberg

Kap. 6- 60WfMS - WS 2010/2011

...und ist die Sicht von außerhalb

Jutta Mülle / Silvia von Stackelberg

Kap. 6- 61WfMS - WS 2010/2011

Jutta Mülle / Silvia von Stackelberg

Kap. 6- 62WfMS - WS 2010/2011

Vervollständigung des Bildes

Ein Web Service Ablauf sollte zwei Arten von Operationen anbieten o die exportierten offenen

(„dangling“) Operationen, die ein Binding erfordern

o die Lifecycle-Operationen für den Ablauf als Ganzes

Jutta Mülle / Silvia von Stackelberg

Kap. 6- 63WfMS - WS 2010/2011

Zusammenfassung

Workflows sind festgelegte Geschäftsprozesse Workflows steuern die Produktion von großen

Unternehmen Workflows über Unternehmensgrenzen gewinnen an

Bedeutung Workflow Technologie wird zum Schlüsselkonzept

von SOA (service-oriented architectures)

Jutta Mülle / Silvia von Stackelberg

Kap. 6- 64WfMS - WS 2010/2011

Exemplarische Fragen – Kapitel 6 (1)

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 Service

Orchestrierung?

Jutta Mülle / Silvia von Stackelberg

Kap. 6- 65WfMS - WS 2010/2011

Exemplarische Fragen – Kapitel 6 (2)

Nennen Sie Standardisierungsvorschläge für 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‘.