Datentausch per Webservice

Teil 5: Webservices mit PHP selbst gemacht

Im Gegensatz zu SOAP-Services ist bei REST keine zusätzliche Definition über eine WSDL-Datei notwendig. Auf die Services können Sie über die verschiedenen HTTP-Methoden zugreifen. Je nach Webserver müssen allerdings noch einige Einstellungen vorgenommen werden, damit die nicht Webbrowser-typischen Anfragen DELETE und PUT entsprechend verarbeitet werden. Für den populären Apache-Webserver genügt es, die folgenden beiden Parameter zu setzen.

Anschließend werden alle PUT- und DELETE-Anfragen an die angegebene PHP weitergeleitet, im Fall unseres Beispiels an die service.php.

Script PUT /service.php
Script DELETE /service.php

Für die Implementierung eines Clients zum Aufruf eines REST-Webservices kann nahezu jede Programmiersprache genutzt werden, die sich für die Erstellung von Webanwendungen eignet. Dies kann PHP sein, aber auch Javascript, Java oder Actionscript. Der Einfachheit halber wollen wir uns hier auf PHP beschränken. Auch hierzu kann wieder das Zend-Framework zum Einsatz kommen.

$client = new Zend_Rest_Client(
'http://localhost/service.php');
echo $client->sayHello('Timo')
->get();

REST besitzt einige Vorteile gegenüber SOAP. Einer der Vorteile ist, dass in der Regel Firewalls kein Problem für die Nutzung dieser Art von Services sind, da es komplett auf HTTP basiert. Auch verschlüsselte Kommunikation über SSL und Authentifizierung können einfach vom zugrunde liegenden HTTP-Protokoll mitgenutzt werden.

Webservices mit PHP

© Archiv

WSDL-Dateien dienen der Beschreibung von SOAP-Webservices. Je nach Anzahl der zur Verfügung gestellten Funktionen, wird diese Datei schnell sehr komplex.

Ebenso ist die Lastverteilung bei Services mit hohem Nutzer-/Anfrageaufkommen mit den gängigen Mitteln moderner Webserver deutlich einfacher zu erledigen, als dies bei SOAP der Fall wäre.

Das REST-Prinzip hat in den letzten Monaten deutlich an Popularität gewonnen. Populäre Webapplikations-Frameworks, wie beispielsweise Ruby on Rails, arbeiten komplett nach dem REST-Prinzip und auch Content-Provider wie beispielsweise Yahoo stellen für viele ihrer Services ein REST-Interface zur Verfügung.

Fazit

Die Fortschritte von PHP im Bereich Webservices sind in der letzten Zeit unübersehbar. Weder SOAP- noch REST-Webservices stellen PHP mittlerweile vor größere Herausforderungen.

Zwar gibt es immer noch kleinere Schwierigkeiten bei einzelnen SOAP-WSDL-Dateien und es werden bei Weitem nicht alle möglichen SOAP-Standards unterstützt, aber im Großen und Ganzen funktioniert alles so wie es sollte. Besonders die Webservice-Klassen des Zend-Frameworks stechen hierbei positiv heraus, da hier sowohl für REST als auch SOAP entsprechende Implementierungen mitgeliefert werden.

Für welchen der beiden Kandidaten man sich bei Neuimplementierungen der Serverseite entscheidet, ist ein wenig eine Philosophiefrage. Beide haben wie so oft ihre Vor- und Nachteile.

REST verspricht das schnelle und unkomplizierte Veröffentlichen von Funktionen als Webservices ohne viel Overhead. Durch die Nutzung von URIs sind die Aufrufe der Services meist selbsterklärend und sprechend.

REST bietet sich vor allem dann an, wenn man ressourcenorientiert arbeiten kann, beispielsweise wenn man Daten von einem Businessobjekt lesen möchte.

Für SOAP spricht die umfangreiche Verbreitung in der Unternehmenswelt. Zudem eignet sich SOAP oft besser für komplexe Aufgabenstellungen und die Abbildung von Prozessen und Workflows.

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​".