# Welche Servlet-Version benötigt GWT 2.0?



## megachucky (6. Aug 2010)

Hallo.

Wir benutzen den WebSphere Application Server 6.1 (welcher J2EE 1.4 implementiert). Ich kann leider nirgendwo Informationen finden, welche GWT-Version unterstützt wird? Ich befürchte, dass die aktuelle Version GWT 2.0.x eine neuere Servlet-Version verwendet?

Kann mir bitte jemand ein paar Infos geben? Vielen Dank schonmal...


----------



## Noctarius (6. Aug 2010)

Servlet API 2.5 reicht für GWT 2.0 eigentlich, eventuell sogar etwas tiefer. Servlet API 3.0 wird auf jeden Fall nicht benötigt 

Compile & Debug - Google Web Toolkit - Google Code <- Ganz am Ende der Seite, unter "Public Resources"

Ihr könnt aber einfach einen Tomcat oder Jetty für das GWT 2.0 nutzen und z.B. per ActiveMQ oder RMI oder SIMON oder ... die zwei Komponenten verbinden.


----------



## megachucky (6. Aug 2010)

> Servlet API 2.5 reicht für GWT 2.0 eigentlich, eventuell sogar etwas tiefer. Servlet API 3.0 wird auf jeden Fall nicht benötigt
> 
> Compile & Debug - Google Web Toolkit - Google Code <- Ganz am Ende der Seite, unter "Public Resources"
> 
> ...



