Lexikon

Web-Services

Ein Web-Service entspricht der XML-basierten Darstellung einer Anwendung oder Software-Komponente. Web-Services sind selbstbeschreibend; Schnittstelle und deren Metadaten sind getrennt. Konsument und Anbieter eines Web-Service sind lose gekoppelt; beide kommunizieren mittels XML-basierten Nachrichten über definierte Schnittstellen. Dadurch bleiben Details der Implementierung des Web-Service verborgen.

Das World Wide Web (WWW) – einst ein Sammelsurium aus durch Hyperlinks verknüpften Text-, Ton- und Bilddateien – hat sich gerade in letzter Zeit zu einer Palette von Informationsdiensten entwickelt. Ein typischer Informationsdienst im WWW stellt Aktieninformationsdienst dar, der den neuesten Stand von Aktienkursen notiert.

Das WWW in seiner heutigen Form ist bereits weitgehend am Benutzer und seinen Bedürfnissen orientiert. Trotzdem zeichnet sich in letzter Zeit vermehrt ein weiterer Trend ab – die Automatisierung der Informationsdienste im WWW. Speziell im Bereich der Business-to-Business-(B2B-) und e-Commerce Anwendungen ist diese Art der Informationsverarbeitung bereits schon heute Wirklichkeit.

B2B-Anwendungen beruhen auf manuell vereinbarten Schnittstellen und Nachrichtenformaten zwischen den Geschäftspartnern. Erschwerend kommt hinzu, dass die zeit- und kostenaufwendige Integration für jeden Geschäftspartner neu vorgenommen werden muss. Eine Automatisierung dieses Vorgangs wäre folglich sehr wünschenswert. Hier kommen die Web-Services ins Spiel.

Eine einheitliche, konsistente und standardisierte Terminologie ist zum jetzigen Zeitpunkt noch nicht verfügbar. Trotzdem herrscht in Standardisierungsgremien wie dem World Wide Web Consortium (W3C) eine allgemeine Übereinstimmung darüber, was ein Web-Service ist. Demnach lassen sich Web-Services wie folgt charakterisieren:

  • Programmierbar: Web-Services sind über programmierbare Schnittstellen erreichbar. Web-Services sind in erster Linie zur Anwendungskommunikation und nicht zur menschlichen Informationsverarbeitung geschaffen. Web-Services haben keine graphische Benutzeroberfläche.
  • Selbstbeschreibend: Ein Web-Service wird begleitet von „Metadaten" (Daten über Daten), die während der Laufzeit von weiteren Web-Services ausgewertet werden können. Name, Beschreibung, Version und Dienstgüte sind typische Beschreibungsmerkmale.
  • Kapselung: Ein Web-Service ist eine unabhängige, in sich abgeschlossene bzw. gekapselte Anwendung, die eine genau definierte Aufgabe erfüllt.
  • Lose gekoppelt: Kommunikation erfolgt über Nachrichtenaustausch. Web-Service-Konsumenten und -Anbietern bleiben Implementierungsdetails verborgen.
  • Ortstransparenz: Web-Services sind ortsunabhängig und können jederzeit und von jedem Ort aus aktiviert werden, vorausgesetzt Benutzer und Anwendungen haben entsprechende Zugriffsrechte.
  • Protokolltransparenz: Ein Web-Service basiert auf der Internet-Protokollsuite. Operationen und Nachrichten können mehrere Protokolle unterstützen, z.B. Hypertext Transfer Protocol (HTTP) oder Simple Mail Transfer Protocol (SMTP).
  • Komposition: Web-Services können entweder in weitere Web-Services zerlegt werden oder mehrere wiederverwendbare Basis-Web-Services können zu einem neuen Web-Service zusammengestellt werden.

Darüber hinaus können Web-Services entweder von informativer oder von transaktioneller Natur sein. Transaktionelle Web-Services können Bestandteil lang laufender Geschäftstransaktionen sein.

Web-Service-Architektur

