Porque utilizar Jboss?

   Luiz Fernando Tomaz

                   Projeto Capacitar – GPE
                            Novembro 2012
Motivação
• Até hoje apenas utilizei o JBoss.
• Será que é a melhor opção?
• Será que existem outros JEE Application
  Servers gratuitos bons?
• O que levou as pessoas a escolherem o Jboss?
• Vou acreditar nisso assim mesmo?
JEE Application Servers
• Gratuitos:
  – Jboss Community – 7.1.1
  – Glassfish – 3.1.2
  – TomEE – 1.5.0
• Pagos
  – Jboss Enterprise (EAP) – 6.0.0
  – IBM Websphere – 8.5
  – Oracle Weblogic – 12c
Market Share

      19%


                  37%
                           Tomcat
                           Jboss
                           Glassfish
18%
                           Outros




            26%
Glassfish x JBoss
• Faremos um comparativo entre os 2. Como
  base serão utilizadas a versão 6 do Jboss e
  3.0.1 do Glassfish
• Iremos comparar características e o
  desempenho de ambos.
• No final, irei discutir um pouco sobre quem
  utiliza cada um e qual a tendência.
Suporte ao Java EE
• Glassfish
  – Primeiro certificado para Java EE 5.
  – Na versão 3 suporta completamente o EE 6


• Jboss
  – 3 anos após o Glassfish tornou-se certificado em
    Java EE 5.
  – O Jboss 6 suporta apenas a parte Web do JEE 6.
Suporte comercial
• O Glassfish 3.x possui suporte
  comercial, enquanto que o Jboss 6 não possui.
Integração com IDE
• Nesse ponto, ambos se equivalem.
• Se integram ao Eclipse e NetBeans.
Administração
• Glassfish
  – Web-based
  – CLI
  – REST-based
• Jboss
  – Web-based
• O Jboss 7 já possui as mesmas facilidades do
  Glassfish.
Clusterização
• Suportada no Jboss.
• No glassfish apenas desde a versão 3.1
Suporte
• O Glassfish possui uma ferramenta para
  atualização do mesmo, diferente do jboss.
• A documentação do Glassfish também é mais
  extensa.
• Por outro lado, a comunidade que utiliza o
  Jboss é maior.
Performance
• Foram analisados as seguintes métricas:
  – Tempo de início “vazio”;
  – Uso de memória “vazio” (heap e PermGen);
  – Tempo de deploy do App;
  – Tempo de reínicio Server + App;
  – Uso de memória Server + App;
  – Tempo de redeploy do App;
Comparação
                                              Glassfish   Jboss

Tempo de início “vazio” (s)                       3,1 s    12s

Uso de memória “vazio” - heap (MB)             37 MB      100 MB

Uso de memória “vazio” - PermGen (MB)          28 MB      70 MB

Tempo de deploy do App (s)                        13 s     30 s

Tempo de reínicio Server + App (s)                15 s     47 s

Uso de memória Server + App - heap (MB)       156 MB      236 MB

Uso de memória Server + App - PermGen (MB)     83 MB      175 MB

Tempo de redeploy do App (s)                      10 s     30 s
Quem usa JBoss
• NYSE Euronext (Grupo de Bolsas de valores da
  Europa e EUA);
• Sprint Nextel (Telecomunicações); e
• Rancore Technologies (Telecomunicações);
Quem usa o Glassfish
• ESPN;
• Jenzabar (Provedora de serviços para
  educação);
• Guia da Semana (Guia brasileiro sobre
  cinema, restaurante, bares, ...); e
• Parleys.com (e-learning);
Conclusões
• Ambos são utilizados por grandes
  empresas, em diferentes tipos de negócio.
• O Jboss é utilizado em negócios mais robustos.
• Entretanto, cerca de 73% dos novos projetos
  estão sendo feitos utilizando o Glassfish.
• Apesar da lentidão do Jboss 6, aparentemente
  a versão 7 evolui bastante nesse ponto.
E a pergunta inicial
• Então, continua sem uma resposta concreta!!
• Divido minha resposta em alguns tópicos:
  – Apesar de ser lento e consumir muita memória, é
    amplamente utilizado no mercado.
  – Além disso, tem 8 anos de vida, sempre com algum
    destaque.
  – Por outro lado, o Glassfish é mantido pela Oracle, que
    é quem mantem o Java, logo, há uma integração
    maior.
  – Além disso, o Glassfish é mais leve e rápido e está
    crescendo em participação.
Fim
• Finalizando, não estamos errados em utilizar o
  Jboss.
• Entretanto, vale realizar algum piloto com o
  Glassfish, para avaliarmos melhor sua
  adequação ao nosso problema.
www.gpetec.com.br




Obrigado!
Luiz Tomaz
@luiztomaz
luiztomaz@gpetec.com.br




                          www.myscrumhalf.com
Referências
• http://hwellmann.blogspot.com.br/2011/06/java-ee-6-
  server-comparison.html
• http://www.oracle.com/us/products/middleware/appli
  cation-server/oracle-glassfish-server/comparing-
  glassfish-jboss-wp-117118.pdf
• https://community.jboss.org/thread/89200
• https://blogs.oracle.com/arungupta/entry/which_java_
  ee_6_app
• https://www.redhat.com/products/jbossenterprisemid
  dleware/community-enterprise/
