Ein Web-Service ist eine Gruppe von zusammengehörigen Anwendungsfunktionen, die über das Internet programmgestützt aufgerufen werden können. Durch eine dynamische Kombination und Abgleichung von Web-Services werden Unternehmen in die Lage versetzt, komplexe Transaktionen mit geringem Programmieraufwand zu realisieren. Durch Web-Services können sich Käufer und Verkäufer weltweit gegenseitig suchen, eine dynamische Verbindung zueinander herstellen und Transaktionen in Echtzeit mit minimalem manuellem Eingriff ausführen.
Web-Services sind selbständige, selbst beschreibende modulare Anwendungen, die im Web publiziert, lokalisiert und aufgerufen werden können.
Web-Services sind unabhängig. Auf der Clientseite ist keine zusätzliche Software erforderlich. Eine Programmiersprache mit XML- und HTTP-Clientunterstützung ist für die ersten Schritte ausreichend. Auf der Serverseite sind ein Web-Server und eine Servlet-Steuerkomponente erforderlich. Client und Server können in verschiedenen Umgebungen implementiert werden. Es ist möglich, eine vorhandene Anwendung über einen Web-Service zu aktivieren, ohne eine einzige Zeile Code zu schreiben.
Web-Services sind selbst beschreibend. Client und Server müssen lediglich Format und Inhalt von Anforderungen und Antwortnachrichten erkennen. Die Definition des Nachrichtenformats wird mit der Nachricht transportiert, es sind keine externen Metadatenrepositorys oder Codegenerierungstools erforderlich.
Web-Services sind modular. Einfache Web-Services können zu komplexeren Web-Services zusammengefasst (modular aufgebaut) werden; entweder durch die Verwendung von Workflow-Verfahren, oder durch das Aufrufen von Web-Services einer niedrigeren Schicht aus Web-Service-Implementierungen.
Web-Services sind plattformunabhängig. Web-Services basieren auf einer präzisen Gruppe offener, XML-basierter Standards, die der Förderung der Interoperabilität zwischen einem Web-Service und Clients über eine Vielzahl von IT-Plattformen und Programmiersprachen hinweg dienen.
Web-Services können alles mögliche darstellen, z. B. ein Artikel mit einer Theaterkritik, den Wetterbericht, Kreditwürdigkeitsprüfungen, Aktiennotierungen, Reiseratgeber oder Reservierungsprozesse von Fluggesellschaften. Diese selbständigen Geschäftsservices sind jeweils eine Anwendung, die leicht mit anderen Services desselben oder eines anderen Unternehmens integriert werden kann, um einen vollständigen Geschäftsprozess zu erstellen. Durch diese Interoperabilität können Unternehmen eine Reihe von Web-Services im Internet dynamisch publizieren, erkennen und binden.
Web-Services können in drei Kategorien eingeteilt werden:
Geschäftsinformationen. Ein Unternehmen nutzt gemeinsam mit Konsumenten und anderen Unternehmen Informationen. In einem solchen Fall verwendet das Unternehmen Web-Services, um seinen Bereich zu erweitern. Beispiele für Web-Services im Bereich Geschäftsinformationen sind News-Streams, Wetterberichte oder Aktiennotierungen.
Geschäftsintegration. Ein Unternehmen bietet seinen Kunden transaktionsorientierte, kostenpflichtige Services an. In einem solchen Fall wird das Unternehmen Teil eines globalen Netzes von Mehrwert schaffenden Lieferanten, das für Geschäftsaktivitäten genutzt werden kann. Beispiele für Web-Services im Bereich Geschäftsintegration sind E-Marketplaces für Auktionen oder die Prüfung der Kreditwürdigkeit.
Geschäftsprozessauslagerung. Ein Geschäft unterscheidet sich von seinen Konkurrenten durch die Erstellung einer globalen Wertschöpfungskette. In einem solchen Fall verwendet das Unternehmen Web-Services, um seine Prozesse dynamisch zu integrieren. Ein Beispiel für Web-Services in der Geschäftsprozessauslagerung sind die Beziehungen zwischen verschiedenen Firmen, um für ein bestimmtes Produkt Fertigung, Montage, Großhandelsvertrieb und Einzelhandelsvertrieb miteinander zu verbinden.
In einer Web-Services-Architektur kann eine Netzkomponente eine oder mehrere fundamentale Rollen spielen: Service-Provider, Service-Broker und Service-Client.
Ein Binding umfasst die Erstellung sämtlicher Umgebungsvoraussetzungen, die für die erfolgreiche Durchführung der Services notwendig sind. Beispiele für die Umgebungsvoraussetzungen wären Sicherheit, Transaktionsüberwachung und HTTP-Verfügbarkeit. Die Beziehung zwischen diesen Rollen wird in Abbildung 1 beschrieben.
Abbildung 1. Servicerollen und Interaktionen.
Weitere Informationen zu Web-Services finden Sie unter www.ibm.com/developerworks/webservices.