Fragen eines Wiedereinsteigers

WeirdAl

Mitglied
Hallo,
meine Fragen gehören teilweise nur indirekt hierher, aber ich weiss nicht genau wo die Fragen sonst passen könnten.

Also, ich habe Anfang 2004 mein Diplom erhalten, ein halbes Jahr erfolglos beworben und wurde dann "Hausmann". Damit ich am Ball bleibe, habe ich danach einige kleine Projekte begonnen. Nach einigen privaten Problemen und dann aus Zeitmangel habe ich Mitte 2005 aufgehört mich mit dem programmieren zu beschäftigen. Ich hatte eigentlich schon damit abgeschlossen in diesem Job zu arbeiten, aber quasi als guten Vorsatz für dieses Jahr will ich doch noch einmal versuchen wieder einzusteigen.

Jetzt erstmal eine generelle Frage. Langsam scheint die Nachfrage nach Informatikern zu steigen, aber geht das soweit das sie einem "ich-war-frisch-von-der-FH-bin-aber-raus-will-aber-wieder-rein" Informatiker eine Chance geben (evtl. in Praktikas, oder sind diese ausschließlich für Studenten gedacht?). Fachlich kann ich mich zur Zeit nicht gut einschätzen, aber ich lerne recht fix und auf das kam es "früher" irgendwie immer an :).

Jetzt komme ich zu dem "J2EE" Teil. Also, ich will wie gesagt wieder einsteigen und zwar in dem Bereich JSF. Zusätzlich wollte ich Spring und Hibernate einsetzen.
Normal sollte man ja bei einem Projekt erst die Planung machen und dann schauen welche Tools man einsetzt, jedoch möchte ich den umgekehrten Weg gehen, damit ich die o.g. Technoligien lernen bzw. mein Wissen vertiefen kann.
Das letzte woran ich gearbeitet habe war ein JSF-Projekt mit Hilfe des Exadel-Eclipse Plugins.
Meint ihr, es ist sinnvoll als Einstieg direkt wieder das Exadel Tool zu nutzen oder sollte ich von der Pieke auf, also per Hand, ein Projekt erstellen. Als ersten Schritt werde ich mich wohl in Spring und Hibernate einlesen und dann loslegen (bzw. loslegen und dann lesen *g*). Habt ihr evtl. noch ein paar Tipps für mich, welche "Technologien" ich neben Spring und Hibernate noch nutzen könnte, um einen hohen Lerneffekt zu erzielen?

Soweit mal
Alex
 
Hallo,

Jetzt komme ich zu dem "J2EE" Teil. Also, ich will wie gesagt wieder einsteigen und zwar in dem Bereich JSF. Zusätzlich wollte ich Spring und Hibernate einsetzen.
Warum JSF? In dem Java Bereich gibts mittlerweile eine ganze Reihe von Webframeworks:
http://java-source.net/open-source/web-frameworks

