JBoss vs Tomcat à nouveau

Cela semble être la vieille question (qui est :)) de savoir quel serveur est le meilleur entre Tomcat et JBoss, mais je n’ai pas encore trouvé de réponse suffisante 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 par défaut, mais ce que je ne comprends pas, c’est pourquoi Tomcat est préférable dans certaines situations que jboss. J’ai lu quelque part que JBoss possède une architecture enfichable et que, si nécessaire, vous pouvez détwigr les fonctionnalités de JBoss pour en faire essentiellement un conteneur de servlets Tomcat. Si tel est le cas, n’est-il pas préférable de le faire plutôt que d’utiliser Tomcat, afin de laisser la possibilité de twigr les choses.

Une autre explication que je trouve en faveur de Tomcat est sa légèreté, cela signifie-t-il moins de besoins en mémoire ou permet-il également une réponse plus rapide. Encore une fois, je dois savoir que jboss ne chargera pas les composants selon les besoins, c’est-à-dire que si je n’utilise que des servlets, jboss ne pourra pas ignorer le rest des fonctionnalités et deviendra plus léger.

Essentiellement, mon application ne possède aucune fonctionnalité Java EE, mais les arguments «légers» en faveur de Tomcat ne semblent pas suffisamment convaincants en raison des raisons susmentionnées.

S’il vous plaît aider.

Edit: Nous avions finalement décidé d’utiliser tomcat à l’époque et nous l’utilisons depuis plus de 6 mois avec une grande facilité d’utilisation. En fait, nous avons trouvé une utilisation pratique où nous pourrions facilement exécuter plusieurs instances de tomcat sur le même serveur pour des développeurs différents, ce qui aurait pu être très difficile avec jboss.

J’ai trouvé Tomcat sans souci pour notre travail et peut donc être le bon choix lorsque vous n’utilisez pas beaucoup de fonctionnalités Java EE. PS: veuillez noter que nous utilisons toujours Spring et Hibernate avec Tomcat

D’abord les faits, ni l’un ni l’autre n’est meilleur . Comme vous l’avez déjà mentionné, Tomcat fournit un conteneur de servlets qui prend en charge la spécification Servlet (Tomcat 7 prend en charge Servlet 3.0). JBoss AS, un serveur d’applications «complet», prend en charge Java EE 6 (y compris Servlet 3.0) dans sa version actuelle.

Tomcat est assez léger et si vous avez besoin de certaines fonctionnalités Java EE au-delà de l’API Servlet, vous pouvez facilement améliorer Tomcat en fournissant les bibliothèques requirejses dans votre application. Par exemple, si vous avez besoin des fonctionnalités de JPA, vous pouvez inclure Hibernate ou OpenEJB et JPA fonctionne presque immédiatement.

Comment décider d’utiliser Tomcat ou un serveur d’applications Java EE complet:

Lorsque vous démarrez votre projet, vous devez avoir une idée de ce dont il a besoin. Si vous travaillez dans un grand environnement d’entreprise, JBoss (ou tout autre serveur Java EE) peut être le bon choix car il offre un support intégré pour, par exemple:

  1. Messagerie JMS pour l’intégration asynchrone
  2. Moteur de services Web (JAX-WS et / ou JAX-RS)
  3. Fonctions 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 du fichier WAR
  6. toutes les autres “super” caractéristiques de Java EE dont je ne me souviens plus 🙂

À mon avis, Tomcat convient parfaitement aux applications Web centrées sur l’utilisateur. Si l’intégration backend entre en jeu, un serveur d’application Java EE doit être (au moins) considéré. Last but not least, la migration d’un WAR développé pour Tomcat vers JBoss devrait être un exercice d’un jour.

Deuxièmement, vous devez également tenir compte de l’utilisation de votre environnement. Si votre organisation utilise déjà 1 000 instances JBoss, vous pouvez toujours vous y prendre indépendamment de vos besoins concrets (prenez en compte des aspects tels que le coût des opérations ou la mise à niveau). Bien entendu, cela s’applique inversement.

mon 2 cent

Jetez un oeil à TOMEE

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

Je me tournerais certainement vers TomEE car l’idée est de garder Tomcat par défaut intégrant l’intégration JavaEE 6 par défaut. C’est une sorte de très bon compromis

À proprement parler; Sans fonctionnalités Java EE, votre application n’a pas besoin du tout d’un serveur d’applications 😉

Comme d’autres l’ont souligné, JBoss dispose d’une stack Java EE complète (plus ou moins) alors que Tomcat est uniquement un conteneur Web. JBoss peut également être configuré pour servir uniquement de conteneur Web. Il ne s’agit alors que d’une enveloppe mince autour du conteneur Web Tomcat inclus. De cette façon, vous pourriez avoir un JBoss presque aussi léger, qui ne serait en fait qu’un mince «wrapper» autour de Tomcat. Ce serait presque aussi léger.

Si vous n’avez besoin d’aucun des extras que JBoss a à offrir, optez pour celui avec lequel vous êtes le plus à l’aise. Quel est le plus facile à configurer et à entretenir pour vous?

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.