# Chatähnliche Architektur mit JEE/JBoss



## miketech (30. Sep 2006)

Hallo zusammen,

Chat ist ein ausgelutschtes Thema, aber es eignet sich hervorragend als Beispiel für folgendes:


Ich möchte gerne, dass sich eine Großzahl von Clients auf einem Server anmelden und Daten austauschen können. Dabei möchte ich zentral meine Business-Logik haben. Dann ein Webinterface, welches auf diese Logik zugreift und ein weiteres Interface, welches sich um die eben genannten Clients kümmert. Das Interface nimmt Anfragen entgegen und greift dann ebenfalls auf die Logik zu.

Daher folgende Fragen:

Kann ich mit JBoss z.B. 1000 parallele TCP Verbindungen offen halten? Müssen es unbedingt HTTP Verbindungen sein, die über den Tomcat kommen? Oder kann ich in JBoss auch z.B. nur irgendwo einen Socket erstellen und ankommende Verbindungen entgegennehmen? Kann Tomcat denn mit 1000 gleichzeitig geöffneten Verbindungen umgehen? 

Und besonders interessant: Angenommen ich habe nun 1000 Clients, die sich bei dem Server angemeldet haben und eine Verbindung offen halten und auf Daten warten. Gleichzeitig wird über das Webinterface etwas ausgelöst, was widerrum dazu führt, dass eine Nachricht an die Clients gesendet werden soll. 

Wie regele ich einen Nachrichtenaustausch zwischen 1000 parallelen Verbindungen in JEE? Ist sowas überhaupt möglich? Oder laufen die Verbindungen getrennt voneinander, bzw. sehe ich diese überhaupt? Oder bietet mir sowas JEE nicht an?

Dabei möchte ich nicht auf Funktionalität wie z.B. EJBs verzichten, da diese meine zentrale Logik darstellen sollen, die über das Webinterface gesteuert wird und dann widerrum eben dazu führt, dass an die aktiven Verbindungen etwas gesendet wird. D.h. es soll schon immer noch JEE sein und nicht ein eigener Server, der sich um alles kümmert. 


Würde mich über ein paar Anregungen freuen.

Gruß

Mike


----------



## KSG9|sebastian (30. Sep 2006)

Was hat das mit J2EE zu tun? Im Endeffekt willst du ne normale Client/Server Architektur. Nur eben dass du den Tomcat als Server benutzen willst. Mit J2EE an sich hat das nichts am hut.
Und das HTTP-Protokoll ist dafür nicht geeignet. Du kannst im Tomcat nen eigenen Dienst laufen lassen der Verbindungen entgegen nimmt. Aber dafür brauchst du keinen Tomcat.


----------



## miketech (30. Sep 2006)

Hi,

naja, aber ich möchte parallel auch noch via Weboberfläche zugreifen. Dahinter soll auch noch eine Datenbank stehen. Um die Transaktionen zu verwalten wollte ich EJBs einsetzen. D.h. ich benötige eine Client-Server Architektur, die auch gleichzeitig EJBs einsetzen kann. 

Und mit Tomcat ist es möglich einen Server aufzustellen, der mir aber alle derzeit verfügbaren Verbindungen transparent darstellt? D.h. dass ich z.B. aus einem bestimmten Prozess heraus Nachrichten an alle Verbindungen senden kann? Die Verbindung soll dann ja nicht getrennt werden.

Ich müsste z.B. einfach einen Zugriff auf alle derzeit aktiven Sockets des Servers haben.

Gruß

Mike


----------

