Artigos

Tecnologia

JBoss: Alternativa Open Source para Servidores Java

O grupo JBoss acabou de lançar a versão 4.0 do seu servidor de aplicações. O JBoss é um servidor de aplicações Java que suporta[1] a especificação J2EE - Java 2 Enterprise Edition - da Sun Microsystems.

O desenvolvimento do JBoss começou em março de 1999. Nascido como um simples container EJB e, ao longo dos anos, evoluiu para ser um servidor de aplicações Java completo, que hoje está bastante maduro. Ele é desenvolvido por uma comunidade open source sob a licença LGPL e está se tornando um sério concorrente aos servidores de aplicação comercial. Segundo o site SourceForge, ele é baixado mais do que 150 mil vezes por mês!

O JBoss conquistou em 2002 o prêmio da JavaWorld na categoria -Best Java Application Server-, estando à frente de produtos comerciais cujas licenças custam vários milhares de dólares por CPU.

Mas, o que é um servidor de aplicação?

Servidores de aplicação permitem o desenvolvimento de aplicações distribuídas multi-camadas. Ele age como a interface entre os clientes e as bases de dados e os sistemas de informação corporativos (ERPs, sistemas legado, etc.).

E o J2EE?

Em 1999 a Sun começou a distribuir 3 edições de sua especificação para Java:

·   J2SE (Java 2 Standard Edition): APIs básicas, e para o desenvolvimento de aplicações em desktops.

·   J2ME (Java 2 Micro Edition): APIs para o desenvolvimento de aplicações embedded, em plataformas como PDAs e telefones celulares.

·   J2EE (Java 2 Enterprise Edition): APIs para o desenvolvimento de aplicações corporativas.

O objetivo do J2EE é especificar uma plataforma com um modelo de componentes e a infra-estrutura básica (segurança, transações, acesso a bases de dados, etc.) para o desenvolvimento de aplicações corporativas. O padrão J2EE da Sun é composto por:

·   A plataforma J2EE: Uma plataforma padrão para sediar aplicações J2EE, especificada como um conjunto de APIs, especificações e políticas de utilização das APIs. A arquitetura desta plataforma está mostrada na figura 1.

·   O J2EE Compatibility Test Suíte: Um conjunto de testes de compatibilidade para garantir que um produto J2EE é compatível com o padrão da plataforma J2EE.

·   A implementação de referência J2EE: Uma implementação de referênciapara demonstrar as capacidades do J2EE e para prover uma definição operacional da plataforma J2EE.

·   O modelo de programação de aplicações J2EE: Um modelo de programação padronizado para o desenvolvimento de aplicações multi-camadas.

Figura 1: Arquitetura da plataforma J2EE

O JBoss é uma implementação - clean-room - das especificações J2EE da Sun, isto é, ele não utiliza nenhuma biblioteca vinda da Sun ou de outros fornecedores. O grupo JBoss está trabalhando para conseguir a certificação J2EE da Sun, mas devido aos custos envolvidos ainda não conseguiu esta marca.

As Features do JBoss

Servidores de aplicação Java se tornaram uma commodity. Para justificar os altos preços cobrados, os vendedores destes sistemas procuram se diferenciar entregando junto com o servidor de aplicação, um conjunto de ferramentas e outros softwares tais como: ambientes de desenvolvimento de aplicações, gerenciadores de conteúdo e portais, etc.

Por ser open source, o caminho seguido pelo JBoss para a diferenciação é bem diferente: ele se integra muito bem com uma série de ferramentas open source para a criação de ambientes de desenvolvimento de software bastante completo e robusto. Por exemplo: o IDE Eclipse, o gerenciador de versão de software CVS, o construtor de aplicações Ant, o framework Struts, etc. A lista poderia se tornar bastante extensa. Além disto, uma série de outras iniciativas open source utilizam o JBoss como base, como por exemplo o Nukes on JBoss, um CMS (Content Management System) desenvolvido sobre este servidor de aplicações.

A diferenciação se dá do ponto de vista de sua arquitetura interna: o JBoss é baseado em uma arquitetura de microkernel JMX, onde todos os módulos que compõem o servidor, além das próprias aplicações, são componentes (MBeans) - plugados- ou substituídos dinamicamente, em runtime, sem a necessidade de paradas no servidor. Esta funcionalidade, que é chamada de “hot deploy”, dá uma grande flexibilidade e robustez ao servidor.

Outra funcionalidade bastante interessante é que o microkernel pode, ao ser inicializado, baixar toda a sua configuração, as classes de que necessita e as aplicações à partir de um servidor HTTP. Com isto é possível se criar -farms- de servidores JBoss à partir de um servidor central. E como o microkernel do JBoss cabe tranqüilamente em um floppy, é possível se fazer servidor totalmente auto-configurado.

O JBoss 4.0 inclui um framework para AOP - Aspect-Oriented Programming[2] - que permite que os desenvolvedores possam facilmente acrescentar serviços como transações, persistência e replicação de cache à partir de objetos Java comuns, sem a necessidade de criar EJBs. O framework AOP cuida de todo o trabalho de transformar o objeto Java em um EJB, e libera o desenvolvedor para se concentrar na lógica de Negócio das aplicações.

Conclusão

Servidores de aplicação J2EE estão ganhando um grande impulso devido à produtividade no desenvolvimento de aplicações corporativas distribuídas que eles permitem, e devido à facilidade que têm no aproveitamento de sistemas legados e bases de dados relacionais em novas aplicações. Estes servidores estão se tornando a infra-estrutura da nova geração de aplicações corporativas, seja para utilização intra-corporação, seja em aplicações B2B e B2C.

Em um cenário em que os executivos de TI têm cada vez maiores restrições orçamentárias, mas também enormes pressões para resultados cada vez maiores, uma alternativa de servidor de aplicação open source de grande qualidade caiu como uma luva. Assim como o Linux, o Apache e outros softwares open source, o JBoss está se tornando parte fundamental nas decisões de TI das grandes corporações.

A Dextra e o JBoss

A Dextra Sistemas tem profundo conhecimento e experiência na implementação de soluções J2EE com a utilização do JBoss. A Dextra também oferece treinamentos profissionais sobre o Jboss (saiba mais).

Notas

[1]  Apesar de ser totalmente compatível com as especificações J2EE, o servidor JBoss ainda não é J2EE Certified. A Sun Microsystems, detentora do padrão J2EE, permite a utilização da chancela J2EE somente aos servidores de aplicação que passaram pelo seu “test suíte”. Segundo Mark Fleury do grupo JBoss, conseguir esta certificação custa muito caro, e um possível acordo entre a Sun e o grupo JBoss para este fim está muito difícil de sair.

[2] Para maiores detalhes sobre AOP e AOSD - Aspect Oriented Software Development - veja o site http://aosd.net/.