Konzeptfrage: Applicationserver, oder nicht?

MarkusM

Aktives Mitglied
Hallo zusammen,

ich hoffe ich habe hier die richtige Stelle des Forums gefunden um meine Frage zu platzieren.

Mein mittel- bis langfristiges Ziel ist es, eine Client-Server-Anwendung mit Datenbankanbindung zu schrieben, auf die bis zu 30 Personen aus dem lokalen Netzwerk zugreifen sollen. Wenn man so möchte, soll es eine Art CRM-System werden. Für mich ist das ein Riesenprojekt und ich bin mir durchaus bewußt, dass ich noch viel Zeit investieren muss, um mein Ziel zu erreichen - was auch kein Problem darstellt.

Was mich zur Zeit umtreibt, ist das technische Konzept um zum Ziel zu kommen. Was ich auf jeden Fall möchte, ist die Aufteilung nach Client-Server-Datenbank-Prinzip. Die Frage ist nur, welcher Mittel bediene ich mich da am sinnvollsten?

a) Verbindung des Client zum Server mit RMI bzw. SIMON? Kommunikation des Servers mit Hibernate zur Datenbank?

b) Einsatz eines Applicationservers? Wenn ich es richtig verstanden habe würde z.B. bei der Benutzung von JBoss die komplette Kommunikationsgeschichte (Client-Server) programmiertechnisch wegfallen, oder? Auch die Kommunikation mit der Datenbank wird durch die implementierten Funktionen des Applicationservers abgebildet, oder arbeitet der auch mit Hibernate?

Es sind natürlich alles sehr komplexe Themen, die viel Zeit zur Einarbeitung erfordern, das ist mir klar. Mir fehlt jedoch soetwas wie der "rote Faden", mit welchen Mitteln eine solche Anwendung realsiert werden sollte/könnte. Daher würden mir konkrete Empfehlungen von erfahrenen Programmierern helfen.

Ich freue mich wirklich über jede Anregung.

Viele Grüße

Markus
 

Ullenboom

Bekanntes Mitglied
Mit Java EE bohrt man gleich richtig große Löcher. Wie greifen die Nutzen denn auf die Dienste zu? Mit einer Web-Anwendung? Oder etwa mit Swing/SWT/JavaFX und Rich-Clients? Das würde das Design schon etwas beeinflussen.

Im Prinzip hat man bei Java EE-Apps eine RMI/REST/SOAP-Fassade, dahinter die EJB-Services für die Business-Logik. Die Services können mit JPA auf die DB zugreifen. Hibernate "sieht" man (im Idealfall?) nicht, das ist "nur" ein JPA-Provider. Im Fall von GlassFish wäre es auch Eclipse Link, die Referenz-Implementierung für JPA 2.x. JBoss nutzt Hibernate als PJA-Provider, ja, aber durch die JPA-API ist das (im Idealfall) egal.
 

MarkusM

Aktives Mitglied
Die Clients würde ich mit JavaFX realsieren.

Ich bin halt hin und her gerissen. Der einfachste Weg wäre wahrscheinlich alles in den Client zu packen. Allerdings sind dann dort auch die ganzen Benutzerdaten inkl. Datenbankzugriff enthalten. Das finde ich nicht so wirklich toll.

Andererseits möchte ich nicht direkt damit anfangen "richtig größe Löcher" mit JavaEE zu bohren. Im Zweifel kann ich das eh nicht, da ich für die EE noch sehr viel lernen muss. Mir ist allerdings klar, dass ich so oder so noch viel Zeit da rein investieren muss, was für mich auch ok ist (Zeitdruck gibt es zum Glück keinen - es ist eher so ein Projekt für mich :oops:).

Wie würdest Du (und natürlich auch andere) Dich denn da rantasten? Was macht Sinn für ein solches Projekt zu lernen und in welcher Reihenfolge? Java, Java, Java ist klar. Nur dann?

Es ist mir auch bewußt, dass es kein allgemeingültiges "Konzept" gibt, aber vielleicht kann mir einer mal nur ganz, ganz grob skizzieren mit welchen Mitteln er das genannte Projekt angehen würde.

Viele Grüße

Markus
 

Ullenboom

Bekanntes Mitglied
Ich denke, man kann in unterschiedlichen Iterationen an das Problem drangehen. Als erstes ist ein Fat-Client denkbar. Intern sollte die Realisierung schon so sein, dass View vom Backend klar getrennt sind, dann lässt sich das später einfacher aufspalten.

