JEE6-Entwicklung: initale Vorgaben und Tools?

Stoffelchen

Mitglied
Hallo zusammen,

ich bin momentan etwas aufgeschmissen und hoffe, dass mir der Eine oder Andere vielleicht weiterhelfen kann. Ich steh derzeit sprichwörtlich wie der Ochs' vorm Berg.

Bei uns laufen die meisten Applikationen derzeit auf Basis von JDK 1.5, einige wenige noch auf JDK 1.3. Tools und Frameworks werden nicht verwendet. Struktur und Stil sind nur rudimentäre erkannbar. Trennung von Design und Code fehlt gänzlich.

Ich soll nun für zukünftige Projekte Programmiervorgaben festlegen. Da ich selber allerdings aus der PHP-Ecke komme und JEE6 nur durch eine 1-wöchige Schulung, die ich vor Kurzem hatte, kenne, fällt mir das Festlegen von Vorgaben mehr als schwer. Ich erkenne zwar Parallelen, vor allem im Hinblick auf die Entwicklung nach dem MVC-Modell, aber das Umsetzen will nicht so ganz klappen.

  • Wie einfach/schwierig ist es für einen JEE5-Entwickler auf JEE6 umzusteigen (möglichst schnell)?
  • Welche Vorgaben sind bei der Entwicklung mit JEE6 sinnvoll - im Hinblick auf Frameworks, etc.
  • Wie gehe ich am Besten an die Erstellung einer neuen Webapplikation auf JEE6 Basis heran?

Korrigiert mich, wenn ich da falsch liege, aber bisher habe ich Folgendes in meinem Kopf:
Database-Tier: JPA & EJB -> Model
Business-Tier: Servlets -> Controller
Web-Tier: JSP -> View

Macht es Sinn sich auch parallel mit Struts und/oder Spring zu beschäftigen?

Solltet ihr mehr Informationen benötigen bzw. sollte ich vergessen haben etwas zu erwähnen, sagt einfach Bescheid ;-)

Lg Stoffelchen
 
Jo. Du solltest dir grundsätzlich Java und Design Patterns, … aneignen. PHP ist völlig anders als Java und daher brauchst du auch erst mal Grundlegende Sicht auf Java.
 
Heyho :)

danke für die Antwort.

Ich denke an der grundlegenden Sich auf Java dürfte es nicht mangeln. Wie gesagt ist mir Java nicht unbekannt... Bei mir hängt es eher an der Kombination der einzelnen Elemente, Tools, etc., d.h. fest vorgeben zu können, dass z.B. mit NetBeans 7.x, Hibernate und JSF entwickelt werden soll... dafür fehlt mir einfach die Erfahrung. Und das - dachte ich - finde ich hier :)

Lg
 
Hi Stoffelchen,

ich befürchte, dass es keinen allgemeingültige Fahrplan gibt (Wenn doch würde mich der auch interessieren).
Bei den vielen Technologien und Frameworks ist es einerseits Geschmacksache des/der Entwickler, andererseits abhängig von den Anforderungen der Software die entstehen soll.

Grundsätzlich hat sich die 3-Schichten-Architektur bzw. MVC ziemlich durchgesetzt und macht auf jeden Fall auch Sinn. Wobei JPA das Ganze wieder etwas über den Haufen wirft finde ich, vor allem in Verbindung mit Vaadin oder GWT als Oberflächen-Framework.

Bei größeren Projekten wird auf jeden Fall OSGi und Maven interessant.
Bei größeren Entwickler-Teams macht Subversion Sinn (bei kleineren eigentlich auch schon).

Hibernate hat sich auf dem Persistance-Layer sehr durchgesetzt und ist meiner Meinung nach auch echt super. Momentan arbeite ich aber mit EclipseLink (war nicht meine Entscheidung :) ). Ich hab auch schon von Entwicklern gehört, die sich ihre SQL-Queries doch lieber selbst schreiben.

Ich persönlich bin ein großer Fan von MVC, weil der Quellcode einfach übersichtlicher und strukturierter wird. Momentan arbeite ich mit Vaadin wo ja die Oberfläche ebenfalls mit Java beschrieben wird. Das Ergebnis sind ewig lange Klassen (bis zu 2000 Zeilen) und eine Vermischung von View und Controller. Gut, auch hier könnte man die View vom Controller durch verschiedene Klassen trennen. Früher hab ich mit dem ZK-Framework zur Oberflächen-beschreibung gearbeitet und war/ und bin sehr begeistert davon.

Spring ist auch sehr mächtig und auch sehr weit verbreitet soweit ich weiß, allerdings habe ich damit nur wenig Erfahrung sammeln können. Momentan benutze ich Apache-Shiro als Pendant zu Spring-Security.

Zentrales Thema bei JEE6 sind natürlich EJB´s, aber die sind ja sowieso dabei :)

Ich hoffe ich konnte einen kleinen Überblick geben und ich hoffe das alles richtig beschrieben ist.

lg
 
Zuletzt bearbeitet:
Heyho :)

Vielen Dank für die ausführliche Antwort. So in etwa hatte ich mir das vorgestellt :)
Jetzt habe ich immerhin schonmal einen kleinen Überblicke über die Bandbreite an Tools und wo ich sie in etwa einordnen kann. Als nächstes werd ich mich wohl mal hinsetzen und schauen inwiefern ich Vor- und Nachteile der Tools gegeneinander aufwiegen kann.

Hast du schon Erfahrung mit der Verträglichkeit der unterschiedlichen Tools zueinander? Gibt es da irgendwelche Aspekte, die beachtet werden müssen?

Derzeit sieht es wohl so aus, dass ich erstmal JEE6 als Basis einführen werde. Subversion und das MVC-Prinzip werden als Basis dienen. Für die Oberflächenstrukturierung bin ich mir noch nicht ganz sicher. Ich würde ganz gerne sowas wie SiteMesh3 verwenden. GWT klingt auch recht interessant. Aber momentan habe ich dazu noch recht wenig Überblick was den Funktionsumfang betrifft. In welche Ecke könnte ich Struts einordnen? Davon habe ich auch schon vermehrt gehört.

Sofern ich eine "Lösung" gefunden habe, kann ich es euch ja wissen lassen :) Ich denke das wird noch ein recht spannendes Projekt :)

Danke nochmal für die Hilfe.
Liebe Grüße,
Stoffelchen
 
Zurück