2012-10-21 3 views
3

Je suis donc confronté à un défi pour développer une application web qui devrait afficher des données en temps réel provenant du serveur distant. Pour me connecter à cet emplacement distant, j'ai besoin de sockets TCP et d'un protocole arbitraire (pas HTTP).Java EE et les connexions TCP sortantes

Mon but est d'avoir le serveur Web se connecter à l'autre serveur, maintenir la connexion en vie indéfiniment et lire continuellement les données tout en affichant ces données en temps réel sur le site Web. Maintenant, ma question est, comment pourrais-je faire à ce sujet en utilisant Java EE? Je pourrais aussi développer un logiciel complètement séparé pour gérer la connexion TCP sortante, mais comment gérer la communication entre l'application web et cet autre logiciel?

+0

Quelle que soit la solution, faites attention à la mise en cluster dès le départ. En cluster, je pense au fait que vous devrez peut-être exécuter plusieurs nœuds de serveur d'applications derrière un équilibreur de charge (pour l'évolutivité et la disponibilité). Rappelez-vous que (selon votre solution), vous pouvez demander à chaque nœud du serveur d'application d'extraire des données du serveur distant. Pensez à ce que vous devez faire pour assurer la cohérence des données présentées dans l'application Web. –

Répondre

1

C'est une question plutôt générale et il y a plusieurs façons de le faire. Un moyen consiste à avoir un mdb dans la webapp qui consomme de la file d'attente à laquelle le serveur externe est en train de produire des messages. Je l'ai fait en utilisant glassfish et activemq messagebroker.

puis primefaces pousser pour envoyer des événements de webapp au navigateur client

1

Le by-the-book moyen de résoudre cela crée un adaptateur de ressources entrantes. Consultez le IronJacamar user guide pour une introduction sur la façon de le faire.

Questions connexes