Java Web App - welche Technologie einsetzen?

Hallo an alle!

Ich will eine Web-Applikation im Frontend mit HTML5 aufbauen und dazu ein JavaScript-Framework verwenden. Nun benötige ich jedoch auch ein Backend/Server, so dass die Applikation über www aufgerufen werden kann.

Das Backend soll auf Java EE aufbauen und besitzt eine MySQL-Datenbank, die über Hibernate „angebunden“ wird.

Nun habe ich im Frontend „normale“ Webseiten mit Formularen, die abgeschickt werden über POST und ich habe eine Seite bei der die Daten ohne Neuladen der Seite, also AJAX, an den Server geleitet werden sollen.
Gut wäre auch ein Push-Dienst vom Server zu den angebunenen Clients, die gerade diese spezielle Webseite sehen. Auf der soll man nämlich Container verschieben können und die Verschiebungen sollte jeder Client mitkriegen.

Auf welche Technologie kann ich das basieren lassen? JSP/JSF/Spring MVC? Oder welche Möglichkeiten habe ich?

Danke + Gruß PHANTOM

Ich würd eine Ajax-Anwendung als nächstes mit Google Webtoolkit bauen, denk ich.

http://code.google.com/intl/de-DE/webtoolkit/

Damit kannst Du relativ einfach dynamisch Seitenteile nachladen - und bei der Entwicklung bleibt man weitestgehend von HTML & Co verschont. Ist sicherlich eine Überlegung wert, allerdings weiß ich nicht, wer das jetzt in welchem Umfang schon produktiv einsetzt.

Da man einige dynamische Layoutmöglichkeiten mit GWT hat, könnte das gut auf Deine Anforderung „verschieben & nachladen“ passen.

Danke für die Antwort. Das HTML muss ich aber wohl weitestgehend selbst bauen, da HTML5 noch niemand so wirklich unterstützt an Frameworks.

Wie baut denn GWT seine Graphen? Mit Flash, oder? Das Ganze soll als Web-App auch auf Apple-Produkten laufen sollen, deswegen kann ich das nicht nehmen. Aber ich glaube ExtJS baut allg. bei dieser Sache auf Flash?

Bin mir unsicher ob ich Ext GWT nehmen soll, da es nur sehr wenig im Einsatz ist. Ich denke immer als Einsteiger wenn ich Probleme damit habe, dann habe ich keine große Community.

Danke für die Antwort. Das HTML muss ich aber wohl
weitestgehend selbst bauen, da HTML5 noch niemand so wirklich
unterstützt an Frameworks.

Oh, ok. HTML5 hatte ich jetzt gar nicht bedacht. Ich weiß nicht, ob GWT HTML5 unterstützt. Das solltest Du nochmal prüfen.

Im Prinzip wird das Layout ja auch per Hand erstellt, ist nur die Frage, was GWT dann dort hineingeneriert.

Wie baut denn GWT seine Graphen? Mit Flash, oder? Das Ganze
soll als Web-App auch auf Apple-Produkten laufen sollen,
deswegen kann ich das nicht nehmen. Aber ich glaube ExtJS baut
allg. bei dieser Sache auf Flash?

GWT selbst wird keine Graphen kennen, da müsste man z.B. auf JFreeChart oder die Google Chart-API ausweichen.

Oh, ok. HTML5 hatte ich jetzt gar nicht bedacht. Ich weiß
nicht, ob GWT HTML5 unterstützt. Das solltest Du nochmal
prüfen.

Ich habe gerade geschaut, es scheint es zu unterstützen. Aber es ist schon problematisch denke ich, es hat keine Template-Engine, keine Sicherheitsvorrichtungen, kein Formularvalidator, …
Also ich denke es ist zwar nett damit etwas zu bauen, keine Frage, aber vllt. nicht ganz passend für mich. Wobei ich schon denke, dass ich damit schnell am Ziel bin für einen Prototypen zu bauen aber das produktiv einsetzen, ich weiß nicht. Bin da unschlüssig.

Im Prinzip wird das Layout ja auch per Hand erstellt,
ist nur die Frage, was GWT dann dort hineingeneriert.

Ja, das weiß ich weder beim JavaScript noch beim HTML. Habe ich eine Template-Engine und baue das HTML selbst, dann weiß ich was ich habe. Ich sollte auch sagen: Die Applikation wird hauptsächlich aus 4 Seiten bestehen, zwar mit ausgefeiltem HTML5/CSS3 und beim JavaScript-Framework, da wird eins genommen, dass Multi-Touch-Eingaben beherrscht in bestimmten Browsern, also da ist eh viel „neu“ und „customized“.

Wie baut denn GWT seine Graphen? Mit Flash, oder? Das Ganze
soll als Web-App auch auf Apple-Produkten laufen sollen,
deswegen kann ich das nicht nehmen. Aber ich glaube ExtJS baut
allg. bei dieser Sache auf Flash?

GWT selbst wird keine Graphen kennen, da müsste man z.B. auf
JFreeChart oder die Google Chart-API ausweichen.

Da es auch auf Apple-Geräten wie iPad laufen soll, darf es kein Java oder Flash bedürfen, da das ja bekanntlich nicht funktioniert (ich gehe von nicht-gejailbreakten Geräten aus).

Gruß PHANTOM

Ein Kollege von mir hat mit http://wingsframework.org/ ein ganz nettes Projekt durchgeführt. Da wurde quasi eine Kataloganwendung auf einer CD ausgeliefert, inklusive Web-Frontend und Datenbank. Vielleicht ist das eher Deine Richtung.

Und dann muss ich natürlich noch auf http://www.grails.org/ hinweisen, mein Lieblings-Framework für Prototypen. Damit würd ich allerdings auch gern mal ein ganzes Projekt durchziehen. Die Template Engine von Grails finde ich auch sehr übersichtlich.