Web Services

 

In der heutigen Ausgabe des Zirkulars möchte ich gern die Web Services kurz vorstellen. Bei ihnen handelt es sich um bestimmte Dienste, die im Internet angeboten werden und von Programmen angesprochen werden können. Typischerweise, aber nicht notwendigerweise, werden Web Services für Datendienste realisiert.

Ganz gleich, ob Webseite oder PC-Anwendung: Programme können diese Dienste nutzen, indem sie als Client eine Verbindung zu dem jeweiligen Server aufbauen und Anfragen an diesen senden. Die vom Server generierten und zurückgelieferten Antworten können vom anfragenden Programm empfangen und ausgewertet werden.

Die zwischen Client und Server ausgetauschten Nachrichten werden programmintern in Form von XML-Dokumenten bearbeitet. Der Dienstanbieter gibt Formate für die Anfragen und Antworten vor, z.B. in Form von XML-Schemadateien (.xsd). Für Anfragen müssen die jeweiligen Parameter vom Client in ein zuvor erzeugtes leeres XML-Dokument gefüllt werden. Um dieses Dokument über das Netz zu verschicken, muß es zunächst serialisiert werden. Serialisierung bedeutet: das XML-Objekt wird in einen binären Datenstrom konvertiert.

Serverseitig findet nach dem Empfang der Nachricht eine Deserialisierung statt, d.h. der binäre Datenstrom wird wieder in ein Objekt gefüllt, welches das XML-Dokument repräsentiert, und anschließend verarbeitet. Für die Versendung der Antwort werden die Schritte in umgekehrter Richtung durchlaufen: der Client muß die ankommende Nachricht deserialisieren und kann anschließend die gewünschten Nutzdaten daraus extrahieren.

Moderne Programmiersprachen wie Java, C# und Visual Basic bieten in ihren Klassenbibliotheken fertige Komponenten sowohl für die Realisierung der Web-Schnittstelle als auch für das Händeln von XML-Dokumenten. Der eigentliche Umgang mit diesen Komponenten erfordert nur wenige Zeilen Quelltext. Der gewünschte Server für den Datenaustausch wird innerhalb dieser Komponente über dessen URL adressiert. Zur URL gehört auch eine Bezeichnung für den Web Service selbst; denn schließlich kann ein Anbieter natürlich auch mehr als einen Dienst feilbieten.

Web Services sind eine einfache und bequeme Art und Weise, Daten über das Internet auszutauschen. Sie sind für den Programmierer sowohl für die Nutzung als auch die Bereitstellung von Datendiensten interessant. Die Unterstützung durch gängige Programmierumgebungen ist komfortabel. In der Astronomie haben Web Services jedoch bislang kaum Verbreitung gefunden, was sich aber durchaus noch ändern könnte.