Qual é a diferença entre Tomcat, JBoss e Glassfish?

estou a começar a olhar para a Enterprise Java e o livro que estou a seguir menciona que irá usar o JBoss. Navios Netbeans com Glassfish. Já usei o Tomcat no passado.

Quais são as diferenças entre estes três programas?

Author: RAnders00, 2010-09-29

8 answers

O Tomcat é apenas um recipiente servlet, ou seja, implementa apenas as especificações servlets e JSP. Glassfish and JBoss are full Java EE servers (including stuff like EJB ,JMS,...), com Glassfish sendo a implementação de referência da última pilha Java EE 6, mas JBoss em 2010 não estava totalmente apoiando ainda.

 471
Author: Petar Minchev, 2018-03-21 13:04:05

Tomcat é meramente um Servidor HTTP e um container servlet Java. JBoss e GlassFish São servidores de Aplicação Java EE completos, incluindo um container EJB e todas as outras características dessa pilha. Por outro lado, Tomcat tem uma pegada de memória mais leve (~60-70 MB), enquanto esses servidores Java EE pesam em centenas de megs. Tomcat é muito popular para aplicações web simples, ou aplicações usando frameworks como a primavera que não requerem um servidor Java EE completo. Administração de um servidor Tomcat é indiscutivelmente mais fácil, pois há menos partes móveis.

No entanto, para aplicações que requerem uma pilha Java EE completa (ou pelo menos mais peças que poderiam ser facilmente aparafusadas ao Tomcat)... JBoss e GlassFish são duas das ofertas de código aberto mais populares (a terceira é o Apache Geronimo, sobre o qual a versão livre da IBM WebSphere é construída). JBoss tem uma comunidade de Usuários maior e mais profunda, e uma base de código mais madura. No entanto, a JBoss está significativamente atrasada GlassFish na implementação das especificações Java EE atuais. Além disso, para aqueles que preferem um sistema de administração baseado em GUI... O console administrativo do GlassFish é extremamente liso, enquanto a maioria da administração no JBoss é feita com uma linha de comando e editor de texto. GlassFish vem diretamente da Sun / Oracle, com todas as vantagens que podem oferecer. A JBoss não está sob o controle da Sun/Oracle, com todas as vantagens que pode oferecer.

 335
Author: Steve Perkins, 2013-04-05 06:46:11

GlassFish para aplicações Java EE enterprise. Algumas coisas a considerar:

A servidor web significa: lidar com pedidos HTTP (normalmente de navegador).

A Recipiente de Servlet (p. ex. Tomcat ) significa: Pode suportar servlets & JSP.

An Application Server (p. ex. GlassFish) significa: *pode gerir Aplicações Java EE (normalmente servlet / JSP e EJBs).


Tomcat - é gerido pela comunidade Apache-Open source e tem dois sabores Tomcat - perfil Web - peso leve que é apenas um container servlet e não suporta recursos Java EE como EJB, JMS etc. Tomcat EE - este é um container Java EE certificado, que suporta todas as tecnologias Java EE.

Não existe apoio comercial (apenas apoio comunitário)

JBoss - dirigido por RedHat Este é um suporte completo de pilha para JavaEE e é um recipiente Java EE certificado. Isto inclui Tomcat como container web internamente. Este também tem dois sabores Versão comunitária chamada Application Server ( AS) - Isto terá apenas apoio comunitário Enterprise Application Server (EAP) - para isso, você pode ter uma licença baseada em assinaturas (é baseada no número de núcleos que você tem em seus servidores.)

Glassfish - gerido pela Oracle Este também é um recipiente Java EE certificado por pilha completa. Este tem seu próprio container web (não Tomcat). Presente vem da própria Oracle, então todas as novas especificações serão testadas e implementadas com Glassfish primeiro. Então, sempre apoiaria a última especificação. Não conheço os seus modelos de apoio.

 63
Author: Jaimin Patel, 2016-09-06 06:12:17

Jboss e glassfish incluem um recipiente de servlet (como o tomcat), no entanto os dois servidores de aplicação (jboss e glassfish) também fornecem um recipiente de feijão (e algumas outras coisas que eu imagino)

 12
Author: NimChimpsky, 2012-01-18 10:57:17

O JBoss e o Glassfish são basicamente servidores Java EE completos, enquanto o Tomcat é apenas um container Servlet. A principal diferença entre JBoss, Glassfish, mas também WebSphere, WebLogic e assim por diante em relação ao Tomcat, mas também Jetty, estava na funcionalidade que um servidor de app completo oferece. Quando você teve uma pilha completa Java EE app server você pode se beneficiar de toda a implementação do Fornecedor de sua escolha, e você pode se beneficiar de EJB, JTA, CDI( JAVA EE 6+), JPA, JSF, JSP / Servlet, é claro e assim por diante. Com Tomcat nas outras mãos você pode beneficiar apenas de JSP / Servlet. No entanto a dia com Estrutura avançada, tais como a Primavera e o Guice, muitos a principal vantagem do uso de uma pilha completa de servidor de aplicativo pode ser mitigar, e com o pressuposto de um único deste quadro de manly, com a Primavera Ecossistema, você pode se beneficiar de muitos sub-projecto que, na minha experiência de trabalho, deixe-me abandonaram o uso de uma pilha completa de servidor de aplicativos em favor de leve aplicativo de servidor, como o tomcat.

 4
Author: Valerio Vaudi, 2016-03-23 15:17:45

Tanto o JBoss como o Tomcat São servidores de Aplicação servlet Java, mas o JBoss é muito mais. A diferença substancial entre os dois é que JBoss fornece uma pilha Java Enterprise Edition (Java EE) completa, incluindo JavaBeans Enterprise e muitas outras tecnologias que são úteis para desenvolvedores que trabalham em aplicações Java corporativas.

O Tomcat é muito mais limitado. Uma maneira de pensar é que JBoss é uma pilha Java EE que inclui um container servlet e servidor web, enquanto Tomcat, na maioria das vezes, é um container servlet e um servidor web.
 3
Author: Spartan, 2015-07-28 07:12:56

O Apache tomcat é apenas um único container serverlet que não suporta a aplicação Java Enterprise(JEE). JBoss and Glassfish are supporting for JEE application but Glassfish much heavy than JBOSS server: Reference Slide

 1
Author: Oshi_007, 2017-07-26 09:23:39
Parece um pouco desencorajador usar o Tomcat quando se lê estas respostas. No entanto, o que a maioria não menciona é que você pode chegar a casos de uso idênticos ou quase idênticos com o tomcat, mas isso requer que você adicione as bibliotecas necessárias (através do Maven ou qualquer que seja o sistema de inclusão que você usa).

Estive a correr o tomcat com a App, EJBs com muito pequenos esforços de configuração.

 1
Author: user2130951, 2017-08-02 06:34:29