Java EE Projektstruktur

Hallo,

wie erstellt ihr eure Projektstruktur? View und Webschicht in .war und die Logik in .jar sodass es ein .ear ergibt? Oder packt ihr alles ins .war file?

In den meisten Fällen reicht ein war, alles andere bringt in der Regel nur unnötigerweise viel Komplexität mit sich.

Mehr als ein war und ein jar würden auch nicht in einem ear landen.

Die Trennung zwischen View/Web und Logik ist Grundsätzlich nicht schlecht, dennoch sind Logik und Webschicht meist so eng aneinander gekoppelt, dass es auch hier nur unnötige Komplexität mit sich bringt dies in verschiedenen Projekte zu trennen, zumal man die Logik meist nicht in anderen Kontexten wiederverwenden wird.

Daher kann man oft dazu übergehen, die Logik auf Package-Ebene separieren und dann alles in ein war packen.

Ab bestimmten Projektgrößen kann man zwar verleitet sein auf andere Strategien umzusteigen, das ganze feingranularer zu strukturieren und dann tatsächlich mit ear anfangen. Dem spricht aber der Trend Microservices zu verwenden entgegen, bei denen dann auch einzelne Services auf verschiedene Maschinen verteilt werden.

Wenn man in der Spring-Welt unterwegs ist, dann hat man zwar die Möglichkeit ein War zu erstellen, benutzt aber immer häufiger ein selbst lauffähiges Jar-File, bei dem der Webserver bereits integriert ist.

Entweder ein war oder ein jar. Ein ear habe ich schon sehr lange nicht mehr erzeugt.

@ionutbaiu auch in der JEE-Welt gibt es mittlerweile auch die Möglichkeit, lauffähige jars zu erstellen (z.B. Wildfly swarm)

Jup. Geht auch mit Payara (Glassfish mit Support)

Bei den Jars ging ich eher davon aus, dass es hier um EJBs usw. geht die dann mit in ein EAR gepackt werden sollen.

Da läuft mir gerade ein Schauer über den Rücken. Ich erinnere mich ungern an diese Zeit zurück. :slight_smile: