XML-RPC: Remoteprozeduraufrufe im XML-Format

Was ist XML-RPC?

XML-RPC: Remoteprozeduraufrufe im XML-Format

Der Zugriff für den Fernzugriff auf bestimmte Funktionen auf Computern in anderen Netzwerken oder verteilten Systemen ist seit Jahrzehnten üblich. Die Grundidee der zugrunde liegenden Technologie RPC (Remote Procedure Calls) wurde bereits 1976 von James E. White in RFC 707 formuliert und ist damit ein älteres Prinzip als beispielsweise das World Wide Web.

Erledigt

2015 entwickelte Google das   gRPC- Framework, damit RPC den Strukturen aktueller Computersysteme entsprechen kann.

Eine der beliebtesten Lösungen, um RPC-Anforderungen zu nutzen, ist XML-RPC, mit dem Anrufe über das HTTP (S) -Protokoll und die Extensible Markup Language (XML) getätigt werden können. Was ist diese Spezifikation , wofür wird sie verwendet und wie genau funktioniert sie?

Index
  1. Was ist XML-RPC?
  2. Wie funktioniert XML-RPC?
  3. XML-RPC-Anwendungen
  4. Beispiel einer einfachen Anfrage an den Server mit XML-RPC

Was ist XML-RPC?

XML-RPC (kurz für Remote Procedure Call der Extensible Markup Language) ist eine Protokollspezifikation zum Tätigen von RPC-Aufrufen (Remote Calls in Computernetzwerken) mit Hilfe des zustandslosen Netzwerkprotokolls HTTP und der in diesem Fall XML-Markup-Sprache gibt ihm seinen Namen. Während HTTP den Datentransport regelt, wird XML zur Darstellung solcher Daten verwendet. Bei der Festlegung des XML-RPC-Standards wurde vor allem die Tatsache gewürdigt, dass er ohne großen Aufwand in verschiedenen Programmiersprachen und Systemplattformen implementiert werden kann.

Hinweis

Die XML-RPC-Spezifikation verwendet ausschließlich das nicht sichere HTTP-Protokoll für die Datenübertragung, obwohl es derzeit weit verbreitete und akzeptierte Variationen des mit HTTPS kompatiblen Standards gibt , der eine viel größere Sicherheit bietet, wenn Sie sich für SSL / TLS- Sicherheitszertifikate entscheiden .

See also  Fotografen-Websites: Design- und Marketingrichtlinien

Software – Entwickler Dave Winer und seine Firma Userland Software in enger Zusammenarbeit mit Microsoft , war in erster Linie verantwortlich für die Entwicklung von XML-RPC in 1998 . Es dauerte nicht lange, bis dieses große Unternehmen das enorme Potenzial dieses neuen Standards zur Förderung seiner eigenen B2B-Geschäftsbeziehungen erkannte. XML-RPC hat verschiedene und neue Funktionen in sein Funktionsspektrum aufgenommen, was zu dem als SOAP (Simple Object Access Protocol) oder Simple Object Access Protocol bekannten Standard führte, der als Schnittstellenprotokoll für Webdienste konsolidiert wurde .

Wie funktioniert XML-RPC?

Clients, die auf XML-RPC zugreifen möchten, verwenden das HTTP-Übertragungsprotokoll oder insbesondere die HTTP-Anforderungs-POST-Methode. Nach dem Empfang der HTTP-Anforderung wertet der Server das XML-Dokument im Hauptteil der Anforderung aus. Aus seinem Inhalt generiert er beispielsweise die Parameter für die gewünschte Funktion und führt sie aus. Infolgedessen packt der Server es neu in ein XML-Dokument, das als HTTP-Antwort an den Client zurückgegeben wird. XML-RPC unterstützt daher die folgenden Datentypen, wenn es Parameter liefert oder eine Antwort von einem Client empfängt:

