Estou começando a olhar para o Enterprise Java e o livro que estou seguindo menciona que ele usará o JBoss. O Netbeans é enviado com o Glassfish. Eu usei o Tomcat no passado.
Quais são as diferenças entre esses três programas?
Estou começando a olhar para o Enterprise Java e o livro que estou seguindo menciona que ele usará o JBoss. O Netbeans é enviado com o Glassfish. Eu usei o Tomcat no passado.
Quais são as diferenças entre esses três programas?
Respostas:
O Tomcat é apenas um contêiner de servlet, ou seja, implementa apenas os servlets e a especificação JSP. O Glassfish e o JBoss são servidores Java EE completos (incluindo itens como EJB, JMS, ...), com o Glassfish sendo a implementação de referência da pilha Java EE 6 mais recente, mas o JBoss em 2010 ainda não o suportava totalmente.
O Tomcat é apenas um servidor HTTP e um contêiner de servlet Java. O JBoss e o GlassFish são servidores de aplicativos Java EE completos, incluindo um contêiner EJB e todos os outros recursos dessa pilha. Por outro lado, o Tomcat tem um espaço de memória menor (~ 60-70 MB), enquanto esses servidores Java EE pesam centenas de megas. O Tomcat é muito popular para aplicativos Web simples ou aplicativos que utilizam estruturas como o Spring que não exigem um servidor Java EE completo. A administração de um servidor Tomcat é sem dúvida mais fácil, pois há menos partes móveis.
No entanto, para aplicativos que exigem uma pilha Java EE completa (ou pelo menos mais peças que podem ser facilmente conectadas ao Tomcat) ... JBoss e GlassFish são duas das ofertas de código aberto mais populares (a terceira é Apache Geronimo , sobre o qual a versão gratuita do IBM WebSphere é construída). O JBoss possui uma comunidade de usuários maior e mais profunda e uma base de código mais madura. No entanto, o JBoss fica significativamente atrás do GlassFish na implementação das especificações atuais do Java EE. Além disso, para aqueles que preferem um sistema de administração baseado em GUI ... O console de administração do GlassFish é extremamente liso, enquanto a maior parte da administração no JBoss é feita com uma linha de comando e editor de texto. O GlassFish vem diretamente da Sun / Oracle, com todas as vantagens que pode oferecer. O JBoss NÃO está sob o controle da Sun / Oracle, com todas as vantagens que isso pode oferecer.
Você deve usar os aplicativos corporativos do GlassFish for Java EE . Algumas coisas a considerar:
Um servidor web significa: Tratamento de solicitações HTTP (geralmente de navegadores).
Um contêiner de servlet (por exemplo, Tomcat ) significa: Ele pode manipular servlets e JSP.
Um servidor de aplicativos (por exemplo, GlassFish ) significa: * Ele pode gerenciar aplicativos Java EE (geralmente servlet / JSP e EJBs).
O Tomcat - é executado pela comunidade Apache - Código aberto e possui dois tipos:
Não há suporte comercial disponível (apenas suporte da comunidade)
JBoss - Run by RedHat Este é um suporte de pilha completa para JavaEE e é um contêiner Java EE certificado. Isso inclui o Tomcat como contêiner da web internamente. Isso também tem dois sabores:
Glassfish - executado pela Oracle Este também é um Java EE Container certificado para pilha completa. Este possui seu próprio contêiner da Web (não o Tomcat). Como é proveniente da própria Oracle, todas as novas especificações serão testadas e implementadas primeiro com o Glassfish. Portanto, sempre suportaria as especificações mais recentes. Não conheço seus modelos de suporte.
jboss e glassfish incluem um contêiner de servlet (como tomcat), no entanto, os dois servidores de aplicativos (jboss e glassfish) também fornecem um contêiner de bean (e algumas outras coisas que eu imagino)
O JBoss e o Glassfish são basicamente o Java EE Application Server completo, enquanto o Tomcat é apenas um contêiner de Servlet. A principal diferença entre o JBoss, o Glassfish, mas também o WebSphere, o WebLogic e outros em relação ao Tomcat, mas também ao Jetty, estava na funcionalidade oferecida por um servidor de aplicativos completo. Quando você tinha um servidor de aplicativos Java EE de pilha cheia, pode se beneficiar de toda a implementação do fornecedor de sua escolha e pode se beneficiar de EJB, JTA, CDI (JAVA EE 6+), JPA, JSF, JSP / Servlet, é claro e assim por diante. Com o Tomcat, por outro lado, você pode se beneficiar apenas do JSP / Servlet. No entanto, atualmente, com o Framework avançado, como o Spring e o Guice, muitas das principais vantagens do uso de um servidor de aplicativos de pilha completa podem ser atenuadas, e com a suposição de que um desses frameworks seja viril com o Spring Ecosystem,
Parece um pouco desanimador usar o Tomcat quando você lê essas respostas. No entanto, o que mais deixa de mencionar é que você pode obter casos de uso idênticos ou quase idênticos com o tomcat, mas isso exige que você adicione as bibliotecas necessárias (por meio do Maven ou do sistema que você usa).
Estou executando o tomcat com JPA, EJBs com esforços de configuração muito pequenos.
O JBoss e o Tomcat são servidores de aplicativos de servlet Java, mas o JBoss é muito mais. A diferença substancial entre os dois é que o JBoss fornece uma pilha completa do Java Enterprise Edition (Java EE), incluindo o Enterprise JavaBeans e muitas outras tecnologias que são úteis para desenvolvedores que trabalham em aplicativos Java corporativos.
O Tomcat é muito mais limitado. Uma maneira de pensar é que o JBoss é uma pilha Java EE que inclui um contêiner de servlet e servidor da web, enquanto o Tomcat, na maioria das vezes, é um contêiner de servlet e servidor da web.
O Apache tomcat é apenas um contêiner de serverlet que não suporta o Enterprise Java Application (JEE). O JBoss e o Glassfish suportam o aplicativo JEE, mas o Glassfish é muito pesado que o servidor JBOSS: slide de referência