Direkt zum Inhalt

Meinels Web-Tutorial: Wie verständigen sich Maschinen im Internet?

Wenn Maschinen über das Netz miteinander reden müssen, dienen Webservices als Übersetzer. Wie genau, erklärt unser Kolumnist Christoph Meinel.
Weltweit lassen sich Maschinen vernetzenLaden...

Das »Internet der Dinge« eröffnet ein ganz neues und weltumspannendes Ökosystem von smarten Geräten, die sich mit dem Internet und – via Internet – auch miteinander verbinden können. Ohne menschliches Zutun können sie Daten austauschen oder auch im Verbund Prozesse steuern und so die Vision einer smarten Welt in ihren verschiedenen Facetten der Smart Factory, Smart Home, Smart City, Smart Traffic, … Wirklichkeit werden lassen. Damit das aber überhaupt möglich ist, müssen die vielen sehr unterschiedlichen smarten Dinge, Geräte und Services miteinander »sprechen« können. Webservices dienen hierbei als Übersetzer.

Ganz zentral für die Kommunikation und Interaktion zwischen verschiedenen Webseiten und Diensten ist die »Extensible Markup Language« (XML). Während HTML »nur« eine generell gut nutzbare Beschreibung für alle üblichen Webressourcen bietet, können mit Hilfe von XML ganz spezifische Beschreibungssprachen definiert werden, die für die jeweils individuell benötigten Zwecke maßgeschneidert sind. XML ist also eine Metasprache, mit der beliebige Daten aus spezifischen Anwendungsbereichen maschinenlesbar strukturiert und hierarchisch beschrieben werden können. Dabei entsteht eine simple Textdatei, die sich leicht über das Web versenden lässt. XML bietet so die Möglichkeit, den Datenaustausch auch für komplexe Maschine-zu-Maschine-Interaktionen zu organisieren.

Welche clevere Technik steckt hinter dem Begriff TCP/IP? Wie bekommt man Videos ins Netz? Und warum erscheint uns das Internet aus einem Guss, obwohl es aus Milliarden unterschiedlicher Rechner besteht? Das und mehr beleuchtet Informatikprofessor Christoph Meinel alle drei Wochen bei seinem Blick hinter die Kulissen des World Wide Web.
Alle Folgen gibt es hier: »Meinels Web-Tutorial«

In der ersten Generation der M2M-Interaktion haben smarte Geräte mit Hilfe des SOAP-Protokolls (Simple Object Access Protocol) kommuniziert. Um Daten zu teilen, wird dazu ein XML-basierter »Briefumschlag« (SOAP-Envelope) erstellt, der anschließend zum Beispiel als Nutzlast im »Body«-Abschnitt eines HTTP-Requests oder -Responses transportiert werden kann. Statt HTML lassen sich auch andere Protokolle einsetzen. Damit die Nachrichten in den SOAP-Umschlägen von allen verstanden werden können, wurde eine WSDL (Web Service Description Language) bereitgestellt, die ebenfalls XML-basiert ist und die Webservice-Schnittstelle beschreibt mit den verfügbaren Verarbeitungsmethoden, Parametern und Rückgabewerten.

Als dann immer mehr smarte Dinge über das Internet zu interagieren begannen, mussten neue Fragen geklärt werden. Etwa wie man es schafft, dass so viele Geräte gleichzeitig und zuverlässig auch in Verbünden miteinander kommunizieren können, wie sich ihre Interaktionen orchestrieren oder absichern lassen. Zur Klärung all dieser Fragen wurden Webservice-Protokolle in stets wachsender Zahl entwickelt, zum Beispiel WS-Security, WS-Policy, WS-Coordination, WS-Federation und so weiter. All diese Webservice-Protokolle werden unter dem Namen »WS*-Protokoll-Suite« zusammengefasst. Sie finden vor allem im industriellen Bereich mit seinen besonderen Anforderungen an Sorgfalt und Sicherheit in der Interaktion Anwendung. Im alltäglichen Gebrauch ist die WS*-Protokoll-Suite zu unhandlich.

