Quantcast
Channel: Communardo Techblog » Stefan Dieringer
Viewing all articles
Browse latest Browse all 9

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.


Viewing all articles
Browse latest Browse all 9

Latest Images

Vimeo 10.7.0 by Vimeo.com, Inc.

Vimeo 10.7.0 by Vimeo.com, Inc.

HANGAD

HANGAD

MAKAKAALAM

MAKAKAALAM

Doodle Jump 3.11.30 by Lima Sky LLC

Doodle Jump 3.11.30 by Lima Sky LLC

Doodle Jump 3.11.30 by Lima Sky LLC

Doodle Jump 3.11.30 by Lima Sky LLC

Vimeo 10.6.2 by Vimeo.com, Inc.

Vimeo 10.6.2 by Vimeo.com, Inc.

Vimeo 10.6.1 by Vimeo.com, Inc.

Vimeo 10.6.1 by Vimeo.com, Inc.

Trending Articles


Mariquitas para colorear


Mandalas de flores para colorear


Dromedario para colorear


Good Morning Quotes


Love Quotes Tagalog


Ang sarap sa piling mo


Mga Tala sa “Unang Siglo ng Nobela sa Filipinas” (2009) ni Virgilio S. Almario


Dimasalang (1969) by Francisco V. Coching and Federico C. Javinal


Amarula African Gin


Ka longiing longsem kaba skhem bad kaba khlain ka pynlong kein ia ka...


“Wat ieit ia ka pyrthei!”


Tiburon para colorear


Dear Ex Quotes, Sakit Quotes


Long Distance Relationship Tagalog Love Quotes


Tropa Quotes


RE: Mutton Pies (mely)


Ang Nobela sa “From Darna to ZsaZsa Zaturnnah: Desire and Fantasy, Essays on...


EASY COME, EASY GO


Version 0.8.5 – Peb txhawb tus Lao heev


Hato lada ym dei namar ka jingpyrshah jong U JJM Nichols Roy (Bah Joy) ngin...





Latest Images

Vimeo 10.7.0 by Vimeo.com, Inc.

Vimeo 10.7.0 by Vimeo.com, Inc.

HANGAD

HANGAD

MAKAKAALAM

MAKAKAALAM

Doodle Jump 3.11.30 by Lima Sky LLC

Doodle Jump 3.11.30 by Lima Sky LLC

Doodle Jump 3.11.30 by Lima Sky LLC

Doodle Jump 3.11.30 by Lima Sky LLC

Vimeo 10.6.1 by Vimeo.com, Inc.

Vimeo 10.6.1 by Vimeo.com, Inc.