Artigo Java Magazine 52 - GlassFish v2: O Novo Desafiante

Conheça o servidor Java EE 5 liderado pela Sun.

Esse artigo faz parte da revista Java Magazine edição 52. Clique aqui para ler todos os artigos desta edição 

Clique aqui para ler esse artigo em PDF.

GlassFish v2: O Novo Desafiante

Conheça o servidor Java EE 5 liderado pela Sun

 

Quando se fala em servidores de aplicações, vêm logo à mente nomes como Tomcat e JBoss entre as opções open source, ou WebSphere ou WebLogic entre os proprietários. Sempre causou estranheza, desde os tempos do J2EE 1.2, que a Sun, concorrendo em ambas as categorias, não figurasse entre os líderes, carecendo tanto de sucesso de público (participação do mercado) quanto de crítica (produto considerado tecnicamente superior). O leitor mais antigo da Java Magazine lembrará várias e longas matérias sobre outros servidores de aplicações, mas nenhuma sobre o Sun Java System Application Server (SJSAS), ou mesmo sobre a sua primeira encarnação open source, o GlassFish v1. Como os autores desta revista costumam focar em softwares populares ou tecnicamente inovadores (de preferência ambos), ficou de lado o servidor da própria Sun.

A Sun demorou a acertar a mão num mercado cuja criação ela mesma liderou – mas acertou. Versões recentes do SJSAS/ GlassFish têm sido reconhecidas como um grande avanço, e isso finalmente começa a render dividendos em participação do mercado e cobertura positiva da mídia. Além disso, não há dúvida que a adoção da licença GPLv2 no final de 2006 fez muito para levantar o projeto na comunidade de software livre. Antes, o GlassFish já era um projeto livre, mas sob a licença CDDL da Sun, que apesar de ser certificada pela OSI1 não é uma licença muito popular. Agora o GlassFish usa uma licença dual: CDDL + GPL. Aliás, o GlassFish é o projeto mais ativo do java.net e um dos maiores projetos de código aberto que existem, em qualquer categoria.

Em artigos recentes desta coluna (ex.: o anterior, sobre o Eclipse WTP 2), já utilizei o GlassFish algumas vezes. Mas isso sempre de passagem, com foco em alguma outra ferramenta, como IDEs, ou assunto, como Java EE. Com o lançamento do GlassFish v2, senti que era o momento de dar a cobertura devida ao novo desafiante.

Este artigo introduz o leitor ao Glass-Fish, procurando ser uma “introdução aprofundada”. Vamos examinar não só fundamentos como a instalação e a administração básica, mas também investigar vários aspectos únicos e interessantes do servidor: seus pontos fortes, tecnologias e subprojetos, e mais.

 

Nota 1: OSI = Open Source Initiative (www.opensource.org), órgão sem fi ns lucrativos que estabelece quais licenças (e por conseqüência, quais softwares) são open source. Note que a autoridade da OSI para fazer isso vem somente da sua reputação na comunidade, pois “open source” não é uma marga registrada da OSI, como alguns imaginam

 

Instalação

O GlassFish pode ser instalado de três maneiras: com a distribuição “pura” do projeto GlassFish, com a distribuição do SJSAS, ou pelo instalador integrado do NetBeans. Todas essas distribuições incluem exatamente o mesmo código, sendo diferenciadas apenas em itens secundários. O dilema ao escrever este artigo é qual distribuição recomendar. Seguem os prós e contras de cada opção:

GlassFish v2 (glassfish.dev.java.net, 54Mb) É uma distribuição básica, somente o container Java EE 5. Recomendada para quem tiver interesse em colaborar com o projeto, ou para quem prefere a agilidade típica de projetos livres: por exemplo, se algum bug que o incomoda foicorrigido recentemente, você pode baixar o último build noturno e não precisa esperar meses por um release. Desvantagens: o instalador é primitivo e a distribuição não integra nenhum componente opcional (estes componentes também são projetos livres – você só terá trabalho extra para baixar e instalar os que precisar).

NetBeans 6.0 (netbeans.org/downloads, 95Mb a 172Mb) – Possui um bom instalador e inclui diversos componentes opcionais (na distribuição maior). Desvantagem: é uma distribuição amarrada aos releases do IDE NetBeans, o que impacta tanto a periodicidade dos releases do GlassFish, quanto o tamanho do download (pois todas as distribuições incluem o NetBeans).

SJSAS 9.1 ou Java EE 5 SDK (java.sun. com/javaee, 78Mb a 140Mb): Este é o servidor de aplicações comercial da Sun. É também a Implementação de Referência (RI) da plataforma Java EE 5 (JSR-244). Possui refinamentos como um bom instalador, exemplos e documentação suplementares e diversos componentes opcionais. Além disso, conta com suporte comercial e outros serviços da Sun. O SJSAS pode ser utilizado livremente, inclusive para executar aplicações comerciais em produção. A Licença de Uso só não dá liberdade de redistribuição. Ou seja, ao desenvolver um software para terceiros, você não pode redistribuir o SJSAS (incluí-lo no CD ou download de distribuição da sua aplicação), nem pode modificar o SJSAS (exceto de maneiras “oficiais”, ex.: via Update Center).

 

Decidi optar pela terceira alternativa, por dois motivos: ela vem com um instalador mais amigável e é uma opção neutra em relação a IDEs. Mesmo que o leitor seja adepto radical de software livre e se incomode com as restrições de redistribuição, essas restrições têm pouca importância porque as três distribuições são baseadas no mesmo código (o qual tem licença dual, CDDL e GPL v2)2.

Você pode desenvolver com o SJSAS, mas ao colocar a aplicação em produção, preferir uma distribuição “puramente livre” como o GlassFish, somente pela facilidade de customização e redistribuição. Isso sem falar que, em clientes de médio a grande porte, a instalação de softwares de infraestrutura como servidores de aplicações costuma ser responsabilidade da área de TI do cliente (empresas maiores geralmente irão preferir o SJSAS, por ser a única opção que conta com suporte comercial da Sun).

 

Nota 2: Exceto, obviamente, por itens não compartilhados entre todas as distribuições, como o instalador.

 

Instalando, enfim

Feita a opção pelo SJSAS 9.1, na URL indicada escolha Downloads e clique no botão Download (presumindo que você já tem um JDK 5.0 ou 6.0 instalado). Isso conduz a um download de 95Mb, que além do servidor de aplicações, inclui alguns extras como exemplos e javadocs. (Os “componentes opcionais” que mencionei, os quais fornecem suporte a ESB e Portlets, além de umserviço de identidade, estão disponíveis em downloads separados no final da página de downloads – não cobriremos estes componentes mais especializados neste artigo.)   Vamos discutir algumas opções importantes apresentadas pelo instalador:

" [...] continue lendo...

Artigos relacionados