Tech Talk ? Web-ServicesDaten ohne Grenzen
Datentransfer via Web-Services
Tech Talk ? Web-Services
Die Vision ist vielversprechend: Kontoabfragen starten direkt aus Excel heraus. Word recherchiert auf Knopfdruck in den Weiten des Internet und sammelt selbstständig relevante Artikel zum gerade geschriebenen Text. Und der Browser überwacht automatisch die laufende eBay-Auktion.
Kurzum: Der Anwender hat selektiven Zugriff auf dynamische Daten aller Art, ganz gleich, mit welchem System er arbeitet und welches System der Ziel-Server einsetzt. Das funktioniert so einfach, weil sich die miteinander kommunizierenden Anwendungen auf die beiden kleinsten gemeinsamen Nenner einigen: XML als Datenformat und HTTP als Protokoll.
Programme reden miteinander
Tech Talk ? Web-Services
Erfüllen soll diese Verheißungen eine zukunftsträchtige Technologie namens Web-Services. Deren Datenaustauschprinzip erinnert zunächst einmal an das von Sicherheitsprogrammen: Virenscanner und Firewall nehmen selbstständig Kontakt mit einem entfernten Webserver auf, laden relevante Daten auf die Festplatte und aktualisieren im Hintergrund die Programmkonfiguration.
Ähnlich funktionieren Web-Services. Allerdings kommuniziert nicht eine Anwendung mit einem Heimatserver, sondern diverse Anwendungen interagieren miteinander. Das macht Web-Services sehr flexibel, zumal die technischen Voraussetzungen niedrig sind. Web-Services erfordern zwar exakte, über XML spezifizierte Systemschnittstellen (Microsoft spricht von »Web Service Contracts«), nutzen zum Transfer aber verfügbare Transportprotokolle wie HTTP. Die angeforderten Funktionen oder Daten werden im Anschluss von einer eindeutigen URL abgerufen. Im Umkehrschluss ist jedes System, das mit HTTP und XML umgehen kann, in der Lage, Web-Services zu nutzen.
Im Allgemeinen bezeichnen Web-Services die über die jeweilige URL zur Verfügung gestellten Dienste. Das W3-Konsortium hat sich demgegenüber darauf verständigt, die genutzten System-Schnittstellen selbst als Web-Services zu definieren. In vielen Fällen werden XML-Web-Services über Dynamic Link Libraries (DLL-Dateien) bereitgestellt, die sich auf einem Webserver befinden und deren Funktionen über das Internet aufrufbar sind.
Erstkontakt mit Web-Services
Tech Talk ? Web-Services
Web-Services erheben den Anspruch, den Datentransfer für die kommunizierende, lokal installierte Anwendung vollständig transparent zu machen. Das bezieht sich allerdings allein auf die Protokolle und bedeutet nicht, dass Anwender über alle Schritte des Transfers und der Kontaktaufnahme der Server informiert sind.
Im Gegenteil: Internet und lokale Anwendungen verschmelzen im Hintergrund. Auf der Benutzeroberfläche sieht ein User infolgedessen nicht, ob er gerade online oder lokal arbeitet. Beispiel Word 2003: Mit dem Feature Online-Recherche hat Microsoft im weitesten Sinne bereits einen Web-Service implementiert.
Der Anwender kann beim Abfragen bestimmter Begriffe auf Online-Datenbanken zugreifen, etwa auf E-Library. Die Konfiguration ist denkbar einfach. Klicken Sie in der Taskleiste von Word auf den Button Dienste auf Office Marketplace anfordern und folgen den Anweisungen auf der Seite.
Die Webdienste lassen sich über simples Kopieren der dort angegebenen URL in die Optionsfelder der Recherche-Funktion einbinden. Im Anschluss ist das Tool sofort einsatzbereit.
Mit einem einzigen Mausklick entscheiden Sie, ob Sie aus Word heraus lokal im Wörterbuch, in Encarta oder online in einer US-Datenbank mit tagesaktuellen Meldungen recherchieren möchten. Diese Lösung ist gleichermaßen schnell und komfortabel. Allerdings sollte man die Dienste mit Bedacht einbinden. Die meisten Info-Services besitzen zwar Free-Trial-Accounts, sind im Anschluss jedoch kostenpflichtig.
Web-Services und Protokolle
Tech Talk ? Web-Services
Die Idee der Web-Services ist nicht neu. Aber mit dem von Microsoft, IBM und einigen anderen Unternehmen im Mai 2000 spezifizierten Simple Object Access Protocol 1.1 (SOAP) haben die Unternehmen einen industrieweiten Standard geschaffen, der jetzt Früchte zu tragen beginnt. SOAP kümmert sich um den Transfer der Daten: Ein Client schickt mittels HTTP eine XML-Nachricht an einen Server, und dieser antwortet wieder mit einer XML-Nachricht. Web-Services können also unabhängig von bestimmten Programmiersprachen und Systemplattformen arbeiten.
Diese Funktionsweise ist durchaus mit dem Simple Mail Transfer Protocol (SMTP) vergleichbar. SOAP definiert die Envelope-Struktur für den Datenversand, lässt aber den Inhalt (Header und Body) unberücksichtigt. Während bei SMTP der Header einer Mail Angaben zu Absender und Adressat macht, die dann im Browserfenster erscheinen, enthält der Header im SOAP XML-Metadaten. Diese ermöglichen eine Anmeldung am Zielsystem oder bestimmen den Inhalt näher. Der Inhalt selbst besteht wiederum aus XML-Daten.
Da sich SOAP über HTTP übertragen lässt, ist die Handhabung einfach, und der Browser reicht als Client aus. Eine weitergehende Implementierung ist zwar nicht erforderlich, aber auch TCP und UDP kommen als Transportschichten in Frage. SOAP ist flexibel genug, um auf der Reise zwischen dem Server und dem Client beim Passieren der zwischengeschalteten Server auch andere Transport-Layer zu nutzen.
SOAP unterstützt nicht nur Windows, sondern insgesamt mehr als ein Dutzend Plattformen. In der Anfangszeit war SOAP eine Einbahnstraße. Erst 2001 war das Protokoll über so genannte Routing-Channel in der Lage, nicht nur Dienste vom Server abzurufen, sondern auch Daten vom Client aus zurückzusenden. Deswegen hat sich die alternative Bezeichnung SOAP RP (Routing Protocol) durchgesetzt. Microsoft stellt mit dem SOAP Toolkit 2.0 eine Entwicklungsumgebung bereit und beantwortet auf den
MSDN-Seiten ausführlich Support Fragen.
SOAP ist aber keine exklusive Microsoft-Entwicklung. Auch zahlreiche andere Unternehmen entwickeln die SOAP-Spezifikationen weiter ? freilich ohne die MS-Vorgaben als Maßstab zu nehmen. Als Beispiel ist Apache SOAP zu nennen, ursprüngliche eine IBM-Entwicklung für Java, die einst unter der Bezeichnung SOAP4J firmierte und jetzt Apache gehört.
SOAP und der REST
Tech Talk ? Web-Services
Zwar werden Web-Services heute fast immer mit SOAP realisiert. Es gibt aber auch alternative Modelle. Allen voran ist der Representational State Transfer zu nennen, kurz REST. Die Geburtsstunde von REST war im Jahr 2000 die Dissertation von Roy Fielding, Mitgründer und Kopf von Apache.
Im Gegensatz zu SOAP ist REST kein echtes Protokoll für Client-Server-Systeme. REST überträgt so genannte Ressourcen (Informationen aller Art), die sich im Web eindeutig adressieren lassen, anhand von Uniform Resource Identifiers (URI), indem es deren Status abfragt. Dabei kann es sich um den Satz einer Datenbank handeln, aber auch um Wetterinformationen oder digitale Fotos.
Das Prinzip der REST-Anwendungen setzen bereits Suchmaschinen, Datenbanksysteme und E-Shops ein. Ein Beispiel verdeutlicht dies: Wer in Google den Begriff PC Professionell als Suchkriterium eingibt, erhält eine umfangreiche Trefferliste. Der Uniform Resource Identifier (URI) aus der Browser-Zeile lässt sich als Bookmark speichern. Auf diese Weise ist eine eindeutige Information zu gewinnen. Gegenüber SOAP bietet REST den Vorteil, dass es als Standard offener ist und mitunter auch sicherer.
XML-Spezifikation: WSDL
Tech Talk ? Web-Services
Dass die Informationen im Client ankommen und von der Anwendung erkannt werden, ist bei SOAP Aufgabe von WSDL, der Web Services Description Language. WSDL ist eine XML-Spezifikation für Schnittstellen der Web-Services.
Obwohl WSDL Programmiersprachen- und Plattform-unabhängig und erweiterbar ist, wird es meistens als SOAP-Erweiterung eingesetzt. SOAP-Entwicklerwerkzeuge von Microsoft wie das Toolkit 2.0 sind in der Lage, den WSDL-Code automatisch zu generieren und im XML-Protokoll korrekt zu platzieren. Zudem findet der User auf Seiten wie
www.xmethods.net zahlreiche Code-Beispiele. Eine sehr gut bestückte Datenbank mit zahllosen Beispielen zu Web-Services steht unter
www.salcentral.com zur Verfügung.
Ein Branchenbuch für Web-Services ist der Service Universal Description, Discovery & Integration (UDDI). Dieser gibt Auskunft über aktive Web-Services und bietet für die Suche standardisierte Verfahren an. Dabei erfährt der User von UDDI, welche Dienste abrufbar sind und welche Protokolle und Schnittstellen verwendet werden. UDDI wendet sich an Entwickler und Unternehmen. Diese finden in UDDI eine Plattform, um sich über Geschäftsideen auszutauschen. Microsoft, HP, IBM, SAP und andere Firmen haben einen solchen Branchenservice sowie ein technisches Forum unter
uddi.org realisiert.
Web-Services sind ebenso sicher oder unsicher wie der ganz normale Browser-Verkehr. Firewalls blocken diese Anfragen nicht. Microsoft will darauf mit den Web Services Enhancements (WSE) antworten, einer Erweiterung für SOAP. Bislang flossen Informationen in SOAP-Paketen unverschlüsselt durch die Leitungen. Die Web Services Enhancements verschlüsseln den Body eines SOAP-Pakets. Das Codieren und Decodieren der Informationen übernehmen Filter in einem Public-Key-Verfahren. Das soll SOAP gegen Man-in-the-Middle-Attacken schützen.
Die Zahl der im Web eingesetzten und implementierten Web-Services nimmt aufgrund ihrer flexiblen Arbeitsweise und niedrigen technischen Anforderungen zu. Unternehmen können ihren Kunden Online-Abfragen unabhängig von den eingesetzten Hard- und Software-Systemen bieten. Denkbar wäre beispielsweise, dass ein Anwender digitale Fotos nicht auf einem heimischen Drucker ausgibt, sondern direkt auf den Spezialdruckern eines Printshops.
Auftragserteilung, Datentransfer und Bezahlung ließen sich über Web-Services problemlos realisieren. Auch Endanwender können davon profitieren. Beispielsweise ließe sich eine eBay-Schnittstelle in jede Office-Anwendung implementieren, die zu bestimmten Auktionen den aktuellen Status meldet. Konzerne und Unternehmen könnten beim Einkauf von Produkten Geld sparen, indem sie über Web-Services Preis-Recherchen standardisieren.
Ferner ließe sich per XML ein elektronischer Auftrag an ein Warenhaus virtuell stückeln, indem die Kundendaten in der Abteilung »Auftragserfassung« vermerkt werden und die Produktnummern direkt an die Lagerverwaltung wandern. Eine weitere nützliche Anwendung: Mit Web-Services laden User ihre Bookmarks, egal auf welchem Rechner sie gerade surfen (
www.coldrooster.com).