Client - DB-Server Struktur

marvin00

Mitglied
Hallo zusammen :)

bin auf der Suche nach einem Tip oder Verbesserungsvorschlag. Einen direkten Fehler habe ich nicht.

Meine Situation:
Ich habe 2 JAVA SE Desktop-Anwendungen erstellt die einen MSSQL Server benutzen. Programm A hat 50 Clients und Programm B hat 80 Clients.
Für die DB Verbindung habe ich mir eine Klasse geschrieben, die prüft ob der Server erreichbar ist und die Verbindung über den JDBC für MSSQL Server 2000 aufbaut und Methoden für die Datenabfrage und -manipulation bereit hält. Die Klasse baut direkt die Verbindung mit dem MSSQL Server auf, d.h. der JDBC liegt auf jedem Client vor. Alles läuft im LAN.

Das funktioniert so eigentlich ganz gut, aber bin etwas verunsichert ob es nicht besser/schneller geht.
Also, Programm A benötigt nur beim starten eine Verbindung und führt nur 5 Abfragen aus. Dazu wird die Verbindung aufgebaut, und nachdem alles fertig ist auch wieder geschlossen mit [c]connection.close();[/c]. Aber, wenn ich mir die Prozesse auf dem MSSQL Server anschaue sind dort pro Client 3 Prozesse mit dem Status "AWAITING COMMAND". Diese Prozesse werden eigentlich nicht benötigt, und werden erst beendet wenn Programm A beendet wird. Ist das so normal?

Programm B benötigt ständig die Verbindung und so sind immer so 500 Prozesse auf dem MSSQL Server. Das Programm B läuft noch nicht auf allen Clients, und desto mehr Clients das Programm bekommen, desto mehr Fehler bekomem ich. Nicht regelmäßig aber leider häufiger (2mal pro Woche bei mind. 1 Client) kommt ein Fehler -Connection reset-, d.h. es konnte kein Socket zum MSSQL Server aufgebaut werden. Beim 2. Versuch funktioniert es dann wieder ohne Probleme.

Meine Frage wäre nun, wie macht das ein Profi? Ist die Fehlerquote normal?
Was kann ich besser machen?

Würde mich über Tipps freuen :)
MfG marvin00
 

marvin00

Mitglied
Vielen dank für den Link.

habe mich selbst schon mit Persistence und EJB's versucht zu beschäftigen. Nicht direkt mit Hibernate, aber das würde ich auch nutzen wollen. Aber leider wurden meine beiden Anwendungen mit der Standard Edition erstellt.

Natürlich habe ich bereits versucht im Bereich Java EE das ganze umzusetzen, bzw. bevor ich meine Anwendungen umschreibe das zu testen. Leider ohne Erfolg, jegliche Tutorials, Anleitungen und Hilfe, die ich gefunden habe, beziehen sich auf Web-Anwendungen, JSP und JSF. Und nebenbei wird erwähnt, dass über den Application Server auch Swing Anwendungen versorgt werden können. Kann der Glassfish Server auch als Application Server genutzt werden? Auf der Wiki Seite von Glassfish habe ich gelesen, dass der als Webserver für die Webanwendungen dient.

Dachte es gibt eventuell etwas für die SE Welt.
 

marvin00

Mitglied
Das hatte ich auch schon gelesen, aber immer nur in zusammenhang mit Java EE Anwendungen.

Hatte in einem SE Projekt mal versucht das ganze zum laufen zu bekommen und hab die javax.ejb.jar und javax.persistence.jar als Library hinzugefügt, aber es kamen nur Fehler. Dachte es ging daher nur mit EE Anwendungen.
Gerade nochmal probiert und gemerkt, dass ich einfach nur die PU beim 1. versuch vergessen hatte dem Manager bekannt zu geben, es läuft :D... was für ein Erfolg!
 

TheDarkRose

Gesperrter Benutzer
Also bei solchen Anwendunge würde ich auf das 3-Tier Prinzip umstellen. Auf einen Server läuft ein Java EE Application Server. Für diesen programmierst du die EJB mit deiner Businesslogik und auch hier wird die DB Verbindung aufgebaut. Das bringt einerseits den Vorteil, es lässt sich Connection Pooling verwenden, und du brauchst auch nur für den Application Server die Datenbankverbindung aufbauen. D.h. im Client kommt kein einziger Code mehr vor, der mit der Datenbank zu tun hat. Im Client kannst du dann per JNDI (in Glassfish durch CORBA/IIOP, in JBoss durch RMI) deine EJB's über Remote aufrufen.

Hier ein gutes Tutorial. Da wird zwar auch schlussendlich ein Servlet aufgebaut, aber wenn du dir da das Testprojekt anschaust, baut es auch per JNDI und InitialContext.lookup() die Verbindung zum Server auf. Diesen Part kannst du dann in deinem Projekt weiterverfolgen.
An Eclipse / GlassFish / Java EE 6 Tutorial » Programming
 

