title image


Smiley Frage an die Netzwerkspezis: Sockets oder Alternative(J2EE?)?
Hallo zusammen,



ich hab mal wieder n Problem und hoffe darauf, dass ihr mir weiterhelfen könnt.



Es liegt ein Projekt an, beim dem sich Clients an einem Server anmelden und darauf warten, vom Server Messages geschickt zu bekommen (der Client überträgt in seltensten Fällen Statusinformationen [beim Start und bei Änderungen des Status], ansonsten empfängt er primär Daten). Jeder Server soll dabei problemlos in der Lage sein, mehrere tausende Clients zu verwalten(nicht alle bekommen zwingend gleichzeitig Messages geschickt, aber es kann auch vorkommen).



Die Clientsoftware soll dabei mit Java geschrieben werden (damit nur ein Programmcode für Windows, Linux, Mac gepflegt werden muss) und soll keine Weboberfläche, sondern eine GUI-Applikation sein (SWT oder Swing). Für den Server wurde bisher ein in C geschriebenes (Linux-)Programm in Betracht gezogen, dass als Daemon unter Linux laufen soll. Die Kommunikation sollte dabei über Sockets erfolgen. Soweit so gut, bis dahin gibts keine Probleme.



Meine Frage ist nun, ob ein Application-Server a la Geronimo, JBoss, Jonas etc. den C-Server ersetzen könnte. Ich hatte dabei daran gedacht, evtl anstatt einer Socketkommunikation EJBs, einen WebService oder RMI einzusetzen.



Dabei stellen sich mir dann aber ein paar Fragen:



1) Ist ein Application-Server für das o. g. Vorhaben bei Clientmengen von ~25000 prinzipiell geeignet (Performance und Speicherbedarf) oder sollte man beim C-Server mit Socketkommunikation bleiben?



2) Wenn ich z. B. einen WebService oder EJBs einsetze, muss ja vom Client aus ein Aufruf dieser Dienste erfolgen. Wie sage ich dem Client am besten, dass ein Messagepaket für ihn bereit liegt und er z. B. eine EJB aufrufen soll? Würdet ihr den Client pingen und diesen daraufhin so einen Dienst aufrufen lassen?



3) Habt ihr eine andere/bessere/performantere Idee, das ganze umzusetzen?



Zum Verständnis: ich habe kein Problem mit Socketkommunikation, will aber erstmal prüfen, ob es evtl. möglich ist, das gesamte Projekt in einer einzigen Programmiersprache (in diesem Fall Java) zu realisieren und falls das in einem akzeptablen Rahmen möglich ist, welche Vorgehensweise bei der Kommunikation eurer Meinung nach die Beste wäre.



Sodele, ich hoffe das war verständlich erklärt. Ansonsten steh ich für Rückfragen natürlich parat ;)



Schonmal vielen Dank für eure Hilfe



mfg

FKH









geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: