2009-04-02 3 views
1

Kann mir jemand die Vorteile der Verwendung von XML-RPC über ein einfaches HTML-Formular erklären? Auf den ersten Blick scheinen sie dasselbe zu erreichen. Die XML-RPC ist "formatiert" mit XML, aber Sie können das gleiche in einem Formular (think textbox) tun.XML-RPC versus HTML Formular

Ich habe eine App, die Daten von einem Skript übernimmt, das auf dem Client-PC ausgeführt wird. Die Ausgabe des Skripts ist XML. Derzeit wird es über ein Formular-POST an die App (PHP mit CodeIgniter) übermittelt. Ich wurde aufgefordert, XML-RPC zu verwenden, aber ich versuche zu verstehen, "warum" ...

Antwort

3

I primärer Vorteil von XML-RPC ist, dass Sie keinen (oder fast keinen) Klebecode schreiben müssen, um entfernte Prozesse zur Kommunikation zu bringen. Für viele Sprachen sind zahlreiche XML-RPC-Clientbibliotheken verfügbar. Für den Fall, dass Sie eine umfangreiche API mit Funktionen haben, kann XML-RPC eine sehr einfache Möglichkeit sein, entfernte Prozesse mit dieser API zu verbinden. Wenn Sie die gleiche Aufgabe mit einem einfachen WWW-form-codierten POST ausführen, müssen Sie eine API in ein Formular konvertieren und Anforderungen in API-Aufrufe senden. Es gibt ein paar Systeme, die dabei helfen können, aber es ist sicherlich schwieriger als nur die API durch XML-RPC verfügbar zu machen.

Auf der anderen Seite, wenn (wie es klingt) Sie bereits eine reichhaltige API durch einfache Form encodierten Anforderungen ausgesetzt haben, ist es schwer, die Arbeit der Portierung von Client und Server auf eine andere Schnittstelle zu rechtfertigen.

-1

HTML-Formulare sind nicht vergleichbar mit XML-RPCs.

Sie verwenden HTML-Formulare, um Eingabedaten über eine WebPage abzurufen, während Sie XML-RPC zum Ausführen von Remoteprozeduren mithilfe von XML verwenden.

Normalerweise verwenden Sie XML-RPC für einen Prozess ohne eine Benutzeroberfläche, die versucht, einige Prozeduren remote auszuführen.

+0

Nun, ich brauche nicht unbedingt _ eine Formularseite. Ich kann einfach eine Seite haben, die POST-Eingaben akzeptiert, XML verarbeitet und darauf reagiert. Kein echter (praktischer) Unterschied, den ich sehen kann, von einem XML_RPC. –

+0

Ich weiß. Aber bedenken Sie, dass Sie, wenn Sie HTML FORM sagen, auf ein Formular auf einer Seite verweisen, die später (POST) an ein SCRIPT übergeben wird (die Seite, die POST-Eingaben akzeptiert, auf die Sie sich beziehen). Deshalb dachte ich, du sprichst über verschiedene Dinge. –

0

Wenn Sie Daten im Format "www-form-encoded" (oder "query string style") im Vergleich zu POSTing XML-RPC kodieren, ist es wirklich Geschmackssache. Manche Leute bevorzugen XML für alles.

0

XML-RPC ist meiner Meinung nach etwas veraltet. Sofern Sie nicht über ein anderes Protokoll sprechen, ist dies der SOAP vorangestellte. Ich würde es überhaupt nicht benutzen. Stattdessen würde ich entweder einen SOAP-basierten Dienst oder einen REST-basierten Dienst verwenden.

+0

Warum? Warum SOAP oder REST-basiert, im Gegensatz zu XML-RPC. Nur weil es alt ist, heißt es nicht, dass es "schlecht" ist ... –

+0

stimme ich nicht zu. Unter anderem bedeutet Alt weniger Werkzeuge, weniger Leute, die davon wissen, weniger Chancen, dass Bugs behoben werden, etc. Außerdem gibt es Gründe, warum es durch SOAP ersetzt wurde. Wenn es keinen Grund gegeben hätte, hätten wir keine SOAP. –