Quantcast
Channel: Communardo Techblog » gwt
Viewing all articles
Browse latest Browse all 2

Google Web Toolkit mit PHP Backend

$
0
0

Möchte man das Google Web Toolkit mit einem PHP Backend verknüpfen ist das grundsätzlich relativ einfach. Das Toolkit bietet verschiedene Möglichkeiten um Daten mit Backends auszutauschen (wie z.B. JSON oder XML). Setzt man diesen Gedanken allerdings in die Tat um, stößt man schnell auf einige Fallstricke die bei der Entwicklung hinderlich sein können.

Die Entwicklung von GWT Anwendungen erfolgt im Hosted Mode. Dieser Mode startet einen Jetty-Webserver der die Html- und Javascript Dateien hosted und auch einen Servlet Container für serverseitige Servlets anbietet. Bei der PHP-Entwicklung nutzt man typischerweise einen Apache-Webserver mit mod_php. Diese beiden Webserver laufen auf unterschiedlichen Ports wodurch Aufrufe von der GWT Anwendung zum PHP-Backend durch die Single Origin Policy unterbunden werden. Diese Policy besagt, dass ein XmlHttpRequest nur auf die gleiche Domain (Host+Port) zugreifen darf. Um GWT mit PHP zu verbinden muss also eine andere Lösung gefunden werden. Wie dies geschehen kann, wird im folgenden Artikel beschrieben.

Zunächst erzeugt man sich wie gewöhnlich ein GWT Projekt. Die Apache-Konfiguration wird nun um einen Alias erweitert, der direkt auf das Webapp Verzeichnis im Target Ordner weist. (z.B. /gwt-project). Anschließend kann auf das GWT-Frontend über http://localhost/gwt-project zugegriffen werden.

Als nächstes muss die Konfiguration für den Hosted-Mode angepasst werden. Dazu wird zunächst der Jetty-Webserver über den Parameter “-noServer” abgeschalten und der Apache Webserver über den Parameter “-port 80″ dem Hosted-Mode bekannt gemacht. Des Weiteren muss der Wert für den runTarget Parameter entsprechend dem neuen Alias angepasst werden (http://localhost/gwt-project/GwtPhpBackendApp.html).

Die Entwicklung des PHP Codes erfolgt meistens in einem anderen Projekt als das GWT Frontend. Um Requests aus der GWT Anwendung zum PHP Backend zu ermöglichen ist ein weiterer Alias auf das PHP Verzeichnis in der Apache-Konfiguration hilfreich. (z.B. /gwt-project/backend). Somit kann auf das Backend über http://localhost/gwt-project/backend) zugegriffen werden.

Aus der GWT-Anwendung heraus können somit die Requests an die Adresse GWT.getHostPageBaseURL()+”/backend” gesendet werden um das PHP-Backend zu erreichen. Für die spätere Produktivumgebung müssen die PHP-Skripte nur noch in dem entsprechenden Pfad abgelegt werden.

Hier noch die abschließende Apache-Konfiguration für das Beispiel.

The post Google Web Toolkit mit PHP Backend appeared first on Communardo Techblog.


Viewing all articles
Browse latest Browse all 2

Latest Images

Trending Articles





Latest Images