Web-Services sind nicht monolithisch und müssen vielmehr im Zusammenhang mit einer verteilten Service-Architektur betrachtet werden. Aufgrund ihrer Protokolltransparenz können sie entweder auf transport- oder anwendungsorientierten Protokollen fußen. Das bedeutet, dass Funktionsaufrufe, verlässliche Nachrichtenübermittlung im Text- oder Binärformat, Transaktionen, Workflow und Kontext auf höherer Ebene geregelt werden müssen. Sicherheitsaspekte und Zusicherungen zur Dienstgüte sind bereichsübergreifend. Die Abgrenzung und Anordnung der einzelnen Schichten ist Gegenstand einer Diskussion in Standardisierungsgremien.

Unabhängiger von der Anordnung der einzelnen Schichten lassen sich folgende Rollen von Web-Services identifizieren:

  • Konsument: Agiert mittels XML-basierter Nachrichten und Transportprotokoll mit einem Web-Service-Verzeichnis oder -Anbieter. Die dynamische Anbindung mit dem kommunizierenden Web-Service erfolgt über ein Web-Service-Verzeichnis.
  • Anbieter: Als eigentlicher Dienstanbieter zugänglich über programmierbare Schnittstellen.
  • Verzeichnis: Enthält eine logische Beschreibung und Angaben über den Aufenthaltsort sämtlicher Web-Service-Anbieter.

Konsument, Anbieter und Verzeichnis sind austauschbar. Ein Konsument kann auch als Zwischenhändler fungieren und somit auch Anbieter eines Web-Service sein.

In ihrer einfachsten Form interagieren zwei Web-Services wie folgt:

  1. Ein potentieller Nutzer eines Web-Service stellt eine Suchanfrage an einen Verzeichnisdienst.
  2. Das Web-Service Verzeichnis enthält eine kategorisierte Ansammlung von registrierten, vertrauenswürdigen Web-Services.
  3. Nachdem der gewünschte Service ausfindig gemacht wurde, können weitere Details über Nachrichtenformate und Protokolle angefragt werden.
  4. Basierend auf der Servicebeschreibung, kann eine Protokollanbindung erzeugt werden. Somit können beide Web-Services miteinander kommunizieren.

Anfragemechanismus und Anbindung können entweder statisch oder dynamisch erfolgen. Bei einem dynamischen Ansatz können z.B. Dienstgüte, Verfügbarkeit oder weitere Kriterien zur Laufzeit ausgehandelt werden.

Ergänzend lässt sich ein Lebenszyklus eines Web-Service feststellen. Bevor ein Web-Service genutzt werden kann, muss er erstellt werden. Danach kann er in einem Verzeichnis registriert werden. Potentielle Nutzer können Web-Services in einem Verzeichnis finden, damit er letztendlich verwendet werden kann.

Standardisierung von Web-Services

Je stärker neue Technologien verbreitet sind, desto mehr Bedeutung gewinnt ihre Interoperabilität. Internet-Standards und die zugrunde liegenden Technologien (z.B. XML) sind deshalb wichtiger denn je. Mit der Berücksichtigung von Standards sind auch klare Wettbewerbsvorteile verbunden. Sie reduzieren nicht nur Entwicklungskosten und Komplexität, sondern ermöglichen den Einstieg von Firmen und Privatpersonen ohne technologische Hürden. Beispielsweise erreichen Anbieter von Web-Services eine größere Verfügbarkeit. Auch haben Nutzer von Web-Services geringere Probleme beim Integrationsprozess.

Leider kann die Standardisierung und Automatisierung von Web-Services nur zu einem bestimmten Grad vorangetrieben werden. Das bekannte Dilemma zwischen Dejure- und Defacto-Standards bleibt bislang noch bestehen.

Zurzeit ist die Standardisierung im Bereich der Web-Services in vollem Gange. Das World Wide Web Consortium (W3C), OASIS (Organization for the Advancement of Structured Information Standards) und einige weitere unabhängige Gremien widmen sich der Standardisierung in diesem Bereich. Das W3C konzentriert sich hierbei weitgehend auf horizontale Standards, d.h. technische Standards, die auf alle Industriezweige angewendet werden können. OASIS dagegen befasst sich mit sog. vertikalen Standards und verwendet – soweit möglich – bestehende technische Standards. Gelegentlich kommt es aufgrund mangelnder Abstimmung zwischen den Organisationen zu Widersprüchen und Redundanzen.

