Übersicht: Web-Service-Szenarien mit einem Onlinehändler für Gartenbedarf
Die Anregung zu diesen Szenarien kam vom Onlinehändler Plants by WebSphere. Plants by WebSphere verwendet die Web-Service-Unterstützung unter WebSphereApplication Server, um die Kommunikation mit seinen Lieferanten zu verbessern. Die komplexeren Szenarien beschreiben die Web-Service-Unterstützung, die nur in bestimmten Editionen des Anwendungsservers verfügbar ist. Die Produktdokumentation gibt Auskunft über die von Ihrer Edition gebotene Unterstützung.
Plants by WebSphere ist auch als Beispielanwendung im Abschnitt "Beispiele" im Information Center verfügbar. Diese Szenarien stehen allgemein miteinander in Zusammenhang. Sie beschreiben, wie der fiktive Onlinehändler verschiedene Web-Service-Technologien nutzen kann. Nicht alle diese Technologien werden im Beispiel behandelt.
Web-Services sind Middleware. Mit Web-Services können Sie Anwendungen miteinander verbinden, unabhängig davon, wie die einzelnen Anwendungen implementiert sind oder wo sie sich befinden. Beispielsweise können Web-Services Einzelhändler mit Großhändlern verbinden. Middleware ist kein neues Konzept. Neu an den Web-Services ist, dass diese Konnektivität auf offenen Standards und Webtechnologien basiert. Web-Services funktionieren auf einer Abstraktionsebene, die der des Internet ähnlich ist, und sie können mit allen Betriebssystemen, Hardwareplattformen und webbasierten Programmiersprachen verwendet werden.
Plants by WebSphere ist ein virtuelles Schaufenster zum Verkauf von Pflanzen und Gartenzubehör. Wenn Kunden Ware bestellen, überprüft die Website die Verfügbarkeit der Ware in ihrer Bestandsdatenbank. Die Szenarien zeigen, wie das Bestandssystem schrittweise vergrößert werden kann. Dazu werden verschiedene Web-Service-Technologien verwendet, die die Funktionalität des Systems verbessern.
- Vor der Einführung von Web-Services
Die Anwendung Plants by WebSphere hat bereits Web-Service-Funktionen. Nachfolgend wird beschrieben, wie der Onlinehändler möglicherweise vorgegangen ist, bevor er zur Web-Service-Technologie übergegangen ist. Grundlegende Web-Service-Komponenten werden eingeführt. Die Dokumentation zu jeder Edition gibt Auskunft darüber, welche Komponenten mit jeder Edition von WebSphere Application Server verfügbar sind.
- Statische Abfragen des Lieferanten
In diesem Szenario setzt ein Onlinehändler für Gartenzubehör eine Anwendung in einen Web-Service um, mit dem er den Bestand seines Hauptlieferanten überprüfen kann.
- Dynamische Abfragen des Lieferanten
In diesem Szenario verwendet der Onlinehändler für Gartenzubehör Web-Services, um den Bestand verschiedener Großhändler zu überprüfen.
- Lieferantenübergreifende Abfrage
In diesem Szenario stellt der Onlinehändler für Gartenzubehör seine Anwendung anderen Benutzern, die den Service benötigen, zur Verfügung.
Vor der Einführung von Web-Services
Nehmen Sie einmal an, dass Plants by WebSphere keine Web-Services verwendet. Der Einzelhändler für Gartenzubehör hat ein eindrucksvolles Internet-Schaufenster erstellt, in dem Kunden einkaufen und Waren bestellen können. Webanwendungen basieren auf Enterprise-Beans, die die Bestandsdatenbank von Plants by WebSphere abfragen, um zu bestimmen, ob eine Kundenbestellung durchgeführt werden kann. Wenn der Artikel vorrätig ist, bestätigt die Website dem Kunden die Bestellung.
Bestellt der Kunde einen Artikel, der nicht vorrätig ist, benachrichtigt die Website den Kunden entsprechend und empfiehlt ihm, den Artikel im Lieferrückstand anzugeben. Später, wenn der Kunde die Website von Plants by WebSphere längst verlassen hat, bestellt der Siteadministrator oder Bestandsverwalter per Telefon oder Fax die fehlenden Artikel beim Lieferanten nach.

