Ein Web Service (WS) ist eine Software-Anwendung, welche mit einem URI eindeutig identifizierbar ist. Die Schnittstellen werde in WSDL definiert. Ein Web Service implementiert Interaktionen mit anderen Anwendungen(zb. andere WS). Kommuniziert wird über XML basierte Nachrichten genauer SOAP welche über internetbasierte Protokolle verschickt werden. Ein Webservice kann als Kommunikationsorientierte Middleware betrachtet werde. Es ist aber kein Middleware im klassischen sinne.
Die Knoten auf dem Weg einer SOAP Message sind durch das darunterliegene Transportprotokol bestimmt. Damit hat SOAP sozusagen keine Einflus auf Routing. Das wäre aber wünschenswert (Neue Arhitekturen, Piplines usw.)
SOAP lifert keien Mechanismus zu Security oder Transaktionssicherehit. Diese sollten aud der SAP Spezification Aufbauen. Ws-Security ist eine Erweiterung von SOAP: Specification: Web Services Security (WS-Security) WS Security definiert eine block im header, welcher die Signatur neinhalten kann. Ausserdem spezifiziert es wie die Knoten die solch einem Message empfangen mit dieser umgehen sollten.
Ein Klient muss einiges berücksichtigen bevor er mit dem Service kommunizieren kann. Z.B. WSDL definiert Methoden, Kodierungsformate, und Protokolle die ein Service unterstützt. Damit die Kommunikation stattfinden kann, sollten die beiden sich auf diese Details einigen. Ws Policy ist ein Vorschlag für ein Framework, durch welchen Clients und Services erlaubt Ihre „Requirements“, „Capabilities“ und Eigenschaften zu äußern.
Die Idee ist WSDL wirklich generisch zu machen.
Die WS-Basisinfrastruktur ist genügend um einfache Interaktionen zu implementieren. Genauer gesagt es unterstützt solche Interaktionen wo ein Client eine Operation auf dem Web Service aufruft. Wenn aber die Interaktion eine koordinierte Sequenz von Operationen involviert, braucht man zusätzliche Abstraktionsebenen und Werkzeuge um die Korrektheit und Konsistenz der Interaktionen zu erhalten (garantieren).
Dies kann man mit der Middleware vergleichen: RPC unterstützt einfache Interaktionen zwischen Client und Server. Um die zusätzlichen Garantien zu ermöglichen (z.B. Transaktionen) braucht man zusätzliche Protokolle (z.B. 2PC) und eine Infrastruktur die dieses unterstützt (z.B. TP-Monitor). Das selbe gilt auch für Web Services.
Vetikale Protokole verlassen sich gewühnlich auf die Infrastruktur der horizontaler Protokolle, und Beschäftigen sinch mit semantischen aspekten und Mengen von Korrekten Konversationen.
Modellierungsmöglichkeiten:
Das Problem besteht darin den Konversationsprotokoll (z.B. in WSDL) generisch abzubilden. Es wurden viele Spezifikationen vorgeschlagen die diese in Verschiedenen zu realisieren versuchten. Derzeitiger Versuch ist die Web Services Conversation Language (WSCL) 1.0
Tool die die Ausführung der Konversation erleichtern werden Conversation Controller genannt. Sie bitten zwei arten der Funktionalätet an: