In die JEE-Welt einsteigen - Womit sollte man anfangen?

KROKvsKROK

Ensign
Registriert
Apr. 2013
Beiträge
149
Hallo,

Ich bin sehr fit in in der normalen Java-Programmierung (Java SE), habe jedoch keinerlei Ahnung von Java EE (Java Enterprise Edition). Da fast alle Java-Stellenanzeigen von JEE handeln und es davon recht viele gibt, würde ich mir JEE mal gerne etwas näher anschauen um zu sehen, ob es denn etwas für mich wäre.
Bis jetzt kann ich jedenfalls sagen, dass mir die normale Java-Programmierung (Java SE) bisher am meisten Spaß bereitet hat.

Was mir bereits bekannt ist:
- JEE = Webentwicklung von Webseiten mit sehr hohen Besucherzahlen
- Es gibt sehr viele Frameworks zu JEE

Bei den meisten Stellenanzeigen habe ich etwas vom "Spring"-Framework gelesen. Dies scheint also recht verbreitet zu sein. Mein Ziel wäre es jetzt mich mal in die JEE-Welt (inklusive des Spring-Frameworks) rantasten zu wollen. Aber wie gesagt, ich möchte das ganze (vorerst) nicht in jedem Detail intenstiv durcharbeiten, sondern eher nur Kennenlernen wollen um dann feststellen zu können, ob das etwas für mich wäre und ich mich für entsprechende JEE-Stellen bewerben sollte oder eben nicht.

Das ganze in einem Zeitraum von etwa ~3 Wochen, da ich im nächsten Monat meine ersten Bewerbungen rausschicken will und bis dahin dann wissen will, ob JEE für mich in Frage käme.

Aber womit soll ich anfangen? Ich kann JEE samt den ganzen Frameworks bisher 0 einordnen. Ich kenne viele Begriffe (JSF, JSP, Servlets, Struts, Hibernate, Restful-API etc.) aber ich habe 0 Ahnung was diese Begriffe bedeuten und was dahintersteckt. Vorallem auch nicht in welchem Kontext sie zueinander stehen. Ich stehe sozusagen vor einem riesen Berg voller JEE-Begriffe.

Es gibt von der "Head First"-Reihe (welche ich sehr gut finde), ein Buch über "Servlets und JSP". Wäre dies ein guter Einstiegspunkt? Sollte ich nach diesem Buch bereits abschätzen können, ob JEE etwas für mich ist?

http://www.amazon.de/Head-First-Ser...405855766&sr=8-1&keywords=head+first+servlets
 
Mit dem Buch habe ich auch angefangen, allerdings ist das wirklich low-level Urschleim, den man natürlich können muss, aber von dem man sich schnell lösen muss. Ich wüsst auf Anhieb keinen Anwendungsfall, für den ich ein Servlet schreiben würde, wenn ich eh schon Spring im classpath habe.

Wer heute noch Seiten mit JSP, JSF und Struts generiert hat entweder den Schuss nicht gehört oder seine Anwendung ist entweder alt (manchmal habe ich das leider auch noch an der Backe an einigen Stellen…) oder nicht sonderlich umfangreich und daher die Wahl des Frontend-Frameworks relativ irrelevant.

Ich würde Firmen meiden, die zu sehr am EE-Standard (z.B. JSF) kleben und nicht mit der Zeit gehen. Stelle mir das Arbeiten da auch furchtbar langweilig vor. Sowas kann man sich geben, wenn man sein Arbeitsleben fast hinter sich hat (z.B. bei Banken oder so).

Hibernate solltest du dir auch mal angesehen haben. Geht zusammen mit Spring wunderbar.
 
Zuletzt bearbeitet:
Was ist passiert? Ist Sun wieder auferstanden?

RESTful - ok, das ist ein Paradigma, könnte man sich anschauen, um einfach schnell zu verstehen, was es ist (ich hatte es z.B. im Studium).
Hibernate - Hmm... WildFly vielleicht höchstens noch.
Aber die ganzen anderen Sachen bezeichnet zum Teil selbst Oracle als deprecated. Es ist zwar leider der Fall, dass es immer noch bestehende Projekte gibt, die so was einsetzen, aber irgendwann muss man sich letztendlich doch davon verabschieden.
 
Ich sehe es ähnlich wie Tumbleweed... JavaEE ist gut und schön, aber in der Regel braucht man nicht mehr als Servlets, ein Binding zur Datenbank (JPA meist über Hibernate) und etwas Kenntnisse über JSPs/JSTL + EL.
Keiner nutzt den gesamten Stack, viele Firmen nur die gängigsten und meist dokumentiertesten Lösungen (bspw. Hibernate für JPA oder Spring für EJB)...
 
Zuletzt bearbeitet:
Wenn du in einer Firma bist die JSP verwendet, dann würd ich mir eine neue suche. Das ist soweit weg von allem was Sinn macht.
In der Java Welt gibt es im Grunde zwei große Lager.

1. Java EE basierend auf den Spezifikiationen
Im Grunde gibts hier einen Haufen an Spezifikationen für alles mögliche mit eingeschränkter Flexibilität dafür auch weniger das man falsch machen kann. Prominent ist hier mit Sicherheit EJB + JSF. Wobei ich da ein wenig von Managed Beans abraten da es in Kombination mit CDI nicht funktioniert. Könnt jetzt über den Bereich einen Roman schreiben, wenn du was genauer wissen willst stell bitte konkrete Fragen.

2. Spring in Kombination mit einer anderen Front Side technologie
Ist die flexiblere Variante und benötgit auch keinen Application Server. Dieses Jahr wurde die erste Version von Spring Boot veröffentlich das macht in meinen Augen die Konfiguration um welten leichter und man hat nimmer einen Haufen XML müll. Von Seiten des Frontends gibts da im Grunde alles bunt gemischt. Es gibt einen Trend zu AngularJS, allerdings soll Thymeleaf auch in Ordnung sein. (Sind beides grundverschiedene Ansätze). Wie oben kann ich auch hier einen Roman schreiben bitte Konkrete Fragen.

Abschlusswort: Du kannst mit Java EE vermutlich mehr Geld verdienen weils mehr Enterprise ist. Skill technisch seh ich mehr Potential in Spring.
 
Manche schreiben hier, dass JSP oder JSF veraltet bzw. sinnfrei sei. Rein interessehalber würde ich gerne mal wissen, warum?

In der Firma, in welcher ich gerade arbeite, bin ich momentan Frontendentwickler an einem Java Enterprise Portal (SAP NetWeaver), wo die Seiten eben noch per JSP, JSF und Servlets gebaut werden. Dem ganzen liegt dann SAP zu Grunde. Bisher habe ich mir nichts dabei gedacht, aber wenn diese Vorgehensweise nicht mehr Stand der Dinge ist, dann würde mich das mal interessieren, zumal das Portal ab August von Grund auf neu gebaut werden soll und mein Kollege dann wieder mit der gleichen Technik arbeiten will. Wäre super, wenn mir das jemand erklären könnte, auch wenn es nicht das ursprüngliche Thema ist.
 
Speedy. schrieb:
Manche schreiben hier, dass JSP oder JSF veraltet bzw. sinnfrei sei. Rein interessehalber würde ich gerne mal wissen, warum?
JSP ist offiziell veraltet. Oracle sagt:
JSP technology is considered to be a deprecated presentation technology for JavaServer Faces.
JSF zwar nicht, ich würde es aber eher als obsolete bezeichnen. Natürlich lohnt sich jetzt nicht jedes bestehende Projekt auf etwas anderes umzustellen, aber komplett neue Projekte damit zu beginnen halte ich ebenfalls für weniger sinnvoll. Welche Vorteile hätte man denn dadurch?
 
Warum JSP und JSF von vielen (mich eingeschlossen) als veraltet gewertet wird: Beide und viele andere Frameworks wie GWT, Struts 2, Stripes usw. benötigen auf Rendering-Ebene spezielle Tags an (<h:> <s:> <c:>, usw). Der View-Code wird dadurch mit einer Reihe von nicht HTML konformen Tags zugekleistert.

Im Gegensatz zum obigen Ansatz stehen Client-side Frameworks wie AngularJS oder Server-side Rendingengines wie Thymeleaf, die einem Entwickler erlauben sauberes HTML zu schreiben. Das Einfügen der Daten erfolgt hier statt über Elemente mittels Attributen.

Wo liegt nun der Vorteil?
* Auch ohne laufenden Servlet-Container kann man die View schreiben, stylen und testen (keine nicht HTML-konforme Elemente, keine Markup-Errors)
* Man entwickelt insgesamt schneller durch eine verkürzte Toolchain
* Im Einzelfall kann die Designabteilung bereits HTML über einen Webdesigner anliefern, welches nur noch mit den frameworkspezifischen Attributen gespickt werden muss
 
JSF und JSP sind zwar altbacken, werden aber bei vielen Unternehmen noch eingesetzt.
Ich selbst arbeite gerade mit JSF und dem Primefaces Framework bei einer großen Versicherung.
Dieses Framework wird von vielen bekannten Firmen eingesetzt.

http://www.primefaces.org/whouses

Selbiges gilt für andere große JSF Frameworks.

Es ist deshalb wohl nicht verkehrt sich für den Bewerbungsprozess mit dem ganzen JSF Kram auseinanderzusetzen.

Dieses Buch hatte mir beim Einstieg sehr geholfen: http://jsfatwork.irian.at/book_de/introduction.html
 
Zuletzt bearbeitet:
Was wäre denn die modernste oder viel mehr sinnvollste und zukunftsträchtigste Sparte?

Bei mir steht die Bewerbung erst in ~2 Jahren an ^^
( Und an der Uni lernt man solche Sachen logischerweise nicht...da kann man über die wenigen JavaSE-Module schon froh sein :D )
 
Im Bereich Java fährst du mit Kenntnissen zu Spring/DI, Hibernate, Servlet-/WebEntwicklung immer gut.
Ansonsten werden öfters auch Fachkräfte in den Bereichen NoSQL und BigData gesucht.

In beiden Fällen kommt es aber neben der Kenntnis mehr auf die berufliche/praktische Erfahrung an. Erfahrungen in Hiwi Jobs oder vorzeigbare Projekte auf GitHub & Co. sind in jedem Falle sehr förderlich.
 
Zurück
Oben