Datentausch per Webservice

Teil 4: Webservices mit PHP selbst gemacht

Das Zend-Framework bietet für einige dieser frei verfügbaren Services eine fertige API an, sodass man hierfür nicht mehr mit WSDL-Dateien und Webservice-Clients arbeiten muss.

Alternative: REST

SOAP-Webservices haben sich über lange Zeit den Status des Defacto-Standards für Webservices erarbeitet. Ihnen eilt aber der Ruf voraus, umständlich und mit viel Overhead behaftet zu sein. Wie wir bereits gesehen haben, ist dieser Ruf nicht ganz unbegründet.

Aus dem Jahr 2000 stammt ein alternativer Architekturentwurf, der im Rahmen einer Dissertationsarbeit von Roy Fielding entstand. Der REST genannte Entwurf steht für Representational State Transfer. Bei REST sind alle Services sogenannte Ressourcen, die alle eine eindeutige URI besitzen.

Komplett per HTTP

Im Gegensatz zu SOAP konzentriert sich REST komplett auf das HTTP-Protokoll als Kommunikationsmittel. Dank des World Wide Web ist HTTP heute ein weit verbreiteter und absolut stabiler Standard. Webbrowser nutzen das HTTP-Protokoll um Daten vom Webserver abzufragen und dorthin zu übertragen. Browser nutzen dazu die zwei Anfragearten GET und POST des HTTP-Protokolls. Anfragen über GET sind prinzipiell dazu gedacht, Daten vom Server abzurufen.

Die Informationen, die für den Abruf der Daten benötigt werden, können direkt in der URL spezifiziert werden (zum Beispiel http://domain/user/get/id/17). Per POST werden Daten an den Server übertragen. POST ist daher die Methode der Wahl bei der Übertragung von Formulardaten.

Damit sind die Möglichkeiten eines Browsers ausgeschöpft, aber die des HTTP-Protokolles noch nicht. HTTP definiert noch weitere Methoden.

Put, Delete, Get, Post

Im Moment sind für uns lediglich PUT und DELETE interessant. Auf diesen vier Methoden basiert REST, um verschiedene Operationen auf eine Ressource auszuführen. Bleiben wir bei dem Beispiel eines Benutzers für eine Ressource, dann haben die vier Operationen folgende Bedeutung:

GET: Die GET-Methode sorgt wie bei Webseiten dafür, dass Daten einer Ressource gelesen werden. Der Aufruf der URL http://localhost/User/17 würde so beispielsweise den Benutzer mit der ID 17 lesen und an den aufrufenden Client zurückliefern. • POST: Die POST-Methode dient zum Schreiben neuer Einträge. Ganz ähnlich wie bei POST-Aufrufen aus einer Webseite (zum Beispiel Formulare) werden die Daten nicht in der URL, sondern im Body der HTTP-Nachricht übertragen. • DELETE: Hier ist der Name der Operation eigentlich selbsterklärend. Der Aufruf einer URL per DELETE-Methode führt dazu, dass ein Objekt gelöscht wird. Der Aufruf der URL http://localhost/User/17 würde beispielsweise dazu führen, dass der Benutzer mit der ID 17 gelöscht wird. • PUT: Die PUT-Methode entspricht einem Update einer Ressource. Auch hier werden die Daten im Body der HTTP-Nachricht an den Server übertragen.

Wie im folgenden Beispiel zu sehen ist, spielt die Art des Webservices bei der Verwendung des Zend-Frameworks kaum eine Rolle. Die Service-Klasse an sich bleibt unverändert. Der einzige Unterschied liegt in der Verwendung der Zend_Rest_Server-Klasse anstelle der Zend_Soap_Server.

Implementierung des Servers

<?php
require_once 'Zend/Rest/Server.php';
/**
* Say Hello
*
* @param string $who
* @return SimpleXMLElement
*/
function sayHello($who) {
return return 'Hallo '.$who;
}
$server = new Zend_Rest_Server();
$server->addFunction('sayHello);
$server->handle();
?>

Damit haben wir unseren ersten REST-Webservice-Server fertiggestellt.

Mehr zum Thema

Youtube Sperre umgehen GEMA
Videos freischalten

So umgehen Sie die GEMA-Sperre bei Youtube. Was Sie dazu brauchen, und wie es am einfachsten geht.
Neue Fritzboxen unterstützen den AC-Standard.
WLAN-Geschwindigkeit verdoppeln

Mehr WLAN-Geschwindigkeit: Mit dem WLAN-Standard 802.11ac und den richtigen Geräten und Einstellungen verdoppeln Sie den Datendurchsatz.
Netflix auf dem TV
Programm in der Übersicht

Welche Filme und Serien gibt es bei Netflix eigentlich zu sehen? Was ist neu im Streaming-Angebot? Diese Antworten helfen weiter.
Netflix
Streaming

Preise, kompatible Geräte, Datenrate, Serien- und Filmangebot von Netflix: Wir beantworten die wichtigsten Fragen rund um den Streaming-Dienst.
E.T. – Der Außerirdische
Vorschau auf Film- und Serien-Highlights

Amazon Prime Instant Video lockt im Dezember 2016 mit Film-Highlights wie "E.T.", "Fast & Furious 7" und der Serie "Ku’damm 56​".