Idee:

  1. Schreibe Services, die deine Business-Logik abbilden und DB-Operationen über Hibernate realisieren. Mit javax.inject zu arbeiten (Guice oder Spring) wäre gut.
  2. Habe in paar Testfälle, die dir "beweisen", dass die Services auch ohne Gui gut funktionieren.
  3. Schreibe für die Gui-Schicht Fassaden und greife dann per JavaFX -- oder was du für die View-Schicht nehmen möchtest -- auf die Services zu. Hier gibt es auch noch sehr viel zu machen, etwa MVP-Aufspaltung, aber das ist Design auf der View-Schicht. Ist noch mal 'ne andere Nummer.
 

MarkusM

Aktives Mitglied
Vielen lieben Dank! Dann höre ich mal auf Deinen Rat und fange mit einem Fat-Client an. Wenn ich hier auf eine saubere interne Trennung der View vom Backend achte, kann ich später versuchen die Sache zu trennen.

Hibernate und Dependency Incection werde ich mir jetzt erstmal genauer anschauen und versuchen die BL und DB-Geschichte sauber aufzusetzen. Dann habe ich zumindest erstmal einen Anfang, weiter Probleme kommen bestimmt von ganz alleine ;)

Mit JavaFX habe ich ein sehr gutes Gefühl für die GUI, aber das ist erst der letzte Schritt. Aus meiner Sicht zwingt es einem das MVC-Konzept geradezu auf.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
U Groovy Scripts im ApplicationServer absichern Allgemeines EE 5
K Daten aus ApplicationServer auf Website darstellen Allgemeines EE 5
O ApplicationServer vs. Tomcat Allgemeines EE 5
L Webanwendung oder Applicationserver Allgemeines EE 10
F Timer in einem Applicationserver laufen lassen? Allgemeines EE 4
V Unterschied zwischen Applicationserver und Servletcontainer Allgemeines EE 4
M Probleme beim Webservice Deployment(Sun ApplicationServer) Allgemeines EE 2
thor_norsk Glassfish Server unter Windows startet nicht! Allgemeines EE 20
pkm Root resource - Klassen werden nicht gefunden. Allgemeines EE 2
M doGet()-Methode wird nicht geladen Allgemeines EE 3
Dimax Servlet läuft in Eclipse, aber nicht im Browser Allgemeines EE 74
J Ich kann Java JDK nicht downloaden Allgemeines EE 6
G Unit Test einer JavaEE Anwendung schlägt fehl. JNDI Name nicht gefunden. Allgemeines EE 3
C Servlet Tomcat/Jersey findet REST-Service nicht Allgemeines EE 3
I XML mit JAXB und Annotations aufbauen klappt nicht wie gewollt Allgemeines EE 5
B Datenbank Resource wird nicht gefunden Allgemeines EE 1
M JSF Binding greift nicht Allgemeines EE 0
OnDemand JSF Stacktrace wird nicht korrekt ausgegeben Allgemeines EE 1
D Remote Aufruf von EJB funktioniert nicht Allgemeines EE 1
D Websocket nach Decoder Annotation nicht mehr erreichbar Allgemeines EE 0
S JEE installation geht nicht? Allgemeines EE 6
D Einfaches Java Projekt funktioniert nicht Allgemeines EE 3
J Mit @Schedule annotierte Methode wird nach einer Weile nicht mehr ausgeführt (JBoss AS 7.2) Allgemeines EE 0
U @Inject funktioniert nicht Allgemeines EE 3
T wie static aber doch nicht ... Allgemeines EE 8
C Double Eingabe Felder sind nicht Leer Allgemeines EE 1
F SessionScoped und Stateful EJB: Werte werden nicht behalten Allgemeines EE 3
L JSF Primefaces breadcrumb - erstes Element funktioniert nicht Allgemeines EE 0
D Jboss löscht Archiv nicht beim Redeployed Allgemeines EE 3
E CDI mit verschiedenen Jars in EAR klappt auf Jboss AS 7.1.1.Final nicht Allgemeines EE 8
M Daten aus der Resource werden nicht übernommen Allgemeines EE 4
R MavenDependencyResolver nicht auflösbar Allgemeines EE 5
D [Glassfish EJB] OneToMany geht nicht Allgemeines EE 7
G JSF Beans nicht angezeigt Allgemeines EE 2
S JSF und CSS: background:url() geht nicht Allgemeines EE 2
S Eclipse: Teilmodule beim Testen werden nicht gestartet Allgemeines EE 2
H Bean läuft unter GlassFish, aber JBoss nicht Allgemeines EE 5
aze Tomcat:Error Pages werden nicht angezeigt Allgemeines EE 4
M JSP Ausgabe funktioniert nicht Allgemeines EE 4
F Webanwendung startet nicht richtig Allgemeines EE 6
J JBoss, Eclipse, Webseite wird nicht angezeigt? Allgemeines EE 4
B Tomcat6/axis1.4 kann nicht auf Dateien zugreifen Allgemeines EE 3
P Displaytag findet getter-Methode(n) nicht! Allgemeines EE 3
N Tomcat funktioniert nach shutdown/startup nicht mehr korrekt Allgemeines EE 9
Y JSF EJB wird nicht injected Allgemeines EE 18
F REST-Service: GET erkennt Veränderungen an der DB nicht. Allgemeines EE 2
T Applet mit XmlRpc läuft lokal nicht vollständig Allgemeines EE 4
S m2eclips + strust2 == geht nicht Allgemeines EE 5
C TransferObjects's in EJB 3 klappt nicht Allgemeines EE 2
P Kriege JAAS einfach nicht zum Laufen Allgemeines EE 3
A Servlet erkennt request Objekt nicht Allgemeines EE 8
A Java Tomcat findet Website nicht Allgemeines EE 8
D JSF-Tags können nicht aufgelöst werden ? Allgemeines EE 2
D Debug Modus im Glassfish 2.1 plötzlich nicht mehr möglich Allgemeines EE 2
J Einige Klassen werden nicht resolved Allgemeines EE 7
P Eclipse Tomcat Plugin funktioniert nicht mit externem TC-Server? Allgemeines EE 4
P Prozess wird nicht beendet Allgemeines EE 4
B HttpSession bekommen wenn nicht in Servlet Allgemeines EE 8
J Dinge, die man nicht tun sollte Allgemeines EE 6
I Klassen werden nicht für Import erkannt eclipse EE Allgemeines EE 2
S In Eclipse werden die "Servlet-Klassen" nicht gefu Allgemeines EE 2
T web-app läuft nicht Allgemeines EE 5
D ArrayList behält Werte nicht Allgemeines EE 2
D musicplayer spielt mit threads nicht mehr ab Allgemeines EE 3
0 myfaces staret nicht Allgemeines EE 1
A Warum werden die Managed Beans nicht erkannt? Allgemeines EE 3
A Tomcat startet nicht, Einstellungsfehler? Allgemeines EE 3
S MyFaces Sandbox: inputSuggest Komponente furnktioniet nicht Allgemeines EE 11
A cascade funzt nicht Allgemeines EE 8
K JSF Test Anwendung ausführen funktioniert nicht Allgemeines EE 7
B Faces Context nicht gefunden Allgemeines EE 4
M JSF Bilder werden wegen jsessionid nicht gefunden (nur IE) Allgemeines EE 6
K Download Dialog startet nicht Allgemeines EE 2
M Servlet lässt sich nicht aufrufen Allgemeines EE 6
D warum ist gwt nicht beliebt ? Allgemeines EE 2
I Tomahawk funktioniert nicht Allgemeines EE 3
A action-Methode wird nicht aufgerufen Allgemeines EE 7
M taglib wird nicht gefunden Allgemeines EE 9
N JSF + Facelets: Datatable wird nicht angezeigt Allgemeines EE 1
G EJB - EJB wird nicht ins Servlet geladen Allgemeines EE 3
M Resourcen werden in JSP nicht gefunden Allgemeines EE 12
S Verdammt, MyFaces Sandbox 'läuft' nicht Allgemeines EE 7
T Ich raff es nicht . NotSerializableException Allgemeines EE 5
M Servlets | work - Klassen nicht im WAR File Allgemeines EE 5
E HTTP-GET// -->Eine URL aufrufen, aber nicht dahin navigie Allgemeines EE 2
P JSF Seite wird nicht gestartet Allgemeines EE 4
J Direktaufruf einer jsp nicht zulassen Allgemeines EE 2
C WAS findet Jars in EAR nicht? Allgemeines EE 2
L Servlet kann Funktion nicht aufrufen Allgemeines EE 3
B Parameterübergane von Servlet an JSP funktioniert nicht ? Allgemeines EE 2
I JSP - Sinnvoll oder nicht? Allgemeines EE 5
S JSF: Bei Navigation Bilder / Styles nicht mehr verfügbar Allgemeines EE 1
F webanwendung läuft nicht auf Tomcat Allgemeines EE 2
S JBoss gibt POI API nicht frei Allgemeines EE 8
B FileInputStream(sPath); file wird nicht gefunden Allgemeines EE 5
F MyFaces und Tiles: <tiles:insert> wird nicht erkannt Allgemeines EE 10
N JSP kann Servlet nicht aufrufen! :-( Allgemeines EE 2
S Löschen einer Entity kaskadiert nicht auf Collection (1:n) Allgemeines EE 2
S kann eigenes object nicht von applet zu servlet senden Allgemeines EE 3
P Relationship stimmt irgendwo nicht Allgemeines EE 2

Ähnliche Java Themen

Neue Themen


Oben