Alternative Wege zu einfachen Web-Services

25.09.2003
Von 
Wolfgang Sommergut ist Betreiber der Online-Publikation WindowsPro.

Diese entsteht im Fall der Web-Services freilich nicht nur durch die zahlreichen neu hinzukommenden Co-Standards, sondern auch durch den Ausbau der Kerntechnologien. So basiert etwa das kürzlich vom W3C verabschiedete Soap 1.2 auf XML Schema und erbt davon etwa die umfangreiche Definition von Datentypen. Dennoch können Web-Services ihr Versprechen nicht vollständig einlösen, Anwendungen über Plattformgrenzen hinweg zu verbinden - gerade der Austausch komplexer Datenstrukturen bereitet Probleme. Das vor kurzem publizierte "Basic Profile" der Web Services Interoperability Organization ist nur ein erster Schritt in diese Richtung.

Wenn Anwendungen nicht die Funktionsfülle des ganzen Web-Service-Stapels benötigen, dann steht Entwicklern natürlich die Möglichkeit offen, nur Soap alleine zu verwenden. Für derartige Anforderungen bietet sich als Alternative aber auch XML-RPC an. Der Name der Technologie verweist darauf, dass sie wie Soap für den Aufruf entfernter Methoden (Remote Procedure Call) gedacht ist. Diese Übereinstimmung ist kein Zufall, weil beide auf den gleichen Ursprung zurückgehen. Der zweite Initiator von Soap neben Don Box, Dave Winer von der Firma Userland, wollte nicht warten, bis die Technologie durch die Mühlen der großen Hersteller und von Gremien gedreht wird. Er spezifizierte auf Basis der ersten Soap-Konzepte ein eigenes leichtgewichtiges XML-Protokoll.

XML-RPC ist nicht überholt

Nur weil sich XML-RPC eng an die anfänglichen Soap-Entwürfe anlehnt und relativ einfach geblieben ist, gilt es noch lange nicht als überholt. Dutzende vorwiegend freie Implementierungen zeigen, dass die Technologie noch viel Rückhalt in der Entwicklergemeinde genießt. Sie ist mittlerweile für praktisch jede Scriptsprache und jede Plattform verfügbar. Zu den bekanntesten Vertretern zählen die Java-Version von Apache sowie die entsprechenden Toolkits für Perl und Python. Eine Ausführung für .NET existiert ebenfalls, so dass Anwendungen auch mit ihren Gegenspielern auf der Microsoft-Plattform kommunizieren können.

Aufgrund seiner Entstehung repräsentiert XML-RPC erwartungsgemäß keinen offiziellen Standard, die Spezifikation ist aber frei zugänglich und kann ohne Einschränkungen umgesetzt oder weiterentwickelt werden. Die vielen quelloffenen Implementierungen garantieren weitgehend, dass kein einzelner Anbieter die Technologie nach Gutdünken proprietär verbiegen kann. Aufgrund eines einfachen und plattformübergreifenden Modells für Datentypen ermöglicht XML-RPC derzeit sogar eine bessere Interoperabilität zwischen heterogenen Systemen als Soap.

Die Akzeptanz von XML-RPC besonders bei Open-Source-Projekten belegen einige prominente Beispiele. Dazu zählen das Content-Management-System "Zope (www.zope.org)", der Linux-Desktop "KDE (www.kde.org)" und die meisten Weblog-Systeme, darunter Blogger.com oder Movable Type. Letztere implementieren das ebenfalls von Dave Winer stammende Blogger-API.