Webservice

Dienst zur Maschine-zu-Maschine-Kommunikation über Rechnernetze
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 27. April 2005 um 11:48 Uhr durch 131.246.99.13 (Diskussion). Sie kann sich erheblich von der aktuellen Version unterscheiden.

Ein Webservice ist ein Dienst, der mit Hilfe von XML auf der Basis von Internet-Netzwerkprotokollen erbracht wird.

Web Services sind nicht für menschliche Benutzer gedacht, sondern für Softwaresysteme, die automatisiert Daten austauschen und/oder Funktionen auf entfernten Rechnern aufrufen.

Client-Programme senden im Allgemeinen Anfragen an einen Web Service und dieser antwortet mit der gewünschten Information. Von vielen Seiten wird daher behauptet, dass Webservices für Rechner das sind, was Webseiten für den Menschen sind. Auch wenn das nur ein Teil der Möglichkeiten der Webservices beschreibt, ist diese Aussage durchaus treffend.

So gibt es zum Beispiel seit kurzem vom Betreiber der Suchmaschine Google einen Webservice, der die gleichen Möglichkeiten der Webseite anbietet wie die Benutzerschnittstelle. So können nun Programme mit wenigen Aufrufen nach Informationen im Internet suchen und diese für ihre eigenen Aufgaben verwenden. Das Parsen der Google-Webseite ist dazu keine auch nur annähernd gleichwertige Alternative.

Erreichbar sind Webservices über eine eindeutige URI. Webservices bilden die drei wichtigsten Teile der Zusammenarbeit zwischen Client und Server ab: Das Zusammenfinden, Binden und den Datenaustausch.

Grundlagen

 

Die Grundlage bilden vier Standards, die alle auf XML basieren:

  • SOAP oder XML-RPC zur Kommunikation / Datenaustausch,
  • WSDL zur Beschreibung und
  • UDDI als Verzeichnisdienst zur Registrierung von Web Services.

Dank der Verwendung des HTTP-Protokolls zur Datenübertragung treten nur selten Probleme mit Firewalls auf, im Gegensatz zu vergleichbaren Technologien wie CORBA, DCOM oder auch Java RMI.

Vorteile

Durch die Verwendung von bereits bestehenden und weit verbreiteten Internet-Standards (HTTP, XML etc.) entsteht eine offene und flexible Architektur, die unabhängig von den verwendeten Plattformen, Programmiersprachen und Protokollen ist. So können beispielsweise Windows-C#-Clients hinter einer Firewall mit Java-Servern, die auf Linux implementiert sind, kommunizieren. Die weit verbreiteten Standard-Protokolle ermöglichen eine Interoperabilität über jegliche Heterogenitäten im Internet hinweg.

Nachteile

  • Performanz (XML Parsen, Dateigröße)
  • Mehr Know How erforderlich als z.B. mit Remote Procedure Call
  • Programmiersprachen mit denen man WebServices einbinden will, brauchen spezielle Libraries (z.B DOM)
  • Schnittstellen müssen genau definiert werden - das ist viel Arbeit

Anwendungsgebiete

Web Services stellen neue Ansätze im Rahmen von Enterprise Application Integration (EAI) und Grid-Computing dar. Das geplante Haupteinsatzgebiet liegt im Business-to-Business-Bereich (B2B). Geschäftsprozesse sollen problemlos über Unternehmensgrenzen hinweg abgewickelt werden.

Erweiterungen

Mit dem Web Services Composite Application Framework (WS-CAF) wurde eine weiterführende Spezifikation beim W3C und bei OASIS zur Standardisierung eingereicht, die Web Services um für die Koordination von Applikationen nützliche Standards, wie z. B. Transaktionsmanagement, erweitern sollen. Weitere, proprietäre Erweiterungen sind bei verschiedenen Herstellern angedacht. Um Problemen der Sicherheit zu begegnen, werden Konzepte auf der Grundlage der Security Assertion Markup Language (SAML) entwickelt.

Siehe auch