Workflow, Business Process Management, 4.Teil
24. Januar 2004 Der vorliegende Text darf für Zwecke der Vorlesung Workflow, Business Process Management des Autors vervielfältigt werden. Eine weitere Nutzung bedarf der schriftlichen Einverständnis des Autors. Copyright International Business Machines Corporation 2001,2004. Alle Rechte vorbehalten.
Inhaltsverzeichnis Web Services............ 1 Probleme bei der B2B Integration.......1 Verwendete Protokolle bei Web Services.....1 SOAP (Simple Object Access Protocol).....1 WSDL (Web Service Definition Language)...2 UDDI (Universial Description Discovery and Integration)..............3 BPEL (BPEL4WS: Business Process Execution Language for Web Services).........3 Copyright IBM Corp. 2001,2004 iii
iv Workflow, Business Process Management, 4.Teil
Web Services Nach dem W3C (World Wide Web Consortium) ist ein Web Service a software application identified by a URL, whose interfaces and bindings are capable of being defined, described and discovered as XML artifacts. A Web Service supports direct interactions with other software agents using XML-based messages exchanged via Internet-based protocols. Probleme bei der B2B Integration Mit klassischer Middleware könnten auch Unternehmen miteinander verbunden werden. Dem spricht entgegen: Zentralisierte Administration Software, die unternehmsweite Services zur Verfügung stellt, sollte aus Kosten- und Effizienzgründen möglichst zentral administriert werden. Dies ist unpassend, wenn unabhängige Unternehmen miteinander kommunizieren. Information Hiding Soll beispielsweise ein Workflow zwischen Unternehmen definiert werden, so wird unterschieden zwischen der Interaktion zwischen den Firmen und dem internen Workflow innerhalb des Unternehmens. Ersteres muß zwischen den Unternehmen definiert sein, letzteres darf und soll nicht publik sein. Firewalls schränken mögliche Protokolle ein Bei B2B müssen Firewalls überwunden werden. Typischerweise werden hier HTTP (Hyper Text Transfer Protocol) und SMTP (Simple Mail Transfer Protocol) verwendet. Standardisierung Es besteht die Erwartung, daß B2B in einem ähnlichen Stadium ist wie das Internet vor der Einführung des WWW mit den Standards HTTP und HTML. Verwendete Protokolle bei Web Services SOAP (Simple Object Access Protocol) SOAP ist ein durch das W3C definierter Standard. SOAP ist das Basisprotokoll der bei Web Serivices verwendeten Messages. SOAP spezifiziert folgendes: Message Format Copyright IBM Corp. 2001,2004 1
SOAP Envelope SOAP Header Header Block SOAP Body Body Block Abbildung 1. Struktur einer SOAP Message Beschreibt, wie Daten in XML-Messages einzupacken ist: Ein SOAP Header ist optinonal während ein SOAP Body vorhanden sein muß. Attribute der Message können im SOAP Header gespeidhert werden (z.b. Informationen zu einem TRPC). RPC Konventionen Beschreibt, wie SOAP Messages für RPCs zu verwenden sind. Regeln zur Verarbeitgung von SOAP Messages Beschreibt, welche XML Elemente einer SOAP Message zu lesen sind und was der Empfänger zu tun hat, wenn er die SOAP Message nicht verarbeiten kann. SOAP Bindings Beschreibt, wie SOAP Messages über HTTP und SMTP zu verschicken sind. Üblicherweise wird HTTP eher bei einer RPC-ähnlichen Interaktion verwendet, während SMTP ein asynchrones Protokoll ist. WSDL (Web Service Definition Language) WSDL ist ein durch das W3C definierter Standard. Ist quasi die IDL bei Web Services. Beschreibt folgende Aspekte eines Web Services: InterfaceBindings Beschreibt, welche Attribute in der Message verwendet werden können, und wie sie codiert sind. Definiert auch das verwendete Protokoll wie HTTP oder SMTP. Ports Damit wird ein InterfaceBinding einer Netzwerkadresse zugeordnet. Services Ist eine logische Gruppierung von Ports. Stellt beispielsweise eine Anwendung mehrere Ports zur Verfügung, können diese zu einem Service zusammengefaßt werden. 2 Workflow, Business Process Management, 4.Teil
Bei vorhandene Services, die über einen Adapter als Web Service zur Verfügung gestellt werden, sollte WSDL aus den existierenden Beschreibungen des Interfaces generiert werden. Eine vorhandene WSDL sollte verwendet werden können, um Server- oder Clientstub zu generieren. UDDI (Universial Description Discovery and Integration) UDDI ist ein von OASIS definierter Standard. UDDI definiert Registries, die vorhandene Web Services katalogisieren. Die UDDI stellt Daten zur Verfügung, die zum Designzeitpunkt oder zur Laufzeit einer Anwendung gelesen werden können, um Web Services zu finden und um Daten über diese Web Services zu ermitteln. BPEL (BPEL4WS: Business Process Execution Language for Web Services) BPEL hat verschiedene Aspekte: Service Composition Ein Business Prozeß, der zwischen Partnern abläuft, beinhaltet oft den Austausch von mehreren Messages, die nach bestimmten Regeln zu erfolgen hat. Prozeßbeschreibung BPEL kann wie die FDL verwendet werden, um ein Process Template zu definieren. Web Services 3