Normal sollte man ja bei einem Projekt erst die Planung machen und dann schauen welche Tools man einsetzt, jedoch möchte ich den umgekehrten Weg gehen, damit ich die o.g. Technoligien lernen bzw. mein Wissen vertiefen kann.
Das letzte woran ich gearbeitet habe war ein JSF-Projekt mit Hilfe des Exadel-Eclipse Plugins.
Meint ihr, es ist sinnvoll als Einstieg direkt wieder das Exadel Tool zu nutzen oder sollte ich von der Pieke auf, also per Hand, ein Projekt erstellen.
IMHO ist es besser wenn man sich erstmal mit den einzelnen Technologien im J(2)EE Space vertraut macht. Sprich kauf dir ein Einführungsbuch zum Thema J(2)EE und lern die einzelnen Technologien kennen (JSP,Servlets, JAXB, EJB (2.0/3.0),JMS, JTA, JTS, JNDI, JAXB, JAX-WS / JAX-RPC,...)
Diese setzen natürlich auch fundiertes Java Know-How (gute Kenntnisse der Java Programmiersprache, des JSE API's, XML, JAXP, JDBC, RMI etc.) voraus.

Es gibt natürlich sehr viele Möglichkeiten sich dieses Wissen anzueigenen. Eine Möglichkeit (die ich bevorzuge) ist zu jedem Thema erstmal 2-3 Mini Beispiele durchzuspielen, die gerade so viel Funktionalität enthalten um die Technologien ausprobieren zu können. Hat man sich somit mal einen gewissen Grundstock angelesen / angeeignet so kann man sich an komplexere Beispiel-Projekte heranwagen, die immer mehr Technologien involvieren.

Als ersten Schritt werde ich mich wohl in Spring und Hibernate einlesen und dann loslegen (bzw. loslegen und dann lesen *g*). Habt ihr evtl. noch ein paar Tipps für mich, welche "Technologien" ich neben Spring und Hibernate noch nutzen könnte, um einen hohen Lerneffekt zu erzielen?
Siehe oben. Warum willst du dir denn gerade Spring und Hibernate beibringen ? (Schon klar, weshalb weils diesen einen Hype gibt und alle Stellenanzeigen danach schreien (zu Recht ;-). Trotzdem ist es IMHO wichtig sich erstmal mit den Technologien auseinander zu setzen, die Spring (J2EE Allgemein / Komponentisierung, Programmierung gegen Interfaces) und Hibernate (JDBC) vereinfachen wollen um wirklich die Vorzüge der genannten Frameworks zu verstehen.

Weiterhin solltest du dir mehrere IDE's anschauen und die richtige für dich entdecken...

Gruß Tom
 
Hallo,

Warum JSF? In dem Java Bereich gibts mittlerweile eine ganze Reihe von Webframeworks:
http://java-source.net/open-source/web-frameworks

...

Siehe oben. Warum willst du dir denn gerade Spring und Hibernate beibringen ? (Schon klar, weshalb weils diesen einen Hype gibt und alle Stellenanzeigen danach schreien (zu Recht ;-). Trotzdem ist es IMHO wichtig sich erstmal mit den Technologien auseinander zu setzen, die Spring (J2EE Allgemein / Komponentisierung, Programmierung gegen Interfaces) und Hibernate (JDBC) vereinfachen wollen um wirklich die Vorzüge der genannten Frameworks zu verstehen.
JSF wollte ich nutzen, da ich damit zuletzt gearbeitet habe und es mir in Verbindung mit Exadel ziemlich gut gefallen hat. Genau wegen dem Hype bzw., da ich "eh" wieder einsteigen wollte, hab ich mir gedacht, dass ich mich auch in Spring und Hibernate einlese, damit ich weiss was ich damit anfangen kann. Aber da hab ich aus Übereifer wohl den 2. Schritt vor dem 1. Schritt machen wollen (=erstmal die Basics verstehen/anwenden).


IMHO ist es besser wenn man sich erstmal mit den einzelnen Technologien im J(2)EE Space vertraut macht. Sprich kauf dir ein Einführungsbuch zum Thema J(2)EE und lern die einzelnen Technologien kennen (JSP,Servlets, JAXB, EJB (2.0/3.0),JMS, JTA, JTS, JNDI, JAXB, JAX-WS / JAX-RPC,...)
Diese setzen natürlich auch fundiertes Java Know-How (gute Kenntnisse der Java Programmiersprache, des JSE API's, XML, JAXP, JDBC, RMI etc.) voraus.

Es gibt natürlich sehr viele Möglichkeiten sich dieses Wissen anzueigenen. Eine Möglichkeit (die ich bevorzuge) ist zu jedem Thema erstmal 2-3 Mini Beispiele durchzuspielen, die gerade so viel Funktionalität enthalten um die Technologien ausprobieren zu können. Hat man sich somit mal einen gewissen Grundstock angelesen / angeeignet so kann man sich an komplexere Beispiel-Projekte heranwagen, die immer mehr Technologien involvieren.

Gruß Tom

Gute Kenntnisse in Java, JSE APIs, Servlets, JSP und XML sind vorhanden, andere Teile eingerostet oder nachholbedürftig. Jedenfalls werde ich mir deinen Rat zu Herzen nehmen und mir ein "altmodisches" Buch kaufen oder mir die Infos im Netz zusammen suchen.

Gruß
Alex


Edit zum Thema Technologien verstehen, die Spring und Hibernate vereinfachen wollen. (1. Quote von mir) :

Ich habe das so verstanden, dass Spring EJBs ersetzen will, da man mit EJBs wohl mehr workaround programmiert und massig overhead hat als alles andere. Sollte ich mir dann wirklich EJBs antun, um die Arbeitserleichterung die Spring hervorbringt schätzen zu lernen? :)

Und Hibernate mapped doch Datensätze eines relationalen Datenbankmodells so, dass ich es wie eine OO-DB benutzen kann? Da ich während des Studiums mir POET antun durfte, müsste der Sinn hinter Hibernate mir klar sein. Oder hat Hibernate noch andere Vorzüge?
 
Zuletzt bearbeitet:
Ich habe das so verstanden, dass Spring EJBs ersetzen will, da man mit EJBs wohl mehr workaround programmiert und massig overhead hat als alles andere. Sollte ich mir dann wirklich EJBs antun, um die Arbeitserleichterung die Spring hervorbringt schätzen zu lernen?
Ich habe gleich über EJB gedacht wie du, vor allem weil man mit EJB 2 sich auch beim Unit testen "schwer" tut. Meiner Meinung nach solltest du dich auf jeden Fall mit EJB 3 befassen; da hat sich einiges getan ;)

Und Hibernate mapped doch Datensätze eines relationalen Datenbankmodells so, dass ich es wie eine OO-DB benutzen kann? Da ich während des Studiums mir POET antun durfte, müsste der Sinn hinter Hibernate mir klar sein. Oder hat Hibernate noch andere Vorzüge?
In meinen Augen ist der Hauptvorteil von Hibernate der, dass man sich nicht mehr um die Eigenheiten von Datenbanken kümmern muss, sonder Datenbank unabhängig entwickelt (zumindest im Source). Klar muss man Konfigurationen spezifisch für eine Datenbank machen, jedoch muss man nichts mehr am Source ändern, wenn man die ganze Datenbank austauschen möchte.
Das Mapping von POJOs zu Datensätzen ist natürlich auch noch ein großer Vorteil, den du jedoch eh schon erkannt hast.

Hoffe dies hilft dir ein bisschen

lg
 
Hallo,

Ich habe das so verstanden, dass Spring EJBs ersetzen will, da man mit EJBs wohl mehr workaround programmiert und massig overhead hat als alles andere. Sollte ich mir dann wirklich EJBs antun, um die Arbeitserleichterung die Spring hervorbringt schätzen zu lernen?
Ich meinte damit dass du dir zumindest mal anschauen solltest wie man's früher gemacht hat, warum das so umständlich war und wie man's "heute"
besser machen will.

Und Hibernate mapped doch Datensätze eines relationalen Datenbankmodells so, dass ich es wie eine OO-DB benutzen kann? Da ich während des Studiums mir POET antun durfte, müsste der Sinn hinter Hibernate mir klar sein. Oder hat Hibernate noch andere Vorzüge?
Hibernate ist als OR-Mapper IMHO (wenn überhaupt) nur entfernt mit einer OODB( wie db4o oder POET) zu vergleichen.
Eigentlich ist Hibernate gar keine Objekt Orientierte Datenbank da die Daten nicht direkt in einem eigenen "Datastore" gespeichert werden.
Statt dessen wirkt Hibernate als eine Zwischenschicht zwischen der "Objektwelt" und der Datenbankwelt welche das transparente Laden und Speichern von Objekten / Objektgraphen unterstützt.

Weiterhin ist das direkte Mapping zwischen Pojo und einer Datenbank Zeile nur eine vereinfachte Darstellung. Man kann nämlich mit
Hibernate eine Entität auch aus mehreren Zeilen unterschiedlicher Tabellen zusammensetzen (Component Mapping).

Gruß Tom
 

Neue Beiträge

Zurück