Webservice
Eintrag zuletzt aktualisiert am: 04.01.2012
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.