WDDX

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche

WDDX (Web Distributed Data eXchange) ist ein plattform- und transportneutraler programmiersprachlicher Mechanismus für den Austausch von Daten zwischen unterschiedlichen System-Umgebungen und Computern. Das Format unterstützt einfache Datentypen wie Zahlen, Zeichenketten, Boolean, usw. und komplexe Zustände dieser in Form von Strukturen, Arrays und Datensätzen (z. B. Tabellen, typischerweise aus Datenbankabfragen). Es gibt WDDX-Schnittstellen für eine große Anzahl von Programmiersprachen. ColdFusion, Ruby, Python, PHP, Java, C++, .NET, Actionscript, Lisp, Haskell, Perl und verschiedene Plattformen unterstützen es sehr gut.

Die Daten werden anhand einer XML 1.0 DTD in XML strukturiert - eine plattformunabhängige, jedoch recht sperrige Repräsentation. Die XML-verpackten Daten können nun auf Basis von HTTP, FTP, oder weiteren Transportmechanismen an andere Programme und Computer gesendet werden. Die empfangende Instanz muss WDDX ebenso unterstützen, um die Daten in das gewünschte native Format übersetzen zu können. WDDX kann ebenso dazu genutzt werden, um eine Serialisierung durchzuführen, z. B. in ein Dateisystem oder eine Datenbank. Viele Anwendungen nutzen WDDX, um komplexe Daten an Browser zu senden, die dort mit JavaScript bearbeitet werden können - dies ist essentiell bei der Entwicklung von Ajax-basierenden Webanwendungen.

Ursprünglich wurde WDDX 1998[1] von Simeon Simeonov von der Allaire Corporation für die Serverumgebung ColdFusion geschrieben und später als Open Source veröffentlicht.

WDDX und XML-RPC, beide 1998 erschaffen, waren die Vorlage für SOAP und Webservice. SOAP lieh sich die envelope/header/body-Struktur, sowie die Transport- / Interaktions-Neutralität von WDDX und die HTTP- /RPC-Bindungen von XML-RPC.

Beispiel: (von php.net/wddx)

<wddxPacket version='1.0'>
  <header comment='PHP'/>
  <data>
    <struct>
      <var name='pi'>
        <number>3.1415926</number>
      </var>
      <var name='cities'>
        <array length='3'>
          <string>Austin</string>
          <string>Novato</string>
          <string>Seattle</string>
        </array>
      </var>
    </struct>
  </data>
</wddxPacket>

Einzelnachweise[Bearbeiten]

  1. Simeonov, Simeon - WDDX: Distributed Data for the Web http://www.infoloom.com/gcaconfs/WEB/chicago98/simeonov.HTM

Weblinks[Bearbeiten]