Web Services mit XML-RPC und SOAP sind zwar praktisch für den maschinellen Austausch von WWW-Daten, aber schwierig zu programmieren. REST macht Webdienste so einfach, wie das Web einmal war.
|
Inhalt |
|
|---|---|
|
94 |
Qt 4 Preview |
|
100 |
Apache-Module mit Perl |
|
105 |
Perl-Snapshot |
|
110 |
Federlesen |
|
114 |
CCache |
Eine Zeit lang galten Web Services als der letzte Schrei. Dass nicht allzu viele Webseiten sie verwenden, hat seinen Grund auch in der Komplexität der Protokolle XML-RPC und SOAP – sagen Kritiker. Die beiden Standards ähneln sich zwar, sind aber trotzdem inkompatibel. In jedem Fall müssen Anwender das spezifische API eines Webdienstes kennen und Anfragen syntaktisch korrekt in XML formulieren.
Eine Alternative dazu ist REST (Representational State Transfer,[1]). Es handelt sich nicht um einen Standard, sondern um ein eher informelles Architekturmodell: Ein Server ändert den Zustand (State) des Clients, indem er ihm den neuen State – als HTML-Seite repräsentiert – schickt (Transfer). Dieses Konzept lässt sich auch auf Web Services übertragen. Dafür muss der Server passende URLs konstruieren, unter denen ein Client die gewünschte Information findet, zum Beispiel »http://Servername/Ersatzteile/Schrauben/4282«.
Einfaches Yahoo-API
Seit kurzem bietet Yahoo eine Schnittstelle für Webdienste an, die auch die Bild- und Videodatenbanken einschließt[2]. Überraschenderweise setzt Yahoo dabei auf REST. Zuerst muss man sich auf der Website registrieren, um eine Application-ID zu erhalten. Ein SDK bringt für mehrere Programmiersprachen Module mit, die den Entwicklungsprozess vereinfachen.
In Python-Skripten zum Beispiel genügt es, die gewünschte Suche als Modul zu importieren (etwa »WebSearch«, »News-Search«, »ImageSearch« …) und mit der Application-ID zu instanziieren:
searcher = ImageSearch("
ACB3531
")
Der Suchbegriff wandert in die Instanzvariable »query«, die Methode »parse_ results« liefert das Suchergebnis:
searcher.query = word results = searcher.parse_results()
Wenige Zeilen Code genügen bei REST für mächtige Suchanfragen. Über die Application-ID begrenzt Yahoo allerdings die Nutzung: Für jeden Service gilt ein Limit von 5000 Requests pro Tag. Abgesehen davon ist das Angebot für nicht-kommerzielle Anwendungen unbegrenzt. Kommerzielle Nutzung setzt die Zustimmung von Yahoo voraus.
|
Programmierer-Software |
|---|
|
Infos |
|---|
|
[1] REST kurz erklärt: [http://www.xfront.com/REST-Web-Services.html] [2] Yahoo Developer API: [http://developer.yahoo.net] |






