m 0cm 0pt">
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
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
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:
• JDK Location: Você pode usar o JDK 5.0 ou o 6.0, sendo este último mais recomendado por ter um desempenho superior. Isso é um diferencial do GlassFish3, pois há mais de um servidor concorrente que, apesar de já certificado Java EE 5, não é compatível com JVMs 6.04.
• Password do Admin: Como essa é uma distribuição profissional, não existe senha default (o que seria um “relaxamento de segurança”). Mas para finalidades de teste e desenvolvimento, recomendo usar “adminadmin”, que é a senha configurada como default em outras distribuições e também
• Enable Updatecenter Client: Esta opção (que está ativa por default) permite que o Update Center do GlassFish procure atualizações de forma automática, periodicamente. Se isso o incomoda, você pode desativar a verificação, pois é possível rodar o Update Center manualmente.
• (Somente Windows) Create Windows Service: Esta opção, que é recomendada apenas para produção, executa o servidor de aplicações como um serviço de background. Para desenvolvimento, recomendo não ativá
Nota 3: Correndo o risco de alguma confusão, mas para simplificar, usarei a partir daqui “GlassFish” para me referir a qualquer coisa que se aplique a todas as distribuições, e “SJSAS” para algo que seja exclusivo a esta distribuição. |
Nota 4: A certificação Java EE 5 só exige compatibilidade com JVMs 5.0. |
Teste inicial