web-dev-qa-db-fra.com

JBoss vs Tomcat à nouveau

Cela semblera être la vieille question (quelle que soit :)): quel serveur est le meilleur entre Tomcat et JBoss, mais je n’ai pas encore trouvé de réponse satisfaisante pour résoudre mon problème.

Je sais que Tomcat n'est qu'un moteur de servlet et que JBoss offre beaucoup plus de fonctionnalités prêtes à l'emploi, mais ce que je ne comprends pas, c'est pourquoi il est préférable d'utiliser Tomcat dans certaines situations que jboss. J'ai lu quelque part que JBoss a une architecture enfichable et, si nécessaire, vous pouvez débrancher des fonctionnalités de JBoss pour en faire un conteneur de servlets Tomcat. Si tel est le cas, ne vaut-il pas mieux utiliser plutôt que Tomcat afin de laisser une marge de manœuvre au processus?.

Une autre explication que j’approuve en faveur de Tomcat est qu’elle est légère, qu’elle nécessite moins de mémoire ou qu’elle permet également une réponse plus rapide. Encore une fois, j’ai besoin de savoir que jboss ne chargera pas les composants conformément aux exigences, c’est-à-dire si je n’utilise que des servlets, jboss ne sautera pas le reste des fonctionnalités et deviendra léger automatiquement.

Essentiellement, mon application ne comporte pas de fonctionnalités Java EE, mais les arguments "légers" en faveur de Tomcat ne semblent pas suffisamment convaincants pour les raisons susmentionnées.

S'il vous plaît aider.

Edit: À l’époque, nous avions finalement décidé d’utiliser Tomcat. Nous l’utilisons depuis plus de 6 mois avec une grande facilité d’utilisation. Enfait, nous avons trouvé une utilisation pratique où nous pourrions très facilement exécuter plusieurs instances de Tomcat sur le même ordinateur serveur pour différents développeurs. La même chose aurait pu être très difficile avec jboss.

J'ai trouvé que Tomcat ne posait aucun problème pour notre travail et pouvait donc être le bon choix lorsque vous n'utilisiez pas beaucoup de fonctionnalités Java EE. PS: Veuillez noter que nous utilisons toujours Spring et Hibernate avec Tomcat.

138
Ashish

Premièrement, les faits ne sont pas meilleurs . Comme vous l'avez déjà mentionné, Tomcat fournit un conteneur de servlets prenant en charge la spécification Servlet (Tomcat 7 prend en charge Servlet 3.0). JBoss AS, un serveur d'applications "complet" supporte Java EE 6 (y compris Servlet 3.0) dans sa version actuelle.

Tomcat est relativement léger et si vous avez besoin de certaines fonctionnalités Java EE autres que l'API Servlet, vous pouvez facilement améliorer Tomcat en fournissant les bibliothèques requises dans le cadre de votre application. Par exemple, si vous avez besoin de fonctionnalités JPA, vous pouvez inclure Hibernate ou OpenEJB. JPA fonctionne presque par défaut.

Comment décider d’utiliser Tomcat ou une pile complète Java EE serveur d’applications:

Au début de votre projet, vous devriez avoir une idée de ce qu’il nécessite. Si vous êtes dans un environnement de grande entreprise, JBoss (ou tout autre serveur Java EE) peut être le bon choix car il fournit une prise en charge intégrée pour, par exemple:

  1. Messagerie JMS pour l'intégration asynchrone
  2. Moteur de services Web (JAX-WS et/ou JAX-RS)
  3. Capacités de gestion telles que JMX et une interface d'administration scriptée
  4. Sécurité avancée, par exemple Intégration prête à l'emploi avec des répertoires tiers
  5. Fichier EAR au lieu de "uniquement" prise en charge des fichiers WAR
  6. tous les autres "grands" Java fonctionnalités EE dont je ne me souviens plus :-)

À mon avis , Tomcat convient parfaitement aux applications centrées sur le Web et orientées utilisateur. Si l'intégration dorsale entre en jeu, un serveur d'applications Java EE doit être pris en compte (au moins). Enfin et surtout, la migration d'un fichier WAR développé pour Tomcat vers JBoss devrait prendre 1 jour.

Deuxièmement, vous devez également prendre en compte l'utilisation dans votre environnement. Si votre organisation exécute déjà 1 000 instances de JBoss, vous pouvez toujours accepter cette solution, quels que soient vos besoins concrets (tenez compte des aspects tels que le coût des opérations ou des compétences supplémentaires). Bien sûr, cela s’applique inversement.

mes 2 cent

132
home

Jetez un coup d'oeil à TOMEE

Il possède toutes les fonctionnalités dont vous avez besoin pour créer une application complète Java EE.

13
Deb J

Je me tournerais certainement vers TomEE car l’idée de base est de laisser Tomcat apporter la totalité de l’intégration JavaEE 6 par défaut. C'est une sorte de très bon compromis

7
Romain Manni-Bucau

À proprement parler; Sans Java fonctionnalités EE, votre application n'a pratiquement pas besoin d'un serveur d'applications ;-)

Comme d'autres l'ont déjà fait remarquer, JBoss dispose d'une pile (plus ou moins) complète Java EE, tandis que Tomcat est un conteneur Web uniquement. JBoss peut être configuré pour ne servir que de conteneur Web. Il s'agirait alors simplement d'un fin emballage pour le conteneur Web Tomcat inclus. De cette façon, vous pourriez avoir un JBoss presque aussi léger, qui ne serait en réalité qu'un mince "wrapper" autour de Tomcat. Ce serait presque aussi léger.

Si vous n'avez besoin d'aucun des extras offerts par JBoss, optez pour celui avec lequel vous êtes le plus à l'aise. Lequel est le plus facile à configurer et à entretenir pour vous?

6
Jon Martin Solaas

J'ai également lu que pour certains serveurs, par exemple, il suffit d'annoter les contextes de persistance, mais sur certains serveurs, l'injection doit être effectuée manuellement.

2
Antti Tanskanen