Java Webentwicklung - JBoss Seam, Spring, Struts, GWT, JSP... wo starten?

DarthShader

Erfahrenes Mitglied
Hallo,

ich hätte mal eine sehr allgemeine Frage zur Java Technologie in der Webentwicklung. Ich habe schon einige Erfahrung in Java, vor allem SE, zur Zeit erlerne ich die JavaEE Technologien, habe jedoch in dem Bereich noch nichts praktisches umgesetzt. Nun stehe ich kurz davor, eine Webanwendung zu bauen, und es stellt sich mir die Frage nach der Technologie bzw. den einzusetzenden Frameworks.

Gelesen habe ich allgemein über Application Server und EJB 3.0, speziell mit JBoss / JBoss Seam. Dann kommt noch Spring dazu, Struts, es gibt Java Server Pages und Faces, das Google Web Tool Kit wäre da auch noch etc.

All diese Frameworks stürzen quasi gerade in der Theorie auf mich ein und ich weiß nicht, welche am besten zu verwenden sind (sicherlich kommt es hier auf das Projekt an), aber vor allem, ob und welche Technologien zusammenarbeiten können.

Vielleicht ein paar Worte über das Projekt: es wird eine recht umfangreiche Webanwendung, mit Benutzerkonten, Rechtevergaben, man kann jedoch davon ausgehen, dass keine hohe Last bzw. viele konkurrierende Zugriffe zu erwarten sind


Ich würde mich über ein paar Tipps und Ratschläge sehr freuen, vielleicht findet ihr auch ein paar Worte dazu, welche Technologien es noch gibt und wie diese bzw. die oben genannten zusammenspielen können (wenn überhaupt). Habt ihr einen Rat, womit und wo ich am besten beginne?


Vielen Dank für Eure Hilfe!
 
Hmm, da ist ja gleich ein ganzer Batzen Begriffe aufgehäuft. Ich würde vorschlagen, du schaust dir mal an wie Java Server Pages funktionieren (einfache Beispiele mit einem tomcat Server) und was Beans sind.

Das ist die Basis für viele weitere Frameworks.

Erst danach solltest du dich mit Struts, Spring o.ä. beschäftigen. Ich werde demnächst vielleicht mit dem Spring Framework in Berührung kommen. Vom ersten Gefühl würd ich sagen, dass es ein ganz nettes Framework ist.
 
Bingo! Meine Buzzwordkarte ist voll ;). Nen anz schönen Haufen hast du da. Ich würde auch vorschlagen, es langsam anzugehen. Zumal die genannten Kandidaten auch seeehr unterschiedlich sind. Seam ist der Rundumschlag von oben (JSF) bis unten (EJB). D.h. Seam im Zusammspiel mit GWT macht wenig Sinn.

Ich denke, sich Spring intensiv anzuschauen ist definitiv kein Fehler. Damit hast du ein Framework in der Hand was dich eigentlich in allen Belangen der Anwendungundsentwicklung unerstützen kann, wenn du es denn willst. Charakteristisch für Spring ist sein sehr integrativer Charakter, d.h. es bietet Support für so ziemlich jedes weitere halbwegs bekannte Framework, bzw. die Frameworks bieten Springunterstützung.

Bei den Webframeworks kann man IMHO zwischen actionbasierten Frameworks (Struts, Spring MVC usw.) und komponentenbasierten Frameworks (JSF, GWT) unterscheiden. Womit man da anfängt hängt davon ab, wo man programmiertechnisch herkommt. Swingentwickler tun sich erfahrungsgemäß mit den Komponentenframeworks leichter. Webentwickler, die an der REQUEST / RESPONSE Zyklus gewöhnt sind, eher mit den Actionbasierten.

Als Einstieg kann ich Eberhard Wolffs Buch "Spring 2 - Framework für die Javaentwicklung" empfehlen. Auf der Dazugehörigen Webseite findet man auch alle Codebeispiele die die Integration der Dritttechnologien veranschaulichen.

Gruß
Ollie
 
Hallo,

vielen Dank für Eure Antworten.

Ja ich weiß, das sind eine Menge "Buzzwords" - aber zwangsweise kommt man mit diesen Begriffen in Kontakt, wenn man beginnt, nach dem Thema Webentwicklung unter Java zu recherchieren.

Ich werde wohl damit beginnen, zunächst einmal JSP und JSF zu erlernen. Parallel dazu lerne ich weiter EJB 3.0 (ich lese z.B. das Buch "EJB 3.0 profesionell"). Mit dem Kern von Spring kenne ich mich schon recht gut aus, also der IoC Container und Dependency Injection - jedoch nicht mit dem Webframework, welches Spring bietet. Dies werde ich nach den obigen Themen angehen. Ich hoffe diese Reihenfolge ist einigermaßen sinnig.

Was mich nun aber speziell interessiert ist, wie die Frameworks zusammenarbeiten können. Naiv wie ich (noch) bin ;) denke ich mir, ich habe einen Application Server, z.B. JBoss und baue meine Geschäftslogik via Beans (Stateless, Messagedriven etc.) auf.

Die Webseite allerdings würde ich auch gerne durch AJAX erweitern, um alles etwas interaktiver zu gestalten. Ich habe schon einiges über das Google Web Toolkit gelesen - also stellt sich mir die Frage, können diese beiden Dinge, also EJB mit Applikationsserver und GWT zusammen arbeiten?

Dann kommt irgendwann Spring auf den Plan - ersetzt Spring die EJB Geschichte, d.h. diese beiden Welten existieren parallel zueinander? Oder können die auch kooperieren? Ich vermute Ersteres, da das Spring Webframework doch in einem Servlet Container laufen muss, z.B. Tomcat, ist das richtig?

Ich mache mir auch Sorgen, dass ich den falschen Weg lerne, vielleicht alte Sachen, die in einem halben Jahr nicht mehr verwendet werden, und so meine Zeit falsch investiere.


Vielen Dank!
 

Neue Beiträge

Zurück