Folgende Standards bilden das Fundament der Web-Service-Architektur:

  • Web Service Description Language (WSDL): Sie bietet eine XML-Beschreibung der Fähigkeiten des Web-Service. WSDL wurde der W3C im März 2001 zur Standardisierung vorgelegt.
  • Simple Object Access Protocol (SOAP): Mit SOAP wurde im Mai 2000 dem W3C eine weitere Technologie vorgelegt, die sich der Integration von Applikationen über das Internet widmet, unabhängig von der zugrunde liegenden Software-Architektur.
  • Universal Description, Discovery and Integration (UDDI): Hierbei handelt es sich um einen Verzeichnisdienst, eine Art „Gelbe Seiten" (yellow pages), in dem Web-Services und ihre Schnittstellen registriert sind. UDDI umfasst programmierbare Schnittstellen zum dynamischen Auffinden von Web-Services. UDDI erweitert das Prinzip der Gelben Seiten um sog. White- und Green-Pages. Die White-Pages bieten Aufschluss über den Firmennamen, Beschreibung und Ansprechpartner. Die Yellow-Pages enthalten Produkt, Dienst, Industriezweig und geographische Unterteilung, während sich die Green-Pages mit den technischen Details der Datenkommunikation auseinander setzen.

Ergänzend zu den bereits genannten Standards wurde ein einheitlicher Standard für die e-Business-Geschäftsabwicklung verabschiedet. Im Detail handelt es sich um die von OASIS und UN/CEFACT entwickelte Electronic Business Extensible Markup Language (ebXML). Dieser Standard unterstützt den Austausch von Geschäftsnachrichten und regelt Handelsbeziehungen. Er ermöglicht Datenkommunikation unter Verwendung des gleichen Vokabulars. Darüber hinaus definiert und registriert er Geschäftsprozesse. Die ebXML-Spezifikation enthält u.a. eine Referenzarchitektur, Schemata für Geschäftsprozesse und eine Protokollvereinbarung, die den Nachrichtenaustausch zwischen den Geschäftspartnern regelt.

Fazit

Web-Services und die damit assoziierten Standards befinden sich in einem aufeinander bezogenen Entwicklungsprozess: Sie beinhalten neben rein technologischen Vorteilen völlig neue wirtschaftliche Potentiale. Zum Beispiel lässt sich einerseits die verteilte B2B-Integration automatisieren, andererseits können interne Geschäftsprozesse durch externe Web-Services unterstützt werden.

Aufgrund ihrer Neuartigkeit sind Web-Services auch mit Problemen verbunden. Letzte architektonische Lücken müssen geschlossen werden und grundlegende Standards reifen, damit sich vertrauenswürdige Web-Services und ihr Zusammenspiel mit anderen Web-Services voll entfalten können.

Zahlreiche Unternehmen befassen sich zur Zeit mit Web-Services und arbeiten bereits an ihrer Verwirklichung. Erste produktive Ansätze in Form von Standards wurden bereits geschaffen. Allerdings müssen Web-Services und ihre Werkzeuge noch stark verbessert werden. Erste zuverlässige Produkte und Services werden nicht vor Ablauf diesen Jahres zu erwarten sein.

Literatur

  1. Ariba, IBM, and Microsoft. Web Services Description Language (WSDL) 1.0. http://www-106.ibm.com/developerworks/webservices/, September 2000
  2. ebXML. ORG. Electronic Business XML (ebXML).
    http://www.ebxml.org, September 1999.
  3. Microsoft, IBM et al. Simple Object Access Protocol (SOAP) 1.1. 
    http://www.w3c.org/TR/SOAP, Mai 2000.
  4. UDDI. ORG. UDDI Executive White Paper.
    http://www.uddi.org, September 2000.
  5. World Wide Web Consortium (W3C). W3C Workshop Proceedings on Web Services. http://www.w3.org/2001/03/WSWS-popa/, April 2001

Hinweis: Die URLs entsprechen dem Stand bei der Veröffentlichung des Artikels und werden nicht aktualisiert.

Autor und Copyright

Urban Bettag
Reuters Limited, 
Chief Technology Office, 
85 Fleet Street, 
London EC4P 4AJ, 
UK
urban.bettag@reuter.com

© 2001 Informatik Spektrum, Springer-Verlag Berlin Heidelberg