|
Im Gegensatz zu ONC RPC, das für
lokale Netzwerke konzipiert wurde, handelt es sich bei XML-RPC um ein Remote
Procedure Call Protokoll, das auch über das Internet funktioniert. Bei einer
XML-RPC Message handelt es sich um einen HTTP-POST Request, bei dem der Body des
Requests in XML formuliert wird.
Die XML-Erweiterungen von Distinct ONC
RPC/XDR für Java (im Folgenden kurz JRPC-XML) verwandeln einen ONC RPC
Server in einen Webservice. Die folgenden Features stehen zur Verfügung:
- XML-RPC Clients und Server können aus ONC RPC (XDR)-Files
generiert werden.
- Client und Server-side APIs bleiben unverändert (erlaubt
einen extrem einfachen Übergang von ONC RPC nach XML RPC)
- Auf jeden JRPC-XML Server kann gleichzeitig über ONC
RPC und XML-RPC zugegriffen werden
- Automatische Generierung eines XML-RPC-to-ONC-RPC-Übersetzers
(d.h. die direkte Integration eines bestehenden ONC RPC Servers in eine XML-basierte
Infrastruktur)
JRPC-XML ermöglicht dies, in dem
Distinct ONC RPC für Java durch zusätzlichen Support für XML erweitert
wurde. Diese Erweiterungen beinhalten:
- Die Fähigkeit von Jrpcgen XML-RPC Client Stubs für eine
gegebene XDR-Description (.x-file) zu generieren. Die existierenden Client und
Server-Klassen wurden um neue Methoden erweitert, die es ermöglichen diese
Klassen auch als XML-RPC Services zu verwenden.
- Ein neues Serialisation-Schema und eine neuartige Typ-Umwandlung,
die es erlauben die RPC Typen nicht nur in XDR Transfer Syntax, sondern auch in XML
zu übersetzen.
Es existiert eine Anzahl an verschiedenen
Szenarien, in denen JRPC-XML ein einzigartiges Hilfsmittel zur Entwicklung von
modernen Web-Services darstellt, unter Wiederverwendung von existierendem Code und
existierender Funktionalität:
Szenario 1: einen ONC-RPC Server ins Web
stellen
In vielen Fällen erfüllt ein
existierender, robuster, gut getesteter ONC RPC Server seine Aufgabe zur Zurfriedenheit
aller über Jahre hinweg. Die einzig neue Anforderung die sich stellt ist, dass die
Erreichbarkeit des Servers jetzt auch auf das Web ausgedehnt werden soll.
Möglicherweise für Clients die bisher noch nicht bekannt sind, die
möglicherweise von anderen Firmen entwickelt und eingesetzt werden.
Hierbei ergibt sich das Problem, dass ONC RPC von Natur aus ein Protokoll ist, das nur
schwer mit dem Internet in Einklang gebracht werden kann. XML-RPC stellt hierfür
eine Lösung dar. XML passt perfekt ins Internet und Client Libraries sind
für fast jede Programmier-Umgebung erhältlich. Mit JRPC-XML können Sie
einen existierenden ONC RPC Server mit nur 10 Zeilen an zusätzlichem Java Code
als XML-RPC Server im Internet verfügbar machen.
Szenario 2: einfache Ersetzung von ONC
RPC durch XML-RPC
Wenn Sie über verlässlichen,
ausgereiften ONC RPC Code verfügen, erlaubt es Ihnen JRPC-XML, die Protokolle
ohne zusätzlichen Portierungsaufwand auszutauschen.
Szenario 3: "sanfter" Übergang
zu XML-RPC-basierenden Clients
Mit JRPC-XML können Sie neue,
XML-basierende Client Anwendungen entwickeln, die mit dem gleichen RPC Server
interagieren, der auch die alten ONC RPC Client bedient.
Szenario 4: Einfache Entwicklung neuer,
XML-RPC-basierender Anwendungen
Und zu guter Letzt ist JRPC-XML
einfach ein bequemer Weg um XML-RPC Client/Server Anwendungen zu erstellen.
Während der Grundgedanke von XML-RPC Schlichtheit ist, lässt es 2 wichtige
Eigenschaften vermissen, die wichtig sind für jedes grössere Client/Server
Projekt: es gibt keine Interface Definition Language und deshalb auch keine automatische
Generierung der Client und Server Stubs. Dieses Handicap wird offensichtlich, sobald
komplexere Daten-Typen ins Spiel kommen, und die Erstellung der Stubs "von Hand" sich
als ein fehleranfälliges und zeitaufwendiges Unternehmen erweist. JRPC-XML stellt
hier eine einfache Lösung zur Verfügung, da es die allgemein anerkannte XDR
Sprache für genau diesen Zweck wiederverwendet. Darüber hinaus müssen
Sie mit JRPC-XML nicht einmal genau über die Details von XML und XML-RPC Bescheid
wissen, um einen XML-RPC Service schreiben zu können. Wenn Sie mit dem Entwickeln
von ONC RPC Anwendungen unter Java vertraut sind, reichen Ihre bestehenden
Fähigkeiten aus, um ohne zusätzlichen Aufwand einen XML-RPC Service zu
entwickeln.
XML-RPC is a trademark of UserLand Software, Inc.
|