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.

© 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 lesen

Chronologische Liste und Netflix-Links -

Neuerscheinungen in der Übersicht -

Vorschau auf Film- und Serien-Highlights -

Mehr zum Thema

Webdesign

Adobe Illustrator wird im Webdesign immer beliebter. Wie Sie das Tool richtig einsetzen, erfahren Sie hier.
Facebook

Was sind die Implikationen für Unternehmen und Endanwender bei Facebooks neuer Suche Graph Search?
Online-Recht

Allgemeine Geschäftsbedingungen liest sich niemand gerne durch. Sie sind jedoch notwendig und äußerst sinnvoll. Worauf sie achten sollten.
Online-Recht in der Cloud

Dateien werden immer häufiger in der Cloud bereitgestellt. Rechtlich ist das jedoch durchaus problematisch. Wir klären über das Urheberrecht in der…
E-Commerce-Logistik

Für den Erfolg eines Online-Shops sind zahlreiche Faktoren verantwortlich. Neben Produktvielfalt und Darstellung der Waren gehört auch die Logistik.