Hi,
von einer TYPO3 Webseite (Version 4.7.2) aus möchte ich auf externe Webservices zugreifen und Daten abfragen. Die externen Webservices sind im Grunde Webseiten mit einer eigenen API zum Datenaustausch. Die API basiert auf REST.
Wer REST nicht kennt -> http://www.25hoursaday.com/weblog/2008/08/17/ExplainingRESTToDamienKatz.aspx
REST ist die Alternative zu SOAP und, soweit ich gelesen habe, die weitaus konformere und modernere Methode um Daten zwischen Webanwendungen auszutauschen.
In TYPO3 soll das ganze mittels einer in Extbase programmierten Extension ablaufen. Ich habe im Extbase Extensionverzeichnis (/typo3_src/typo3/sysext/extbase/Classes/MVC/Web/) einige Klassen gefunden, welche mich vermuten lassen, dass REST in Extbase implementiert ist.
Die Kommunikation zweier Webanwendungen via REST basiert ja hauptsächlich auf aussagekräftigen und eindeutigen URIs und dem passenden HTTP Header Befehl (GET, POST, PUT, DELETE).
Eine URI könnte wie folgt aussehen:
https://externer-webservice.de/api/rest/user/123
Schickt man diese Anfrage mittels HTTP GET an den Webservice, erhält man den Datensatz eines Benutzers mit der UserID 123. Mit Javascript könnte man diese Anfrage ganz einfach per Ajax (XMLHttpRequest) abschicken.
Meine eigene Extension (bzw. Extbase an sich) muss REST also gar nicht wirklich können, weil die Anfragen von meiner Webseite aus gehen und nicht Anfragen an meine Webseite gestellt werden. Ich müsste also lediglich die URIs zusammenbauen und dann einen "HTTP Request" an den externen Webservice senden. Zurück bekomme ich dann XML, JSON, etc. und das lässt sich ja in PHP problemlos verarbeiten.
Hat sich damit schon mal jemand auseinandergesetzt und kann vielleicht ein paar hilfreiche Infos zum Thema Extbase + REST beitragen?