Ich liebe REST , ich liebe XML und irgendwie liebe ich auch JSON , weil es so praktisch ist. Im grunde mag ich REST aus den selben Gründen: REST ist unkompliziert, direkt , objektorientiert und die Programmierung macht Spaß. Natürlich gehört zum Wombat-Framework auch ein REST-Server und ein umfangreiches Toolkit mit dem es ein leichtes ist eigene Applikationen via REST verfügbar zu machen.
Die Standardsprache mit der der REST-Server kommuniziert ist XML, das bedeutet, dass sowohl der Response-Body im XML-Format ausgeliefert, als auch POST- bzw. PUT-Body im XML-Format erwartet wird. Das macht in den meisten Fällen auch Sinn. Schlielich ist XML der Standard zum Datenaustausch zwischen heterogenen Systemen und drängt sich für einen Web-Service wie REST geradezu auf. So gibt es in allen Programmiersprachen (auf allen Betriebssystemen) Bibliotheken zur XML-Verabeitung - auch in JavaScript! Der "eingebaute" XML-Parser in JavaScript ist DOM. DOM steht für Document Object Model und ist ein Standard des W3C. Allerdings ist die Verarbeitung der XML-Daten mit DOM etwas - sagen wir: umständlich. (Die Existenz von XPath und SimpleXML kann als Beleg dafür angesehen werden.) Viel einfacher wäre es doch, wenn sich der Response/POST/PUT-Body (also die Daten die zwischen Client und Server hin und her geschickt werden) direkt in Objekte umwandeln liese. Diesen Vorteil bietet JSON. Dabei kommt JSON zwar ursprünglich aus der JavaScript-Welt, ist inzwischen aber für eine ganze Reihe von Programmiersprachen verfügbar , und somit eine echte Alternative zu XML.
In JavaScript kann man JSON natürlich direkt nutzen, was den REST-Server betrifft, so lässt sich dieser mit Hilfe der HTTP-Header Accept und Content-Type auf JSON "umstellen". Senden der Client bei der Anfrage den Header: "Accept: text/json", antwortet der REST-Server nicht mehr im XML-Format, sondern mit einem JSON-String. Umgekehrt kann der Client den Server mit dem Header "Content-Type: text/json" informieren, dass die POST/PUT-Daten im JSON-Format gesendet werden.
Damit ist es ein leichtes den REST-Server auch mit JavaScript zu bedienen - wer also JSON liebt wird auch REST lieben.