F.S.WhiTeY

Bekanntes Mitglied
Mit dem 3-Tier Prinzip habe ich noch nicht gearbeitet aber ich kenne die Vorteile. Wie mein vorredner gesagt hatt, ist Connection Pooling was performance angeht mit unter das effizienteste.

Also auch eine Möglichkeit. Nur kann zumindest ich da keine Hilfestellung geben. Naja, wir sind hier ja Gott seis gedankt nich alleine :D
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
D Verbesserungsvorschläge zur Struktur einer Client Server Desktop Chat App Java Basics - Anfänger-Themen 24
K Warum wird mir auf der Konsole des Servers nicht "xxxx" angezeigt (Server/Client) Java Basics - Anfänger-Themen 4
K Verständnis Problem bei Server/Client Java Basics - Anfänger-Themen 2
K Warum wird mir "Empfangen vom Client:" nicht sofort ausgegeben(Server/Client) Java Basics - Anfänger-Themen 3
K Verständnisproblem bei Server/Client Java Basics - Anfänger-Themen 3
A Server - Client Nachrichtenaustausch über Eventbus Java Basics - Anfänger-Themen 12
D Unerwartetes Verhalten bei Client Server Chat App Java Basics - Anfänger-Themen 12
D Welche GUI Library für eine Client Server Chat App Java Basics - Anfänger-Themen 14
K Verständnisfrage Server/Client BufferedReader, PrintWriter Java Basics - Anfänger-Themen 2
A Client-Server Kommunikation Java Basics - Anfänger-Themen 3
S Server - für jeden Client ein Serverthread Java Basics - Anfänger-Themen 2
L Erste Schritte Erste Versuche mit Server und Client Java Basics - Anfänger-Themen 7
elischa Client-Server IO und Stream Steuerung ? Java Basics - Anfänger-Themen 2
I Print Client -> Server -> Client? Java Basics - Anfänger-Themen 1
I lokales Programm mit Client/Server Programm kommunizieren Java Basics - Anfänger-Themen 3
J TCP MultiThreaded Server und Client - irgendwo ist der Fehler, aber ich find ihn nicht Java Basics - Anfänger-Themen 3
K Java Client > Python Server Java Basics - Anfänger-Themen 0
S Java - Client/Server mit Stomp kurze Frage Java Basics - Anfänger-Themen 0
E Client Server Java Basics - Anfänger-Themen 12
H Einfache Client/Server-Kommunikation Java Basics - Anfänger-Themen 16
O Server Client Problem Java Basics - Anfänger-Themen 2
H Java Server/Client, HTML Seite anzeigen Java Basics - Anfänger-Themen 2
L Server pingt Client und fordert Info Java Basics - Anfänger-Themen 2
R Server/Client für Spiel Java Basics - Anfänger-Themen 2
X Applet - Client/Server Java Basics - Anfänger-Themen 2
L Bild versenden über Client/Server Java Basics - Anfänger-Themen 10
S Klassen Server und Client Java Basics - Anfänger-Themen 3
U Probleme mit Server-Client implementierung Java Basics - Anfänger-Themen 5
G Server-Client Kommunikation Java Basics - Anfänger-Themen 3
Z Tomcat Server Kommunikation zu Client Applet Java Basics - Anfänger-Themen 5
B Server-Client mit Thread ausstatten Java Basics - Anfänger-Themen 3
D Client-Server Problem Java Basics - Anfänger-Themen 2
J Netzwerkrprogammierung Client - Server Java Basics - Anfänger-Themen 3
J Netzwerkprogrammierung Client/Server Java Basics - Anfänger-Themen 16
G ArrayListe vom Server nach Client schicken Java Basics - Anfänger-Themen 17
G JMS -> Wie Anmeldung vom Client an Server? Java Basics - Anfänger-Themen 4
I Server / Client Programm wie einen String übergeben? Java Basics - Anfänger-Themen 6
B Client - Server Verbindung über sockets mysql DB ansprechen? Java Basics - Anfänger-Themen 6
G Java Server Client Programmierung Java Basics - Anfänger-Themen 3
B Bild/Datei von einem Server an einen Client senden Java Basics - Anfänger-Themen 6
D Server/Client Java Basics - Anfänger-Themen 8
H Server Client, es kommt nichts an. Java Basics - Anfänger-Themen 5
G [Hilfe] Fileupload: Client-Server Java Basics - Anfänger-Themen 9
S Server/Client Verbindung Java Basics - Anfänger-Themen 2
G Dateidownload Client-Server (jsp) Java Basics - Anfänger-Themen 4
G Zugriff vom 'Server auf Client' Java Basics - Anfänger-Themen 4
S Client-Server Java Basics - Anfänger-Themen 18
X client soll bat auf server ansprechen Java Basics - Anfänger-Themen 7
C client/server programm fehler ! Java Basics - Anfänger-Themen 20
C string über server/client verbindung senden ? Java Basics - Anfänger-Themen 4
K [servcer/Client] Suche Server /Client Tutorial. Java Basics - Anfänger-Themen 2
berserkerdq2 Sende eine Nachricht an den Client und leere den Ausgabestorm, was ist damit genau gemeint? Java Basics - Anfänger-Themen 3
S Java Client-je nach Heap Size Größe startet Applikation oder nicht Java Basics - Anfänger-Themen 4
I Client ObjectInputStream error... Java Basics - Anfänger-Themen 5
W Client verbindet sich nicht Java Basics - Anfänger-Themen 14
B Email Client in der eigenen Software einbauen Java Basics - Anfänger-Themen 3
E SocketServer/Client stürzt ab. Address already in use. Java Basics - Anfänger-Themen 2
I Wann ist Client plattformunabhängig? Java Basics - Anfänger-Themen 22
E MCLauncher eigener Client workt nicht? Java Basics - Anfänger-Themen 4
I Unique client information in WebApp Java Basics - Anfänger-Themen 3
Joew0815 Error org.apache.xmlrpc.client.XmlRpcClientConfigImpl.setUserAgent Java Basics - Anfänger-Themen 2
N Was bedeutet "Implementierung vor dem Client verbergen" bei Design Patterns? Java Basics - Anfänger-Themen 2
O Verriegeln, aber wo? Finde den Client der zu schließem ist. Java Basics - Anfänger-Themen 0
T Buffererwriter keine Exception obwohl Client weg Java Basics - Anfänger-Themen 2
N Client soll mehrere Antworten von Servern gleichzeitig empfangen Java Basics - Anfänger-Themen 8
T Client-Fenster bei Aufruf unvollständig Java Basics - Anfänger-Themen 12
E Senden von Objects an Client. Variablenwerte kommen nicht an Java Basics - Anfänger-Themen 5
E Client hilfe!!! Java Basics - Anfänger-Themen 7
B RMI - Fehlermeldung auf dem Client Java Basics - Anfänger-Themen 6
E Client ergibt NULL? Java Basics - Anfänger-Themen 24
E Socket (Client) dauerhaft aktiv? Java Basics - Anfänger-Themen 9
E HTTP Client - Login durchführen? Java Basics - Anfänger-Themen 4
L Ip-Adresse für Client Java Basics - Anfänger-Themen 14
L Wegwerf Client Java Basics - Anfänger-Themen 26
L Client aktualisieren Java Basics - Anfänger-Themen 6
J DNS-Client Java Basics - Anfänger-Themen 2
J Simpler DNS Client Java Basics - Anfänger-Themen 20
M Flexiblen Client programmieren Java Basics - Anfänger-Themen 2
S Webservice: Dateien downloaden vom Webserver auf den Client Java Basics - Anfänger-Themen 7
G Ausg. in JSP erzeugen die als Antwort an Client gesch. wird Java Basics - Anfänger-Themen 2
K Client-Liste im Chat Java Basics - Anfänger-Themen 2
A Problem mit Ausgabe einer Liste über einen Client Java Basics - Anfänger-Themen 5
rambozola zugriff auf client bei j2ee anwendung Java Basics - Anfänger-Themen 10
G Mail Client öffnen Java Basics - Anfänger-Themen 9
T Datei über UDP verschicken . Speicherprobleme am Client Java Basics - Anfänger-Themen 4
R client-applikation? Java Basics - Anfänger-Themen 5
S smtp-Client programmieren Java Basics - Anfänger-Themen 9
F Wie kommen die Applets zum Client? Java Basics - Anfänger-Themen 7
T Client-Authentifizierung Java Basics - Anfänger-Themen 6
G http client Java Basics - Anfänger-Themen 4
FireHorses Benutzernamen aus PrivateChannel(Interaction) auf Server bringen Java Basics - Anfänger-Themen 0
HolyFUT Best Practice Architektur WebSocket Server Java Basics - Anfänger-Themen 1
S Server Java Basics - Anfänger-Themen 4
S Server Java Basics - Anfänger-Themen 3
M CS GO Server mit Java steuern Java Basics - Anfänger-Themen 3
C Was ist nötig für ein Java-Programm auf Server für Website Java Basics - Anfänger-Themen 18
B DHCP-Server Adresse ermitteln Java Basics - Anfänger-Themen 4
F Mehrere Server Sockets in einer Anwendung Java Basics - Anfänger-Themen 9
R Antwort vom Server an mehreren Clients senden Java Basics - Anfänger-Themen 3
W Netwerkprogrammierung und Http Server Java Basics - Anfänger-Themen 10

Ähnliche Java Themen

Neue Themen


Oben