Art der Daten Etikettenbeispiel Beschreibung
Array <array> <data>? </ data> </ array> Liste, die mehrere Werte oder Datentypen enthalten kann
base64 <base64> SGFsbG8gV2VsdA == </ base64> Binärdaten, die gemäß dem Base64-System codiert sind
Boolescher Wert <boolean> 1 </ boolean> Boolesche Variable (true = 1 vs. false = 0)
dateTime.iso8601 <dateTime.iso8601> 20200414T16: 23: 55 </dateTime.iso8601> Datum und Uhrzeit im ISO 8601-Format
doppelt <double> -0.32653 </ double> Gleitkomma mit doppelter Genauigkeit (64-Bit)
ganze Zahl <int> 32 </ int> oder <i4> 32 </ i4> Ganzzahliger Datentyp
Zeichenfolge <string> Hallo allerseits! </ string> Zeichenkette; kann Null-Bytes enthalten
struct <struct> <data>? </ data> </ struct> Es besteht aus Paaren von Schlüsselwerten (in diesem Fall sind die Schlüssel Zeichenfolgen und die Werte können von einem beliebigen Typ sein).
See also  Stellen Sie die Sitzung in Chrome wieder her: So geht's

Wenn mehrere Werte oder Datentypen verbunden werden sollen, bietet die XML-RPC-Notation zwei Optionen 😕 Array ? Y? struct ?. Bei der ersten Option werden die Daten in einer Liste angeordnet, und durch? struct ? werden vorstrukturierte Schlüsselwertpaare dem Server angezeigt, wie im folgenden Beispiel dargestellt:

  <struct></struct> <member></member> <name>Entrada 1</name> <value><int>1</int></value> <member></member> <name>Entrada 2</name> <value><int>2</int></value>  

Hinweis

Einige Sprachen mit XML-RPC-Implementierungen, wie z. B. Java, bieten auch die Möglichkeit , Nullwerte anzugeben . Zu diesem Zweck sollte das XML-Dokument immer den Datentyp nil verwenden , der jedoch nicht offiziell Teil der XML-RPC-Spezifikation ist und nicht von allen Servern unterstützt wird.

XML-RPC-Anwendungen

XML-RPC spielt in heutigen Kommunikationsnetzen keine sehr wichtige Rolle. Seit seiner Einführung im Jahr 1998 hat sich dieses Austauschformat unter anderem aufgrund seiner eingeschränkten Skalierbarkeit und der Tatsache, dass es keine eigenen XML-Strukturen übertragen kann , als zu starr erwiesen . Aufgrund des übermäßigen Zeitaufwands für die Konvertierung musste nach einer neuen und schnellen Lösung gesucht werden, die mit dem oben genannten SOAP (ebenfalls vom Winer-Team in Zusammenarbeit mit Microsoft entwickelt) zusammenarbeitet.

Es gibt jedoch noch heute Webanwendungen, die unter anderem über eine XML-RPC-Schnittstelle verfügen , um den Datenaustausch mit externen Dienstleistern zu erleichtern. Selbst Content-Management-Systeme wie WordPress enthalten häufig eine XML-RPC-Schnittstelle für den Austausch mit anderen Webdiensten . Darüber hinaus ist das Austauschformat die Grundlage der sogenannten Pingback- Technologie , die Blog-Autoren seit Jahren als wichtiges Werkzeug zur Konfiguration von Links dient. In unserem Artikel Was steckt hinter den Pingback- und Trackback-Methoden? Weitere Informationen hierzu finden Sie hier Thema.

Beispiel einer einfachen Anfrage an den Server mit XML-RPC

Schließlich gibt es nichts Besseres als ein Beispiel zur Veranschaulichung der Client-Server-Kommunikation über eine XML-RPC-Schnittstelle. Die HTTP-Anforderung vom Client lautet wie folgt:

See also  Alt-Taste auf dem Mac: Funktionen und Sonderzeichen

  <!--?xml version="1.0"?--> <methodcall></methodcall> <methodname>statustest</methodname> <params></params> <param> <value><i4>10</i4></value>  

Im methodCall- Container ist in diesem Fall die statustest- Funktion aktiviert , die wiederum im methodName- Container definiert ist . Als Parameter gibt die Funktion die Ganzzahl 10 als Wert zurück .

Eine mögliche Antwort des Servers auf diesen Status könnte sein:

  <!--?xml version="1.0"?--> <methodresponse></methodresponse> <params></params> <param> <value><string>Status: OK</string></value>  

In diesem Beispiel lautet die einfache Antwort vom Server Status: OK .

administrator

Leave a Reply

Your email address will not be published. Required fields are marked *