Webservice

Eintrag zuletzt aktualisiert am: 04.01.2012
 siehe auch XML-Webservice

Ein Webservice ist eine Technik zur Anwendungskopplung (Mensch-zu-Maschine-Kommunikation).

Ursprünglich war Webservice mit der Verwendung der plattformunabhängigen, standardisierten Protokolle SOAP (Serialisierungsformat) und HTTP (Transportprotokoll) gleichgesetzt und primär ein Instrument zur Kopplung heterogener Systemen (plattformübergreifende Kopplung). Dabei senden ein Webservice-Client (alias HTTP-Client/SOAP-Client) an einen Webserver (alias SOAP-Server/HTTP-Server) eine SOAP-Anfrage. Auf dem Server wird Code ausgeführt und der Webserver antwortet mit einer SOAP-Antwort. Meist ist die Kommunikation zustandslos.

Später ist diese Definition aufgeweicht, weil einere Protokolle zum Einstaz kamen, z.B. JSON oder beliebiges XML ("Plain Old XML - POX") statt SOAP (vgl. Idee der "REST"-basierten Webservices) und das effizientere TCP statt HTTP. Anstelle von standardisierten Protokollen setzten einige Hersteller (inkl. Microsoft) auch effizientere, aber proprietäre Alternativen ein (z.B. ein Binärformat zur Serialisierung und MSMQ als Transport).

Heute müssen selbst Fachleute oft in Gesprächen zunächst ihre Definition von "Webservices" abgleichen.
Manche Personen verstehen unter "Webservice"
1. jegliche von Dienstleistung im Internet, auch Mensch-zu-Maschine-Kommunikation (hierfür sei besser nicht Webservice verwendet)
2. einen Maschine-zu-Maschine-Dienst auf Basis von HTTP und SOAP (hier besser: SOAP-Webservice)
3. einen Maschine-zu-Maschine-Dienst auf Basis von HTTP und allgemein XML (hier besser: XML-Webservice
4. ein Maschine-zu-Maschine-Dienst auf Basis des serviceorientierten Paradigmas mit plattformunabhängigen Protokollen
5. ein Maschine-zu-Maschine-Dienst auf Basis des serviceorientierten Paradigmas mit beliebigen Protokollen

Geschichte

Früher boten Websites nur eine interaktive, visuelle Benutzerschnittstelle in Form von HTML-Seiten mit Grafiken. Diese Art der Darbietung von Informationen richtet sich an Menschen. Für Maschinen (Anwendungen, Robots, Crawler, Agents) ist sie nicht adäquat. Maschinen mussten Webseiten per Screen Scraping auslesen: Sie analysieren den HTML-Code, um Informationen herauszufiltern. Jede Änderung in der Darstellung kann dazu führen, dass die Maschine im Folgenden den Inhalt falsch interpretiert. Webservices bietet diese Maschine-zu-Maschine-Kommunikation mit wohldefinierten, plattformübergreifenden Schnittstellen.