Je commence à m'intéresser à Enterprise Java et le livre que je suis mentionne qu'il utilisera JBoss. Netbeans est livré avec Glassfish. J'ai utilisé Tomcat dans le passé.
Quelles sont les différences entre ces trois programmes ?
Je commence à m'intéresser à Enterprise Java et le livre que je suis mentionne qu'il utilisera JBoss. Netbeans est livré avec Glassfish. J'ai utilisé Tomcat dans le passé.
Quelles sont les différences entre ces trois programmes ?
Tomcat n'est qu'un conteneur de servlets, c'est-à-dire qu'il ne met en œuvre que les spécifications des servlets et des JSP. Glassfish et JBoss sont des serveurs Java EE complets (incluant des éléments comme EJB, JMS, ...), Glassfish étant l'implémentation de référence de la dernière pile Java EE 6, mais JBoss en 2010 ne la supportait pas encore complètement.
Note aux lecteurs, JBoss est désormais certifié Java EE 6 Full Profile comme GlassFish. De plus, Tomcat est maintenant Profil Web Java EE 6 certifié via TomEE et prend en charge EJB, CDI, JSF, JPA, etc.
@aldo.roman.nurena Très peu de différences. GlassFish et JBoss prennent tous deux en charge le profil complet Java EE, ce qui signifie qu'ils prennent en charge les technologies héritées comme JAX-RPC et CORBA. Nous ne les avons pas incluses dans la version Java EE de Tomcat, mais toutes les technologies actuelles sont présentes, comme JAX-RS, JAX-WS, JMS, CDI, JPA, JSF, EJB, JTA, etc.
Tomcat est simplement un serveur HTTP et un conteneur de servlets Java. JBoss et GlassFish sont des serveurs d'applications Java EE à part entière, comprenant un conteneur EJB et toutes les autres fonctionnalités de cette pile. D'un autre côté, Tomcat a une empreinte mémoire plus légère (~60-70 MB), alors que ces serveurs Java EE pèsent des centaines de mégas. Tomcat est très populaire pour les applications web simples, ou les applications utilisant des frameworks tels que Spring qui ne nécessitent pas un serveur Java EE complet. L'administration d'un serveur Tomcat est sans doute plus facile, car il y a moins de pièces mobiles.
Cependant, pour les applications qui nécessitent une pile Java EE complète (ou au moins plus de pièces qui pourraient facilement être boulonnées à Tomcat)... JBoss et GlassFish sont deux des offres open source les plus populaires. [...] [...] [...] [...] [...] [...]
+1, excellente réponse, bien que je souscrive au commentaire de @Arjan : en réalité, la mémoire utilisée par ces serveurs eux-mêmes n'est pas si importante par rapport à la quantité de mémoire dont aura besoin une application déployée (et CELA dépend fortement des technologies utilisées. Spring est un peu un monstre de mémoire)
Les discussions sur les "conteneurs de servlets" et les "serveurs JEE" semblent toujours se transformer en discussions sur "Spring" et "EJB/JSF". J'ai utilisé JEE pendant des années, et je suis toujours heureux de le faire quand un client me paie. Cependant, mes réflexions sont les suivantes : [1] la plupart des benchmarks de part et d'autre proviennent de sources biaisées, je n'ai jamais remarqué moi-même une grande différence de ressources entre les deux piles, [2] Spring est BEAUCOUP plus portable que les "standards" JEE, avec lesquels il semble toujours pénible de changer de serveur, et enfin et surtout...
... [3] les communautés d'utilisateurs de Spring et d'Hibernate dépassent de loin celles des spécifications JEE pures. Si vous rencontrez un problème avec Spring et posez une question sur StackOverflow, elle sera lue par des centaines de personnes et vous aurez une réponse solide en quelques minutes. Si vous posez une question sur JEE, elle sera lue par une douzaine de personnes... et la moitié du temps, la seule réponse que vous obtiendrez sera "Ça a marché pour moi !". Les normes JEE semblent toujours avoir un jour de retard et un dollar de moins, et je me sens très seul lorsque je rencontre des problèmes avec elles dans une application réelle.
Vous devez utiliser GlassFish pour les applications d'entreprise Java EE . Quelques éléments à prendre en compte :
A Serveur web signifie : Traitement des demandes HTTP (généralement en provenance de navigateurs).
A Conteneur de servlets (par exemple Tomcat ) signifie : Il peut gérer servlets et JSP.
Un site Serveur d'application (par exemple GlassFish ) signifie : *Il peut gérer les applications Java EE (généralement à la fois servlet/JSP et EJB).
Tomcat - est géré par la communauté Apache - Open source et a deux saveurs :
Pas de soutien commercial disponible (seulement un soutien communautaire)
JBoss - Exécuté par RedHat Il s'agit d'un support complet pour JavaEE et d'un conteneur Java EE certifié. Il inclut Tomcat comme conteneur web interne. Il existe également deux versions :
Verre de mer - Géré par Oracle Il s'agit également d'un conteneur Java EE certifié à pile complète. Il possède son propre conteneur web (pas Tomcat). Cela vient d'Oracle lui-même, donc toutes les nouvelles spécifications seront testées et implémentées avec Glassfish en premier. Ainsi, il supportera toujours les dernières spécifications. Je ne suis pas au courant de ses modèles de support.
Glassfish peut faire tout ce que Tomcat peut faire mais cela ne signifie pas qu'il "inclut" Tomcat. Glassfish a son propre conteneur web.
Pour être plus clair, le "comme tomcat" est exact, mais JBoss intègre en fait Tomcat pour l'implémentation de son conteneur de servlets.
JBoss et Glassfish sont essentiellement des serveurs d'applications Java EE complets, tandis que Tomcat n'est qu'un conteneur de servlets. La principale différence entre JBoss, Glassfish, mais aussi WebSphere, WebLogic, etc., et Tomcat, mais aussi Jetty, réside dans les fonctionnalités offertes par un serveur d'applications complet. Lorsque vous avez un serveur d'applications Java EE complet, vous pouvez bénéficier de toutes les implémentations du fournisseur de votre choix, et vous pouvez bénéficier de EJB, JTA, CDI (JAVA EE 6+), JPA, JSF, JSP/Servlet bien sûr et ainsi de suite. Avec Tomcat, par contre, vous ne pouvez bénéficier que de JSP/Servlet. Cependant, aujourd'hui, avec les Frameworks avancés tels que Spring et Guice, beaucoup des avantages principaux de l'utilisation d'un serveur d'application full stack peuvent être atténués, et avec la prise en charge d'un de ces frameworks, notamment avec l'écosystème Spring, vous pouvez bénéficier de nombreux sous-projets qui, dans mon expérience professionnelle, m'ont fait abandonner l'utilisation d'un serveur d'application full stack en faveur d'un serveur d'application léger comme Tomcat.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.
6 votes
1. stackoverflow.com/questions/173504/ 2. stackoverflow.com/questions/327793/
72 votes
Ces questions sont la "malédiction" de l'opensource. Il y a parfois trop de choix qui font presque la même chose. Pour les débutants, cela peut conduire à une paralysie par l'analyse. Eclipse est l'IDE dominant, mais presque tous les livres qui valent la peine d'être achetés utilisent Netbeans pour développer et enseigner. Il utilise Glassfish alors que j'ai vu la plupart des entreprises utiliser Jboss dans la vie réelle. Il y a des courbes d'apprentissage pour utiliser chaque conteneur, et cela peut être très frustrant pour les débutants.
1 votes
Maintenant, JBoss est connu sous le nom de [WildFly] ( fr.wikipedia.org/wiki/WildFly ) et JBoss est la société qui a développé WildFly.
0 votes
Question similaire : Profil Web Java EE et plate-forme complète Java EE