Cela semblera être la vieille question (ce que c'est :)) quel serveur est le meilleur entre Tomcat et JBoss, mais je n'ai pas encore trouvé de réponse assez bonne 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 Tomcat est préférable d'utiliser dans certaines situations que jboss. J'ai lu quelque part que JBoss a une architecture enfichable et si nécessaire, vous pouvez débrancher les fonctionnalités de JBoss pour en faire essentiellement un conteneur de servlet tomcat. Si tel est le cas, alors n'est-il pas préférable de le faire au lieu d'utiliser Tomcat, afin de laisser la possibilité de brancher les choses.
Une autre explication que je trouve en faveur de Tomcat est qu'il est léger, est-ce que cela signifie moins de mémoire ou permet également une réponse plus rapide. Encore une fois, j'ai besoin de savoir que jboss ne chargera pas les composants selon les exigences, c'est-à-dire que si je n'utilise que des servlets, alors jboss ne sautera pas le reste des fonctionnalités et ne deviendra automatiquement léger.
Essentiellement, mon application ne dispose d'aucune fonctionnalité Java EE, mais les arguments «légers» en faveur de Tomcat ne semblent pas suffisamment convaincants pour les raisons mentionnées ci-dessus.
Veuillez aider.
Edit: Nous avions finalement décidé d'utiliser tomcat à l'époque et nous l'utilisons depuis plus de 6 mois maintenant avec une grande facilité d'utilisation. En fait, nous avons trouvé une utilisation pratique où nous pourrions très facilement exécuter plusieurs instances de tomcat sur la même machine serveur pour différents développeurs, la même chose aurait pu être très difficile avec jboss.
J'ai trouvé que tomcat était sans tracas pour notre travail et peut donc être le bon choix lorsque vous n'utilisez pas beaucoup de fonctionnalités de Java EE. PS: Veuillez noter que nous utilisons toujours Spring et Hibernate avec Tomcat
Réponses:
Premièrement les faits, ni l'un ni l'autre n'est mieux . Comme vous l'avez déjà mentionné, Tomcat fournit un conteneur de servlet 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 au cas où vous auriez besoin de certaines fonctionnalités Java EE au-delà de 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 et JPA fonctionne presque immédiatement .
Comment décider d'utiliser Tomcat ou un
Java EE
serveur d'applications full stack :Au démarrage de votre projet, vous devez avoir une idée de ce dont il a besoin. 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, par exemple:
À mon avis, Tomcat est un très bon choix pour les applications centrées sur le Web et destinées aux utilisateurs. Si l'intégration backend entre en jeu, un serveur d'applications Java EE doit (au moins) être envisagé. Enfin, la migration d'un WAR développé pour Tomcat vers JBoss devrait être un exercice d'une journée.
Deuxièmement, vous devez également prendre en compte l'utilisation dans votre environnement. Dans le cas où votre organisation exécute déjà, disons 1000 instances JBoss, vous pouvez toujours opter pour cela, quelles que soient vos exigences concrètes (prenez en compte des aspects tels que le coût des opérations ou l'amélioration des compétences). Bien sûr, cela s'applique vice versa.
mes 2 centimes
la source
Jetez un œil à TOMEE
Il possède toutes les fonctionnalités dont vous avez besoin pour créer une application Java EE complète.
la source
Je me tournerais certainement vers TomEE car l'idée derrière est de garder Tomcat en apportant toute l'intégration JavaEE 6 manquante par défaut. C'est une sorte de très bon compromis
la source
À proprement parler; En l'absence de fonctionnalités Java EE, votre application n'a pratiquement pas besoin d'un serveur d'applications ;-)
Comme d'autres l'ont souligné, JBoss a une pile Java EE (plus ou moins) complète alors que Tomcat est uniquement un conteneur Web. JBoss peut également être configuré pour servir uniquement de conteneur Web, il ne s'agirait alors que d'un mince wrapper 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. Lequel est le plus simple à configurer et à maintenir pour vous?
la source
J'ai également lu que pour certains serveurs, par exemple, il suffit d'annoter les contextes de persistance, mais dans certains serveurs, l'injection doit être effectuée manuellement.
la source