GlassFish
# GlassFish

GlassFish é um servidor de aplicação open source liderado pela Sun Microsystems para a plataforma Java EE. Sua versão proprietária é chamada Sun GlassFish Enterprise Server. GlassFish é software livre, sendo duplamente licenciado sob duas licenças de software livre: Common Development and Distribution License (CDDL) e GNU General Public License (GPL) alterada exceção para classpath.
GlassFish suporta todas as especificações da API Java EE, tais como JDBC, RMI, JavaMail, JMS, JMX etc. e define como coordená-las. GlassFish também suporta algumas especificações para componentes Java EE, como Enterprise JavaBeans, conectore, servlets, portlets, JSF e diversas tecnologias de web services. Isto permite que desenvolvedores criem aplicações corporativas portáveis, escaláveis e fáceis de integrar com código legado.
A base de GlassFish é o código-fonte liberado pela Sun e o sistema de persistência TopLink da Oracle. Ele utiliza uma variante do Apache Tomcat como container de servlets, com um componente adicional chamado Grizzly que utiliza nio para maior escalabilidade e eficiência.

## Versões lançadas

A Sun lançou o projeto GlassFish em 6 de junho de 2005. Em 4 de maio de 2006, o Projeto GlassFish lançou a primeira versão que suportava a especificação Java EE 5.
Em 8 de maio de 2007, o projeto SailFin foi anunciado na JavaOne como um subprojeto de GlassFish. O objetivo do Projeto SailFin é adicionar suporte ao Protocolo de Iniciação de Sessão (SIP) às servlets em GlassFish.
A comunidade GlassFish lançou a versão 2 de GlassFish (também conhecida como Sun Java System Application Server 9.1) com capacidade completa para clusterização corporativa e web services interoperáveis com tecnologia Microsoft.
A GlassFish 2.1 (também conhecido como Sun GlassFish Enterprise Server 2.1) foi lançada pela Sun e pela comunidade em 21 de janeiro de 2009. Esta versão foi a base para o servidor de aplicações SIP SailFin (também chamado Sun Communication Application Server).
Já em 10 de dezembro de 2009 GlassFish v3 foi lançado. Sendo a implementação de referência de Java EE, foi o primeiro servidor de aplicações a implementar completamente Java EE 6. (JSR 316, porém, fora aprovada com reservas.) Nesta versão, o servidor de aplicação adiciona novas funcionalidades para facilitar a migração de Tomcat para GlassFish. Outras novas funcionalidades notáveis relacionavam-se a modularidade (GlassFish v3 Prelude já incluía um ambiente de execução OSGi Apache Felix), tempo de inicialização (uns poucos segundos), implantação ao código ser alterado (suportado por NetBeans e plugins do Eclipse) e preservação de sessão entre reimplantações.
Logo após a aquisição da Sun, em 25 de março de 2010, a Oracle publicou um planejamento para as versões 3.0.1, 3.1, 3.2 e 4.0 de GlassFish, envolvendo temas como clusterização, virtualização e integração com Coherence e outras tecnologias Oracle. A versão da comunidade open source permanece inalterada em outros aspectos.
Em 28 de fevereiro de 2011, Oracle lançou GlassFish v3.1. Esta versão introduziu suporte a clusterização e balanceamento de carga, além de suportar a nova especificação Java EE 6 Web Profile.