# Java EE in Netbeans + allgemeine Fragen



## ocean.driver (8. Nov 2012)

Hallo Zusammen,

Ich bin zur Zeit daran meine erste Java EE Anwendung zu entwickeln. Dazu benutzte ich Netbeans.

Das ganze soll ein Prozess-System werden um einige Prozesse innerhalb einer Firma zu zentralisieren / standardisieren und die Kontrollmöglichkeiten zu erhöhen.

Dazu habe ich bereits alle nötigen Datenstrukturen modelliert und in eine Postgresql-DB eingefügt. 
Auf Basis dieser Tabellen habe ich in Netbeans "Entity Classes from Database" generiert. 

Zwischen den Tabellen bestehen verschiedene Beziehungen, welche auch alle mit foreign Keys modelliert wurden.

Das zugehörige Frontend soll über das Web erreichbar sein. 


Nun zu den Fragen:

 - Soll ich für das Frontend am besten JSF nehmen, oder gibts hier bessere alternativen?
 - Wenn ich das ganze nach dem MVC-Pattern umsetze, sind dann die Enitity Beans (Entity Classes) das Modell? Das Frontend ist ja logischerweise die View - aber was ist dann der Controller?


 - Ist es mit Java EE einfach sicherzustellen, dass wenn mehrere Benutzer an einem Datensatz arbeiten, solche Inkosiztenzen aufzulösen?


 - Als ich das Projekt erstellt habe, wurden 3 "Projekte" erstellt: pmsserver, pmsserver-ejb und pmsserver-war. Wie teile ich die einzelnen Klassen auf? Bleiben nur die entity beans im pmsserver-ejb, und der Rest kommt in den normalen "pmsserver"?

- Kann man eventuell Formulare automatisch generieren? 
So, das beispielsweise entsprechende Felder als Textfelder erscheinen, foreign Keys als Comboboxen, etc..
Gibt es ferner einige "best Practices" die man sich ansehen kann?



Danke und viele Grüße!
Daniel


----------



## maki (8. Nov 2012)

> - Soll ich für das Frontend am besten JSF nehmen, oder gibts hier bessere alternativen?


Alternativen git es viele, manche meinen zuviele... Wicket, GWT, usw.



> - Wenn ich das ganze nach dem MVC-Pattern umsetze, sind dann die Enitity Beans (Entity Classes) das Modell? Das Frontend ist ja logischerweise die View - aber was ist dann der Controller?


JSF arbeitet nach MVP IMHO, aber all das ist immer sehr abhängig von der konkreten JSF Implementierung, und auch da es es ein paar.

Diesen und viele anderen Detailfragen solltest du angehen wenn du dich mal für eine GUI Technologie entschieden hast, ist immer ein bisschen anders, manchmal auch sehr.



> - Ist es mit Java EE einfach sicherzustellen, dass wenn mehrere Benutzer an einem Datensatz arbeiten, solche Inkosiztenzen aufzulösen?


Ja.
Aber nicht nur mit Java, hat viel mehr mit der DB zu tun als mit der eigentlichen Programmiersprache.


----------



## ocean.driver (8. Nov 2012)

Mit welcher JSF-Implementation arbeite ich denn, wenn ich Netbeans wähle? Dort habe ich nicht wirklich eine auswahl gesehen (übersehen vieleicht?)

Bezüglich der Kollisionskontrolle: Mir war nur nicht klar, ob Java EE diese Konfiguration auch ansprechen kann.


----------



## maki (8. Nov 2012)

Bin selber lange nicht mehr mit JSF in Berührung gekommen, kann dir wohl nicht jedes Detail beantworten.



> Mit welcher JSF-Implementation arbeite ich denn, wenn ich Netbeans wähle? Dort habe ich nicht wirklich eine auswahl gesehen (übersehen vieleicht?)


Denke dass da die Referenzimplementierung verwendet wird... aber auch da musst du eine Entscheidung treffen und dir eine aussuchen, dass kann dir eine IDE nicht abnehmen 

JSF 2.0 Support in NetBeans IDE



> Bezüglich der Kollisionskontrolle: Mir war nur nicht klar, ob Java EE diese Konfiguration auch ansprechen kann.


Grundlegen Dinge wie ACID, pessemistic/optimistic locking etc. pp. werden von JEE unterstützt, natürlich nur soweit die DB das mitmacht.
JEE bietet u.a. zB auch Unterstützung für verteilte Transaktionen..


----------



## ocean.driver (8. Nov 2012)

Hallo maki,

Leider kann ich in dem Artikel nicht wirklich finden, wo aufgezeigt wird wie man verschiedene JSF-Versionen in NB auswählen kann. 

Weiß jemand trotzdem etwas über automatische Formular-Generierung?


----------



## chrisbad (26. Nov 2012)

ocean.driver hat gesagt.:


> Hallo maki,
> 
> Leider kann ich in dem Artikel nicht wirklich finden, wo aufgezeigt wird wie man verschiedene JSF-Versionen in NB auswählen kann.
> 
> Weiß jemand trotzdem etwas über automatische Formular-Generierung?



Howdy,

in Netbeans geschieht das beim Erstellen eines neuen Projekts in den Einstellungen.
Über Projekt -> Eigenschaften ist das eventuell auch möglich, bin ich mir aber nicht sicher da ich mich immer auf die Enthaltene verlasse.

JSF ist Teil von JEE6 insofern habe ich mich zumindest dafür entschieden. JSF + Primefaces ist eine schlagkräftige Kombination.

Dein Projekt wurde in verschiedene Teile aufgeteilt weil du eine Enterprise-App erstellt hast. Für den Anfang tut es meistens eine simple WebApp.

Was meinst du genau mit "automatischer-Formular-Generierung"? Das automatische Erzeugen der "Verbindung" zwischen HTML-Formular und dem JavaCode? Falls ja, geht das nicht automatisch, allerdings kannst du in deinen XHTMLs per ExpressionLanguage auf Eigenschaften einer @ManagedBean oder @Named - Bean zugreifen. Meinst du das?

LG Chris


----------

