WDDX
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<ref name="sim">Simeon Simeonov: <templatestyles src="Webarchiv/styles.css" />{{#if:20060719125042
| {{#ifeq: 20060719125042 | *
| {{#if: WDDX: Distributed Data for the Web. | {{#invoke:WLink|getEscapedTitle|WDDX: Distributed Data for the Web.}} | {{#invoke:Webarchiv|getdomain|http://www.infoloom.com/gcaconfs/WEB/chicago98/simeonov.HTM}} }} (Archivversionen)
| {{#iferror: {{#time: j. F Y|20060719125042}}
| {{#if: || }}Der Wert des Parameters {{#if: wayback | wayback | Datum }} muss ein gültiger Zeitstempel der Form YYYYMMDDHHMMSS sein!
| {{#if: WDDX: Distributed Data for the Web. | {{#invoke:WLink|getEscapedTitle|WDDX: Distributed Data for the Web.}} | {{#invoke:Webarchiv|getdomain|http://www.infoloom.com/gcaconfs/WEB/chicago98/simeonov.HTM}} }} {{#ifeq: | [] | [ | ( }}{{#if: {{#if: 2019-05-22 05:50:39 InternetArchiveBot | 2019-05-22 05:50:39 InternetArchiveBot | }} | des Vorlage:Referrer }} vom {{#time: j. F Y|20060719125042}} im Internet Archive{{#if: | ; }}{{#ifeq: | [] | ] | ) }}
}}
}}
| {{#if:
| {{#iferror: {{#time: j. F Y|{{{webciteID}}}}}
| {{#switch: {{#invoke:Str|len|{{{webciteID}}}}}
| 16= {{#if: WDDX: Distributed Data for the Web. | {{#invoke:WLink|getEscapedTitle|WDDX: Distributed Data for the Web.}} | {{#invoke:Webarchiv|getdomain|http://www.infoloom.com/gcaconfs/WEB/chicago98/simeonov.HTM}} }} {{#ifeq: | [] | [ | ( }}{{#if: {{#if: 2019-05-22 05:50:39 InternetArchiveBot | 2019-05-22 05:50:39 InternetArchiveBot | }} | des Vorlage:Referrer }} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{{webciteID}}}|1|10}}/86400}} }} days}} auf WebCite{{#if: | ; }}{{#ifeq: | [] | ] | ) }}
| 9 = {{#if: WDDX: Distributed Data for the Web. | {{#invoke:WLink|getEscapedTitle|WDDX: Distributed Data for the Web.}} | {{#invoke:Webarchiv|getdomain|http://www.infoloom.com/gcaconfs/WEB/chicago98/simeonov.HTM}} }} {{#ifeq: | [] | [ | ( }}{{#if: {{#if: 2019-05-22 05:50:39 InternetArchiveBot | 2019-05-22 05:50:39 InternetArchiveBot | }} | des Vorlage:Referrer}} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{#invoke:Expr|base62|{{{webciteID}}}}}|1|10}}/86400}} }} days}} auf WebCite{{#if: | ; }}{{#ifeq: | [] | ] | ) }}
| #default= Der Wert des Parameters {{#if: webciteID | webciteID | ID }} muss entweder ein Zeitstempel der Form YYYYMMDDHHMMSS oder ein Schüsselwert mit 9 Zeichen oder eine 16-stellige Zahl sein!{{#if: || }}
}}
| c|{{{webciteID}}}}} {{#if: WDDX: Distributed Data for the Web. | {{#invoke:WLink|getEscapedTitle|WDDX: Distributed Data for the Web.}} | {{#invoke:Webarchiv|getdomain|http://www.infoloom.com/gcaconfs/WEB/chicago98/simeonov.HTM}} }} ({{#if: {{#if: 2019-05-22 05:50:39 InternetArchiveBot | 2019-05-22 05:50:39 InternetArchiveBot | }} | des Vorlage:Referrer}} vom {{#time: j. F Y|{{{webciteID}}}}} auf WebCite{{#if: | ; }}{{#ifeq: | [] | ] | ) }}
}}
| {{#if:
| Vorlage:Webarchiv/Today
| {{#if:
| Vorlage:Webarchiv/Generisch
| {{#if: WDDX: Distributed Data for the Web. | {{#invoke:WLink|getEscapedTitle|WDDX: Distributed Data for the Web.}} | {{#invoke:Webarchiv|getdomain|http://www.infoloom.com/gcaconfs/WEB/chicago98/simeonov.HTM}} }}
}}}}}}}}{{#if:2019-05-22 05:50:39 InternetArchiveBot
| Vorlage:Webarchiv/archiv-bot
}}{{#invoke:TemplatePar|check
|all = url=
|opt = text= wayback= webciteID= archive-is= archive-today= archiv-url= archiv-datum= ()= archiv-bot= format= original=
|cat = Wikipedia:Vorlagenfehler/Vorlage:Webarchiv
|errNS = 0
|template = Vorlage:Webarchiv
|format = *
|preview = 1
}}{{#ifexpr: {{#if:20060719125042|1|0}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}} <> 1
| {{#if: || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Genau einer der Parameter 'wayback', 'webciteID', 'archive-today', 'archive-is' oder 'archiv-url' muss angegeben werden.|1}}
}}{{#if:
| {{#switch: {{#invoke:Webarchiv|getdomain|{{{archiv-url}}}}}
| web.archive.org =
{{#if: || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von Internet Archive erkannt, bitte Parameter 'wayback' benutzen.|1}}
| webcitation.org =
{{#if: || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von WebCite erkannt, bitte Parameter 'webciteID' benutzen.|1}}
| archive.today |archive.is |archive.ph |archive.fo |archive.li |archive.md |archive.vn =
{{#if: || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von archive.today erkannt, bitte Parameter 'archive-today' benutzen.|1}}
}}{{#if:
| {{#iferror: {{#iferror:{{#invoke:Vorlage:FormatDate|Execute}}|}}
| {{#if: || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Wert des Parameter 'archiv-datum' ist ungültig oder hat ein ungültiges Format.|1}}
| }}
| {{#if: || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Pflichtparameter 'archiv-datum' wurde nicht angegeben.|1}}
}}
| {{#if:
| {{#if: || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Parameter 'archiv-datum' ist nur in Verbindung mit 'archiv-url' angebbar.|1}}
}}
}}{{#if:{{#invoke:URLutil|isHostPathResource|http://www.infoloom.com/gcaconfs/WEB/chicago98/simeonov.HTM}}
|| {{#if: || }}
}}{{#if: WDDX: Distributed Data for the Web.
| {{#if: {{#invoke:WLink|isBracketedLink|WDDX: Distributed Data for the Web.}}
| {{#if: || }}
}}
| {{#if: || }}
}}{{#switch:
|addlarchives|addlpages= {{#if: || }}{{#if: 1 |}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: enWP-Wert im Parameter 'format'.|1}}
}}{{#ifeq: {{#invoke:Str|find|http://www.infoloom.com/gcaconfs/WEB/chicago98/simeonov.HTM%7Carchiv}} |-1
|| {{#ifeq: {{#invoke:Str|find|{{#invoke:Str|cropleft|http://www.infoloom.com/gcaconfs/WEB/chicago98/simeonov.HTM%7C4}}%7Chttp}} |-1
|| {{#switch: {{#invoke:Webarchiv|getdomain|http://www.infoloom.com/gcaconfs/WEB/chicago98/simeonov.HTM }}
| abendblatt.de | daserste.ndr.de | inarchive.com | webcitation.org =
| #default = {{#if: || }}{{#if: 1 |}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Archiv-URL im Parameter 'url' anstatt URL der Originalquelle. Entferne den vor der Original-URL stehenden Mementobestandteil und setze den Archivierungszeitstempel in den Parameter 'wayback', 'webciteID', 'archive.today' oder 'archive-is' ein, sofern nicht bereits befüllt.|1}}
}}
}}
}}</ref> 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:<ref>von php.net/wddx</ref> <syntaxhighlight lang="xml"> <wddxPacket version='1.0'>
<header comment='PHP'/>
<struct>
<number>3.1415926</number>
<array length='3'>
<string>Austin</string>
<string>Novato</string>
<string>Seattle</string>
</array>
</struct>
</wddxPacket> </syntaxhighlight>
Weblinks
Einzelnachweise
<references />