• https://blogs.oracle.com/arungupta/entry/glassfish_cu
  stomer_stories_from_javaone

Porque utilizar JBoss

  • 1.
    Porque utilizar Jboss? Luiz Fernando Tomaz Projeto Capacitar – GPE Novembro 2012
  • 2.
    Motivação • Até hojeapenas utilizei o JBoss. • Será que é a melhor opção? • Será que existem outros JEE Application Servers gratuitos bons? • O que levou as pessoas a escolherem o Jboss? • Vou acreditar nisso assim mesmo?
  • 3.
    JEE Application Servers •Gratuitos: – Jboss Community – 7.1.1 – Glassfish – 3.1.2 – TomEE – 1.5.0 • Pagos – Jboss Enterprise (EAP) – 6.0.0 – IBM Websphere – 8.5 – Oracle Weblogic – 12c
  • 4.
    Market Share 19% 37% Tomcat Jboss Glassfish 18% Outros 26%
  • 5.
    Glassfish x JBoss •Faremos um comparativo entre os 2. Como base serão utilizadas a versão 6 do Jboss e 3.0.1 do Glassfish • Iremos comparar características e o desempenho de ambos. • No final, irei discutir um pouco sobre quem utiliza cada um e qual a tendência.
  • 6.
    Suporte ao JavaEE • Glassfish – Primeiro certificado para Java EE 5. – Na versão 3 suporta completamente o EE 6 • Jboss – 3 anos após o Glassfish tornou-se certificado em Java EE 5. – O Jboss 6 suporta apenas a parte Web do JEE 6.
  • 7.
    Suporte comercial • OGlassfish 3.x possui suporte comercial, enquanto que o Jboss 6 não possui.
  • 8.
    Integração com IDE •Nesse ponto, ambos se equivalem. • Se integram ao Eclipse e NetBeans.
  • 9.
    Administração • Glassfish – Web-based – CLI – REST-based • Jboss – Web-based • O Jboss 7 já possui as mesmas facilidades do Glassfish.
  • 10.
    Clusterização • Suportada noJboss. • No glassfish apenas desde a versão 3.1
  • 11.
    Suporte • O Glassfishpossui uma ferramenta para atualização do mesmo, diferente do jboss. • A documentação do Glassfish também é mais extensa. • Por outro lado, a comunidade que utiliza o Jboss é maior.
  • 12.
    Performance • Foram analisadosas seguintes métricas: – Tempo de início “vazio”; – Uso de memória “vazio” (heap e PermGen); – Tempo de deploy do App; – Tempo de reínicio Server + App; – Uso de memória Server + App; – Tempo de redeploy do App;
  • 13.
    Comparação Glassfish Jboss Tempo de início “vazio” (s) 3,1 s 12s Uso de memória “vazio” - heap (MB) 37 MB 100 MB Uso de memória “vazio” - PermGen (MB) 28 MB 70 MB Tempo de deploy do App (s) 13 s 30 s Tempo de reínicio Server + App (s) 15 s 47 s Uso de memória Server + App - heap (MB) 156 MB 236 MB Uso de memória Server + App - PermGen (MB) 83 MB 175 MB Tempo de redeploy do App (s) 10 s 30 s
  • 14.
    Quem usa JBoss •NYSE Euronext (Grupo de Bolsas de valores da Europa e EUA); • Sprint Nextel (Telecomunicações); e • Rancore Technologies (Telecomunicações);
  • 15.
    Quem usa oGlassfish • ESPN; • Jenzabar (Provedora de serviços para educação); • Guia da Semana (Guia brasileiro sobre cinema, restaurante, bares, ...); e • Parleys.com (e-learning);
  • 16.
    Conclusões • Ambos sãoutilizados por grandes empresas, em diferentes tipos de negócio. • O Jboss é utilizado em negócios mais robustos. • Entretanto, cerca de 73% dos novos projetos estão sendo feitos utilizando o Glassfish. • Apesar da lentidão do Jboss 6, aparentemente a versão 7 evolui bastante nesse ponto.
  • 17.
    E a perguntainicial • Então, continua sem uma resposta concreta!! • Divido minha resposta em alguns tópicos: – Apesar de ser lento e consumir muita memória, é amplamente utilizado no mercado. – Além disso, tem 8 anos de vida, sempre com algum destaque. – Por outro lado, o Glassfish é mantido pela Oracle, que é quem mantem o Java, logo, há uma integração maior. – Além disso, o Glassfish é mais leve e rápido e está crescendo em participação.
  • 18.
    Fim • Finalizando, nãoestamos errados em utilizar o Jboss. • Entretanto, vale realizar algum piloto com o Glassfish, para avaliarmos melhor sua adequação ao nosso problema.
  • 19.
  • 20.
    Referências • http://hwellmann.blogspot.com.br/2011/06/java-ee-6- server-comparison.html • http://www.oracle.com/us/products/middleware/appli cation-server/oracle-glassfish-server/comparing- glassfish-jboss-wp-117118.pdf • https://community.jboss.org/thread/89200 • https://blogs.oracle.com/arungupta/entry/which_java_ ee_6_app • https://www.redhat.com/products/jbossenterprisemid dleware/community-enterprise/ • https://blogs.oracle.com/arungupta/entry/glassfish_cu stomer_stories_from_javaone