In Form einer Anwendungsfallanalyse stellt das W3C einen umfangreichen Katalog auf, um die Möglichkeiten von Webservice-Einsätzen aufzuzeigen. Dieser Artikel stellt zunächst in einem Beispiel einen solchen Anwendungsfall dar und fasst dann hiernach die offiziellen Use Cases in unterschiedlichen Gruppen zusammen.
Im Übersichtsartikel „Web Services Architecture Usage Scenarios, W3C Working Group Note 11 February 2004 “ (http://www.w3.org/TR/ws-arch-scenarios/) findet man – wie der Name schon vermuten lässt, eine Reihe von Möglichkeiten, wie Webservices genutzt werden können, wobei insbesondere keine besondere Technologie der Implementierung im Vordergrund steht. Wie bei dieser Art von W3C-Dokumenten üblich, werden typische Anwendungsfälle (Use Cases, http://www.w3.org/TR/ws-arch-scenarios/#description) identifiziert, mit einem Titel versehen und beschrieben.
Die verschiedenen Anwendungsfälle werden im Folgenden kurz vorgestellt und zusammengefasst. Sie geben bereits einen umfangreichen Überblick über die Möglichkeiten, die mit Webservices aus Programmierersicht realisiert werden können und welche Teilbereiche der Programmierung und Entwicklung es geben kann.
Die verschiedenen Szenarien sind in Gruppe unterteilt, die in dieser Form im Originaldokument nicht zu finden sind, welche aber einige typische Bereiche aufzeigen wollen, in denen sich die Anwendungsentwicklung bewegt.
Ein Beispiel soll die Verwendung von Webservices noch einmal konkretisieren und mit Leben füllen. Es verwendet das gängige Bild einer Reisebuchung, in dem besonders deutlich die verschiedenen Interessen der Organisationen zum Ausdruck kommen, welche die einzelnen Webservices im Beispiel unterhalten und anbieten.
| Ziel / Kontext | Der Benutzer möchte Konzertkarten für ein bestimmtes Konzert in einer bestimmten Stadt erwerben. |
|---|---|
| Szenario / Schritte |
|
| Erweiterungen | Wenn das Konzert in einer entfernt liegenden Stadt stattfindet, kann eine Reise zusätzlich gebucht werden: Anwendungsfälle 2 und 3. |
| Eingeschlossene Anwendungsfälle | Im Standardszenario sind die Anwendungsfälle 4 und 5 enthalten. |
| Technologien / Erfordernisse | Einfache, atomare Datentypen über Musiker, die gerade auf Tour sind, können genauso zum Einsatz kommen wie komplexe XML-Strukturen mit Tourdaten und Verfügbarkeitsinformationen. |
| Ziel / Kontext | Das Konzert findet in einer entfernt liegenden Stadt statt und erfordert eine Bahnreise. |
|---|---|
| Szenario / Schritte |
|
| Eingeschlossene Anwendungsfälle | Im Standardszenario ist der Anwendungsfall 4 enthalten. |
| Technologien / Erfordernisse | Komplexe XML-Strukturen werden ausgetauscht. |
| Ziel / Kontext | Der Benutzer hat sich für ein Konzert entschieden, das nicht in der unmittelbaren Nähe seines Heimatortes stattfindet und benötigt ein Hotel. |
|---|---|
| Szenario / Schritte |
|
| Eingeschlossene Anwendungsfälle | Im Standardszenario ist der Anwendungsfall 4 enthalten. |
| Technologien / Erfordernisse | Komplexe XML-Strukturen werden ausgetauscht. |
| Ziel / Kontext | Der Benutzer hat sich für eine Preiskategorie und einen Konzerttermin entschieden und möchte nun im Rahmen der gewählten Kategorie einen Platz auswählen. |
|---|---|
| Szenario / Schritte |
|
| Erweiterungen | Keine besonderen. |
| Technologien / Erfordernisse | Keine besonderen. |
| Ziel / Kontext | Der Benutzer möchte Dienstleistungen oder Güter elektronisch erwerben und mit seiner Kreditkarte bezahlen. |
|---|---|
| Szenario / Schritte |
|
| Erweiterungen | Keine besonderen. |
| Technologien / Erfordernisse | Komplexe XML-Strukturen werden ausgetauscht. |
Die nächste Abbildung zeigt die verschiedenen Webservices, aus denen das beschriebene Gesamtszenario zusammengesetzt ist. Aus Platzgründen wurden die Szenarien und die verfügbaren Anwendungsfälle sehr knapp beschrieben und nicht in der für eine realistische Darstellung notwendigen Genauigkeit. Hervorzuheben ist, dass in der erweiterten Form eines Konzertkartenverkaufs verschiedene Plattformen (Hotelsuche und -buchung, Bahnfahrkartenbuchung) zusätzlich integriert werden. Dies geschieht für den Benutzer völlig transparent und scheinbar in einer einheitlichen, integrierten Weboberfläche. In Wirklichkeit greifen Softwarekomponenten als Webservice-Klienten auf Webdienste von anderen Plattformen zu, die solche Operationen wie die Saalplanbuchung, die Auswahl von Hotels und passenden Bahnverbindungen anbieten. Aufgabe der Vorverkaufsstelle ist es, bereits verfügbare Daten wie ausgewähltes Konzert (Ort, Termin) sowie evtl. auch die Adressdaten des Kunden in automatische vorgeschlagene Reiseinformationen umzusetzen. Diese sollten zwar individuell durch den Benutzer angepasst werden können, aber zunächst auf durchschnittlichen Vorgabewerten beruhen. Die Bezahlung per Kreditkarte stellt in allen Anwendungsfällen, in denen eine Buchung stattfindet, einen eingeschlossenen Anwendungsfall dar und wird jedes Mal durchlaufen.
In der Abbildung ist mit durchgezogenen, gefetteten Pfeilen der typische Ablauf in seiner einfachsten Form niedergelegt. Die gestrichelten Pfeile deuten zusätzliche Aktivitäten des Benutzers an, also gerade die Buchung einer Reise zum Konzertort. Die durchgezogenen, nicht gefetteten Linien visualisieren dann die notwendigen weiteren Anwendungsfälle und Aktivitäten, die allerdings von optionalen Aktivitäten des Benutzers abhängig sind und nicht immer ausgeführt werden müssen.
Verwendung von Webservices
Der weitaus größte Bereich denkbarer und vom W3C aufgelisteter Anwendungsfälle betrifft den Nachrichtenaustausch, den man in Formen des einfachen Versands zu einem oder mehreren Empfängern einrichten kann und der mit oder ohne Antwort bzw. Empfangsbestätigung auftreten kann.
Fire-and-forget to single receiver: Ein Sender sendet eine Nachricht einem einzigen Empfänger zu. Der Sender benötigt keine Informationen über den Sende- und Empfangsstatus. Dies kann zwar implementiert sein, wird aber nicht für die Antwort eingesetzt.
Die beiden Anwendungsfällen in diesem Bereich konzentrieren sich zum einen auf den mehrstufigen Nachrichtenaustausch und die Einrichtung von Maklersystemen.
Caching-Mechanismen sollen mit Hilfe von Webdiensten eingerichtet werden.
Die Nachrichtenübertragung und Rückverfolgung soll webdienstbasiert erfolgen.
Nachrichtenköpfe und –daten / -anhänge sollen verschlüsselt übertragen werden.
Sender, Nachrichteninhalt und ihre Struktur sollen bestätigt und überprüfbar sein.
Sofern Webservices öffentlich oder innerhalb einer bestimmten Umgebung zentral gespeichert werden sollen, bieten sich Verzeichnisdienste an. Sie erlauben die Suche und automatisierte Entdeckung von geeigneten Webdiensten.