Einführung von Web-Services
Web-Services bieten Plants by WebSphere die Möglichkeit, nicht vorrätige Artikel automatisch an sein Warehouse oder direkt an Kunden zu liefern. Wenn der Lieferant schnell kontaktiert werden kann, muss Plants by WebSphere dem Kunden keine Informationen senden, die auf Probleme hinsichtlich der Verfügbarkeit des Artikels hinweisen. Plants by WebSphere kann gegebenenfalls damit beginnen, den eigenen Bestand zu verkleinern, wenn dies geschäftlich sinnvoll ist.
Web-Services basiert auf den folgenden Kerntechnologien:
- XML
Extensible Markup Language (XML) löst das Problem der Datenunabhängigkeit. Sie verwenden XML, um Daten zu beschreiben und Anwendungen oder Programmiersprachen zuzuordnen. Sie können eine Zuordnung der Daten auch ausgehend von den Anwendungen oder Programmiersprachen vornehmen.
Plants by WebSphere und sein Lieferant stellen die Daten in eine Gruppe von XML-Tags, auf die beide Parteien sich vorher geeinigt haben.
- WSDL (Web Services Description Language)
Sie verwenden diese XML-basierte Sprache, um eine zugrunde liegende Anwendung zu beschreiben. Dieses WSDL-Dokument (Web Services Description Language) enthält die Beschreibung Ihrer Anwendung. Mit dieser Beschreibung wird die vorhandene Anwendung in einen Web-Service umgewandelt, wobei WSDL als Schnittstelle zwischen der zugrunde liegenden Anwendung und anderen webbasierten Anwendungen fungiert.
Plants by WebSphere hat eine Anwendung, mit der der Bestand des Lieferanten abgefragt werden kann. Um die Kommunikation mit dem Lieferanten über das Internet zu ermöglichen, wandelt das Unternehmen die Anwendung in einen Web-Service um.
- SOAP
SOAP ist das wichtigste Kommunikationsprotokoll für das Web und wird von den meisten Web-Services verwendet.
SOAP ist ein XML-Format für Web-Service-Anforderungen. Laut SOAP-Spezifikation ist SOAP ein Lightweight-Protokoll für den Austausch von Daten in einer dezentralisierten, verteilten Umgebung. Es ist ein XML-basiertes Protokoll, das aus drei Teilen besteht: einem Envelope, das eine Struktur für die Beschreibung und Verarbeitung des Nachrichtinhalts definiert, einer Gruppe von Codierungsregeln, mit denen Instanzen anwendungsdefinierter Datentypen ausgedrückt werden können, und einer Konvention für die Darstellung von Fernprozeduraufrufen und -antworten. SOAP kann in Verbindung mit einer Vielzahl anderer Protokolle verwendet werden. Die einzigen in diesem Dokument definierten Bindungen beschreiben, wie SOAP in Verbindung mit HTTP und HTTP Extension Framework verwendet wird.
Da die Bindungen außerhalb des Intranets von Plants by WebSphere liegen, erfolgt die Kommunikation mit den Lieferanten über SOAP-HTTP. Web-Services, die im Unternehmensnetz arbeiten, können andere Transportformen, wie z. B. Java™-Bindungen, verwenden. Die weiter unten beschriebene WSIF-Komponente (Web Services Invocation Framework) kann Anwendungen von Plants by WebSphere helfen, den optimalen Transportmechanismus für eine bestimmte Situation auszuwählen.
- Web Services for Java Platform, Enterprise Edition (Java EE)
Die Spezifikation Web Services for Java Platform, Enterprise Edition (Java EE), die auch als Spezifikation JSR-109 bekannt ist, definiert, wie Java-EE-Anwendungen Web-Services erstellen und auf diese zugreifen.
Wie Sie eine Web-Service-Schnittstelle in einer vorhandenen Anwendung implementieren und Ihren Web-Service im Anwendungsserver implementieren, können Sie in den Informationen zur Implementierung von Web-Service-Anwendungen nachlesen.
- Java API for XML Web Services (JAX-WS)
Das Programmiermodell JAX-WS vereinfacht die Anwendungsentwicklung durch die Unterstützung eines standardisierten annotationsbasierten Modells für die Entwicklung von Web-Service-Anwendungen und -Clients. Das Programmiermodell JAX-WS ist der Nachfolger des Programmiermodells JAX-RPC 1.1.
Der Anwendungsserver unterstützt sowohl JAX-WS als auch JAX-RPC.
- Java Architecture for XML Binding (JAXB)
JAXB ist eine Java-Technologie, die eine einfache Methode für die Zuordnung von Java-Klassen und XML-Schemata bei der Entwicklung von Web-Service-Anwendungen bietet. JAXB nutzt plattformunabhängige XML-Daten, um XML-Schemata an Java-Anwendungen zu binden, ohne dass umfassende Kenntnisse in der XML-Programmierung erforderlich sind.
- Java API for XML-based remote procedure call (JAX-RPC)
JAX-RPC (oder JSR-101) definiert, wie Java-Anwendungen auf Web-Services zugreifen.
Der Anwendungsserver unterstützt sowohl Web-Services die auf dem Programmiermodell JAX-WS basieren als auch Web-Services, die auf JAX-RPC basieren. JAX-WS ist ein neues Programmiermodell, das die Anwendungsentwicklung durch die Unterstützung eines standardisierten annotationsbasierten Modells für die Entwicklung von Web-Service-Anwendungen und -Clients vereinfacht. In einem Modul können ein JAX-RPC-Client und ein JAX-WS-Client verwendet werden. Somit kann der Onlinehändler seine JAX-RPC-Anwendungen weiterhin verwenden. Der Anwendungssserver vereinfacht die Konfiguration und die Wiederverwendung von Konfigurationen und gibt Ihnen somit die Möglichkeit, neue Web-Service-Profile ohne Reibungsverluste zu integrieren. Die JAX-WS-Standards unterstützen interoperable und zuverlässige Web-Service-Anwendungen. Der Onlinehändler kann Nachrichten asynchron senden, d. h., die Nachrichten können selbst dann zuverlässig übertragen werden, wenn eine der Parteien vorübergehend offline, beschäftigt oder nicht verfügbar ist. Mit diesen neuen Technologien kann der Onlinehändler sicher sein, dass seine Übertragungen zuverlässig sind und ihr Ziel erreichen, wenn er mit anderen Lieferanten interagiert.
Weitere Beispiele für die Web-Services JAX-WS und JAX-RPC finden Sie im Abschnitt "Beispiele" im Information Center.
Die WebSphere-Software stellt weitere Spezifikationen und Standards bereit, die Ihnen dabei helfen, Ihre Web-Services optimal zu nutzen.
Eine vollständige Liste der unterstützten Standards und Spezifikationen finden Sie in der Dokumentation zu den Web-Service-Spezifikationen und den Anwendungsprogrammierschnittstellen.