Webservice

aus www.iwiki.de, der freien Wissensdatenbank

(Weitergeleitet von Webservices)

Unter dem Begriff Webservice versteht man eine Softwareanwendung, die über eine URL eindeutig identifizierbar ist und mittels einer standardisierten Schnittstelle gefunden und verwendet werden kann. Die Beschreibung der Schnittstelle sowie die Kommunikation mit dem Webservice erfolgt XML basiert. Webservices folgen dem Prinzip der "service-orientierten Architektur" (SOA).

Architektur und Funktionsweise

Architektur und Funktionsweise eines Webservices
vergrößern
Architektur und Funktionsweise eines Webservices

Im Allgemeinen senden Client-Programme an einen Webserver der mit den entsprechenden Informationen antwortet. Webservices sind nicht für menschliche Benutzer gedacht, sondern für Softwaresysteme, die automatisiert Daten austauschen bzw. Funktionen auf entfernten Rechnern aufrufen. Webservices orientieren sich an der serviceorientierten Architektur und vereinen daher verteilte und objektorientierte Programmierstandards. Sie richten sich überwiegend an betriebswirtschaftlichen Lösungen im Internet. Die Instanzen, die an einem Webservice beteiligt sind, kann man als Service-Anbieter, Service-Nachfrager und Service-Broker beschreiben.

Für den Einsatz eines Webservices veröffentlicht der Service-Anbieter in einem Verzeichnis, das von dem Service-Broker betrieben wird, die Beschreibung seiner Dienste. Der Serice-Nachfrager kann dieses Verzeichnis durchsuchen und den gewünschten Dienst auswählen. Nachdem eventuell weitere Protokolldetails ausgetauscht werden, findet die dynamische Anbindung des Service-Nachfragers an den Service-Anbieter statt. Der Service-Nachfrager greift nun auf Methoden des Services zurück.

Die Grundlage eines Webservices bilden drei Standards, die jeweils auf XML-Technik basieren:

  • Der Verzeichnisdienst UDDI zur Registrierung von Webservices. Er ermöglicht das dynamische Finden von Webservices durch den Service-Nachfrager.
  • WSDL zur Beschreibung der unterstützten Methoden und deren Parametern für den Programmierer zur Implementierung.
  • Das SOAP-, XML-RPC-, oder REST-Protokoll zur Kommunikation. Hier wird der eigentliche Aufruf gestartet.

Mit Hilfe von Webservices bildet man die drei wichtigsten Teile der Zusammenarbeit zwischen Client und Server ab: Zusammenfinden, Binden und Datenaustausch.

Bewertung

Vorteile

  • Durch den Einsatz von Internetstandards wie HTTP oder XML entsteht eine offene und flexible Architektur, die unabhängig von Plattformen, Programmiersprachen oder Protokollen arbeitet.
  • Durch die Verwendung von offenen Standards können Lizenzkosten vermieden werden.
  • Webservices bieten einen hohen Grad an Widerverwendbarkeit.

Nachteile

  • Um Sicherheit bei der Benutzung eines Webservices zu garantieren bedarf es zusätzlicher Techniken, wie beispielsweise HTTPS zur verschlüsselten Datenübertragung oder XML-Signature bzw. XML-Encryption zur Datenverschlüsselung.
  • Die Performance von Webservices ist durch XML, Parsen und Dateigröße eher negativ zu bewerten. Der Verwaltungsaufwand nimmt bei weit verteilten Systemen zu. Die Verwaltungsdaten (Overhead) sind teilweise sehr umfangreich.
  • Zur Verwendung ist mehr Know-How erforderlich. Die Einbindung in bestehende Anwendungen bedarf dem speziellen Wissen über entsprechende Bibliotheken der jeweiligen Programmiersprache.

Weblinks