Servlet 2.5 ist JEE5. Wenn dann muss es Servlet 2.4 unterstützen. Ich werde es zwar später zwar eh mal ausprobieren, aber mich verwundert, dass es nirgendwo Infos dazu gibt. Bei JSF etc. findet man das ja auch schnell raus :-(

Workarounds wie Tomcat oder ähnliches wären technisch natürlich kein Problem (den Zusatzaufwand mal vernachlässigt), aber aus politischen Gründen glaube ich nicht, dass das durchsetzbar ist...


----------



## Noctarius (6. Aug 2010)

Naja 2.5 ist halt Standard. Irgendwann geht man nicht mehr davon aus, dass Leute versuchen neue Techniken in alte Systeme zu integrieren. Und so neu ist 2.5 auch nicht mehr


----------



## megachucky (6. Aug 2010)

> Naja 2.5 ist halt Standard. Irgendwann geht man nicht mehr davon aus, dass Leute versuchen neue Techniken in alte Systeme zu integrieren. Und so neu ist 2.5 auch nicht mehr



Keine Frage! Da gebe ich dir völlig recht...

Aber erklär das mal den "Politikern" eines Konzerns (unter der Prämisse, dass du trotzdem weiterhin Kunde dort bleiben willst) 

Ein Migrationsprojekt von WAS 6.1 auf WAS 7 (und damit auch EJB 2.1 auf 3 etc.) wird sicher irgendwann mal kommen, aber das alllein wird sicher viele Manntage verschlingen...


----------



## Noctarius (6. Aug 2010)

Wie gesagt solange kann man es auf einen Embedded-Jetty auslagern und anbinden


----------



## Kai Wähner (18. Aug 2010)

> Ich befürchte, dass die aktuelle Version GWT 2.0.x eine neuere Servlet-Version verwendet?



GWT benutzt erst einmal überhaupt keine Servlets. Du erstellst mit GWT indirekt das JavaScript, welches auf dem Client dargestellt wird.

Server-Kommunikation kannst du über verschiedene Technologien realisieren, z.B. durch XML, JSON oder eben auch Servlets. So ist es auch möglich, von GWT aus mit anderen Servern zu kommunizieren, welche nicht die Servlet Spezifikation implementieren. Wenn du Servlets einsetzen willst, bist du halt an einen Web-Container (Tomcat, Jetty, ...) oder JEE Application Server (WebSphere, Glassfish, ...) gebunden.

Daher die Antwort: Da du dir selbst aussuchst, ob du Servlets zur Server-Kommunikation verwendest, kannst dir dir auch aussuchen, welche Version du verwendest. Du musst die Konfigurationsdatei web.xml eh selbst erstellen und die passende Servlet-Bibliothek in dein Projekt einbinden 

Gruß Kai


----------



## Noctarius (18. Aug 2010)

Generell halte ich die Antwort erst mal für falsch.

Natürlich muss ich nicht RPC nutzen und kann auf andere Techniken wie JSON oder XML umsteigen, dann muss ich aber die "Objektumwandlung" selbst vornehmen.

So wie oben im Post gefragt wurde, ist meiner Meinung nach GWT-RPC gemeint und damit nutzt es die Servlet API.


----------



## Kai Wähner (18. Aug 2010)

> Natürlich muss ich nicht RPC nutzen und kann auf andere Techniken wie JSON oder XML umsteigen, dann muss ich aber die "Objektumwandlung" selbst vornehmen.



Richtig! Aber mir war das ehrlich gesagt am Anfang auch nicht so klar. Ich hatte immer nur Bespiele gesehen, wo man über Servlets mit dem Server kommuniziert. 
Wenn man sich dann mal etwas länger mit GWT beschäftigt, bekommt man natürlich mit, dass man Servlets nicht unbedingt verwenden muss - auch wenn es eben die "Objektumwandlung" erspart und oft sicher die sinnvollste Lösung ist.



> So wie oben im Post gefragt wurde, ist meiner Meinung nach GWT-RPC gemeint und damit nutzt es die Servlet API.



Das mag sein (ob natürlich bewusst war, dass es auch anders geht, ist mir aus der Frage nicht klar geworden). 
Und was meinst du ist dann falsch an meiner Antwort bezüglich "Servlet-Version selbst auswählen"?


----------



## Noctarius (18. Aug 2010)

Du kannst dir die Servlet Version nicht aussuchen. Du kannst in der API Version hoch gehen aber nicht runter. 2.5 braucht nun eben mind. 2.5 und nicht tiefer.

Ja ok anmerken, dass es ohne RPC geht war ja ok  Aber das ist eigentlich klar wenn man überlegt, dass es JavaScriptObjects und JSNI gibt


----------



## Kai Wähner (18. Aug 2010)

> Du kannst dir die Servlet Version nicht aussuchen. Du kannst in der API Version hoch gehen aber nicht runter. 2.5 braucht nun eben mind. 2.5 und nicht tiefer.



Hm, ich weiss nicht, ob wir eventuell aneinander vorbei reden ?!

Klar: Wenn du "Servlet 2.5" verwendest, kannst du nicht die API von "Servlet 2.4" oder niedriger verwenden.

Aber: Wenn du einen Application Server hast, der eben nur "Servlet 2.4" unterstützt, nimmst du ja implizit auch die Servlet-Implementierung dieses Servers. Und im Falle von GWT kommunizierst du dann mit 2.4er Servlets - dementsprechend muss natürlich auch beispielsweise die erstellte web.xml-Datei dem 2.4er Standard entsprechen.

GWT 2.0  funktioniert definitiv mit dem WAS 6.1 (welcher nur "Servlet 2.4" unterstützt und nicht "Servlet 2.5") und Servlet-Kommunikation. Wir haben das nämlich in einem Projekt am Laufen...


----------



## Noctarius (18. Aug 2010)

Hm also laut Website finde ich nur Informationen zu 2.5 aber ok  Wenn ihr das so laufen habt geb ich mich mal geschlagen *g*


----------



## Kai Wähner (19. Aug 2010)

> Hm also laut Website finde ich nur Informationen zu 2.5 aber ok



Ja, das finde ich leider auch etwas blöd bei GWT, dass man nirgends Informationen über sowas findet. Daher hatte ich vorher dasselbe vermutet wie du und nicht erwartet, dass es möglich ist. Aber es läuft definitiv auf dem WAS 6.1 mit GWT-RPC - wenn auch nur mit einem Hello-World-Service, aber der läuft


----------



## Noctarius (19. Aug 2010)

Hehe nagut ^^ wieder was gelernt. Zur Not kann man sicher auch das RPC-Servlet abwärtskompatibel implementieren aber ob sich sowas dann lohnt. Dann kann ich auch gleich JSON nutzen


----------

