fertiges Javaprogramm mit JSF realisieren

Tr3x

Lieutenant
Registriert
Feb. 2007
Beiträge
638
Hallo Zusammen,

ich habe hier eine Frage. Ich hab hier jetzt mehrere kleinere XY-Verwaltungsprogramme wie zum Beispiel eine Weinverwaltung geschrieben. Mit allem pi pa po sprich wie eine DB und zusätzliche Funktionen. Jetzt dachte ich mir, wie genial wäre es, die Software auch online zu verwenden. Jetzt kommt für mich eine Javaapplet Anwendung nicht so wirklich in den Sinn. Jedoch finde ich das JSF recht interessant. Bevor ich mich jetzt an sowas mache wollte ich gerne grundlegende Fragen stellen:

Wie zum Beispiel: Lässt sich nachträglich JSF so einfach implementieren?
Da mein Programm größtenteils fertig ist würde ich gerne den Code für die eigentliche Anwendung und JSF trennen. Ist das so gedacht?

Was ich so bisher gelesen habe, gibt mir den Eindruck das man JSF schon von Anfang an mit realisieren sollte. Was ich jetzt nicht unbedingt so gut finde. Würde gern Schritt für Schritt was machen.

Eine Frage noch am Rande. Wenn ich meine Anwendungen mit JSF erweitert habe, benötige ich vermutlich auch einen Server, ist dieser mit JSF mit drin?
 
Ich würde mit Hilfe von Spring ein paar REST-Schnittstellen basteln, mit denen man deine existierende Logik nutzen kann. Im Frontend kommunizierst du dann per JS (mit einem Framework deiner Wahl, ich mag Angular, aber reines jQuery tut es auch) mit diesen Schnittstellen und stellst dar, was nötig ist.

Das Spring-Beispiel kommt mit SpringBoot und hat einen Server im Bauch. Am Ende fällt ein JAR raus, was du ausführen kannst.

Du kannst im Prinzip das Beispiel da so wie es ist nehmen und deine Logik dazu kopieren.
 
Also deine GUI müsstest du schon komplett neu implementieren. Von deiner Logik und Datenbankabfragen, Persistierung kannst du wahrscheinlich einiges übernehmen.
Generell würde ich mir JSF mal anschauen, ich finde man kommt sehr schnell rein und die Lernkurve geht steil nach oben. Insbesondere mit dem Framework Primefaces (+Omnifaces) funktioniert schon sehr viel "out of the Box", ohne dass man das Rad neu erfinden muss. Für Primefaces gibt es außerdem ein mobile Version. Alles, was die Frameworks nicht bieten, kannst du per JS "nachrüsten" (was aber zeitaufwendig ist).

Einen Server brauchst du zwingend, zum Entwickeln kannst du diesen aber natürlich lokal ausführen.
Bei den Servern hast du eine breite Auswahl.. würde Tomcat oder Glassfish nutzen.

Hier mal eine Sammlung von wirklich guten Links für Tutorials und Erklärungen: https://jsf.zeef.com/bauke.scholtz

Generell ist bei JSF darauf zu achten, das man keine Anleitungen / Tutorials von JSF 1.X und 2.X vermischt. Zwischen JSF 1 und 2 gibts es große Unterschiede!

Letzendlich ist es aber schon etwas komplett anderes, als eine Java-Anwendung für den Desktop.
 
Zuletzt bearbeitet:
Hallo,

ich habe mich jetzt ein wenig in JSF allgemein und in primefaces eingelesen. bisher spricht mich das sehr an.
das einzigste was mich einfach stört ist, das ich nicht wirklich ahnung hab womit man startet. soviel ich weiß macht man zuerst den produktivcode und dann die gui. das würde ich auch so gern beibehalten. aber die ganzen tutorials für jsf und co starten direkt mit der gui und nirgends sehe ich das der code vorausgesetzt wird. oder macht man das parallel?

das einzigste was mir in den sinn fallen würde wäre das ich quasi eine start gui erzeuge. und dann erstmal das ganze produktiv system realisiere und dann jsf nach und nach aufrüste der dann die konsolerei übernimmt.

könnte mir das jemand erklären wie da der ablauf ist bzw verraten wo das gut erklärt wird. für mich ist jsf einfach ne gui und sollte meiner meinung zu letzt gemacht werden....hmm
 
Ich gehe immer so vor: Model erstellen --> ManagedBean erstellen --> View erstellen (.xhtml) --> View testen --> Datenbank Zugriffe schreiben

Letztendlich ist es meiner Meinung nach sinnvoll, viel parallel zu machen, da du evtl in Java sonst viel unnötiges Zeug programmierst, was du gar nicht brauchst (viel Logik lässt sich einfach in JSF mit Expression Language umsetzen).

Es kommt natürlich auch stark drauf an was du machen willst und was alles im Hintergrund läuft. So pauschal kann man da keine Vorgehensweise festlegen.
 
ja das hab ich bisher au gemacht wenn ich mit swing gui gearbeitet habe. ich finde das in kleinem rahmen das so ganz ok. aber wie machen dann ganz große firmen. da muss sich sowas ja aufteilen.
 
Das erstellen der Bean und der JSF Seite muss immer parallel erfolgen, das kannst du nicht aufteilen, da beides immer direkt von einer einander abhängig ist. Es wird dann eben nach Funktion, die entwickelt werden soll, aufgeteilt.

Sinnvoll ist es auf jeden fall ein template File mit Header, Navigation, Footer etc. zu erstellen und dann den Content in einzelne File aufzuteilen. So kann jeder Entwickler eigene Content Seiten erstellen, einer kann eine Navigation bauen und diese verwalten und es gibt nicht so schnell Konflikte. So ist auch das Layout einheitlich.
http://www.mkyong.com/jsf2/jsf-2-templating-with-facelets-example/
 
Zurück
Oben