Auf der Suche nach schlankeren Methoden zur Organisation der Interaktion von smarten Dingen und Maschinen über das Web hat man zwei neue Wege gefunden: Mit dem XML-RPC (Remote Procedure Call) hat man sich auf die Ursprünge der Webkommunikation besonnen. Es ist ein ganz einfaches XML-basiertes Protokoll, mit dem verschiedene Kommunikationsmethoden im Web genutzt werden können. Die Aufrufe erfolgen über HTTP-POST-Befehle.

Eine weitere Möglichkeit, Maschinen einfacher miteinander kommunizieren zu lassen, besteht in der Anwendung der REST-Architektur. Der Service Instagram nutzt diese Methode, um mit weiteren Webdiensten wie Facebook, Twitter und Co. zu kommunizieren und zu interagieren. REST basiert auf der ROA (Resource Oriented Architecture) und benutzt das vollständige HTTP-Vokabular (wie GET, POST, PUT), um Nachrichten und Daten zu übermitteln. REST macht sich zu Nutze, dass Webanwendungen von Webressourcen leben und diese auch direkt über ihre URL adressiert werden können, egal ob es sich um ein physisches Ding oder eine virtuelle Ressource (zum Beispiel Medien, digitaler Einkaufskorb oder Uni-Kurs-Status) handelt. REST nutzt die Mittel des HTTP, um diese Web-Ressourcen zu manipulieren. Dazu wird eine Ressource über den HTTP-Pfad identifiziert und mit der für die angestrebte Manipulation geeigneten HTTP-Methode verändert. Die bei HTTP zur Verfügung stehenden Methoden beinhalten sehr einfache Anweisungen, wie folgende Beispiele zeigen:

  • POST – Ressource wird erzeugt
  • GET – Ressource wird gelesen
  • PUT – Ressource wird aktualisiert
  • DELETE – Ressource wird gelöscht

REST bietet eine sehr schlanke Interaktionsmethode, weil es sich als zustandsloses Protokoll sämtliche benötigte Daten durch Requests besorgt. Es orientiert sich über die URL an vorhandenen Datenstrukturen, registriert den entsprechenden MIME-Typ eines Requests und sendet das passende MIME-Format zurück. Heute ist die REST-Methode deutlich weiter verbreitet als XML-RPC.

Dank einer Vielzahl an Webservices für alle möglichen Anwendungen ist es uns heute möglich, sowohl im Industriellen als auch im Privaten von einer Vielzahl automatisierter Dienste zu profitieren, um die Vision einer »smarten Welt«, in der alles miteinander vernetzt ist, zu verwirklichen. Uns bietet sich damit ein leistungsfähiger Ansatz, die zahlreichen Wirtschafts-, Bildungs-, Energie- und Umweltprobleme in einer immer komplexer werdenden Welt mit einer immer größeren Weltbevölkerung in den Griff zu bekommen. Smarte Dinge und vernetzte Maschinen können uns helfen, diese Herausforderungen zu meistern.

Lesermeinung

Beitrag schreiben

Wir freuen uns über Ihre Beiträge zu unseren Artikeln und wünschen Ihnen viel Spaß beim Gedankenaustausch auf unseren Seiten! Bitte beachten Sie dabei unsere Kommentarrichtlinien.

Tragen Sie bitte nur Relevantes zum Thema des jeweiligen Artikels vor, und wahren Sie einen respektvollen Umgangston. Die Redaktion behält sich vor, Leserzuschriften nicht zu veröffentlichen und Ihre Kommentare redaktionell zu bearbeiten. Die Leserzuschriften können daher leider nicht immer sofort veröffentlicht werden. Bitte geben Sie einen Namen an und Ihren Zuschriften stets eine aussagekräftige Überschrift, damit bei Onlinediskussionen andere Teilnehmer sich leichter auf Ihre Beiträge beziehen können. Ausgewählte Lesermeinungen können ohne separate Rücksprache auch in unseren gedruckten und digitalen Magazinen veröffentlicht werden. Vielen Dank!

Partnerinhalte