Conhecendo o Apache Tomcat e o TomEE

De container web a um servidor de aplicações corporativas completo. Veja esse artigo e conheça essas duas poderosas ferramentas, o Apache Tomcat e o TomEE.

Fique por dentro
Este artigo trata de servidores de aplicações Java, mais especificamente, do servidor Apache Tomcat e sua extensão Apache TomEE.

No texto o autor aborda detalhes desde a origem do servidor nos estabelecimentos da Sun Microsystems, em 1999, discorrendo sobre seu papel como contêiner web que serve de implementação de referência para as especificações Servlet e JavaServer Pages (JSP), apresentando os componentes da especificação JSR-316, referente à plataforma Java EE 6, até chegar ao Apache TomEE, versão estendida do Apache Tomcat que se propõe a ser uma implementação completa dos perfis definidos na plataforma corporativa do Java.

Este assunto irá ampliar a visão do leitor em relação aos servidores Java e será útil no momento de definir qual servidor utilizar para rodar sua aplicação corporativa.

O Apache Tomcat foi lançado oficialmente pela Apache Software Foundation (ASF) em 1999, como uma implementação de referência para a Servlet API. A sua primeira versão, curiosamente, já foi a 3.0, nunca existindo as versões 1.x ou 2.x do servidor.

Antes disso, em 1995, a Servlet API foi concebida por James Gosling, e sua primeira implementação foi desenvolvida para o servidor Jeeves, criado pela JavaSoft, empresa da Sun Microsystems. De acordo com James Duncan, desenvolvedor Java que coordenava o projeto, “O Jeeves é um dos poucos servidores que pode ser estendido de qualquer maneira, como uma espécie de canivete suíço”.

Ainda segundo Duncan, que também trabalhou na especificação de Servlets e na implementação do Tomcat, em um processo de reestruturação promovido pela Sun, ele e sua equipe ficaram responsáveis por formalizar a Servlet API.

Nesta ocasião, ao se preparar para codificar a implementação de referência, ele precisava nomear o pacote em que seriam gravados os arquivos e com base na capa de um livro sobre Servlets, que em breve seria lançado pela O’Reilly, surgiu o nome Tomcat.

O nome não foi usado logo no início e o servidor foi lançado como JavaServer Web Development Kit, ou apenas JSWDK. Na Listagem 1 temos a especificação da Servlet API que foi disponibilizada com o JSWDK 1.0.

Segundo Martin Bond, autor do artigo Tomcat Kick Start, a Sun distribuiu o Tomcat pela primeira vez no Java Web Services Developer Pack (Java WSDP) e na versão 1.3 do JSWDK.

Enfim, em 1999, quando a Sun doou o código para a Apache, o nome Tomcat foi estabelecido definitivamente e ele se tornou a implementação de referência da Servlet API e do JSP.

Se o projeto Jeeves fosse considerado como a primeira versão do Tomcat e o JSWDK como a segunda versão, ficaria fácil entender por que o Tomcat só passou a existir a partir da versão 3.0 e nunca houveram as versões anteriores. No entanto, mesmo o código da JSWDK foi totalmente reescrito pelo próprio Duncan, em 1998.

A decisão de usar o 3.0 como versão inicial do Tomcat se deve à junção do servidor Apache JServ, construído com base na Servlet API 2.0, com a implementação do Servlet 2.2, realizada por Duncan. Após a conclusão da codificação e entrega do código fonte à Apache, ele comentou: “A partir de então [referindo-se à doação do código], a dinâmica do código livre se consolidou. O Tomcat foi reescrito algumas vezes por diferentes equipes. Ampliado. Encolhido. Mas ele cumpriu seu objetivo: facilitar o uso de Servlets em todo o mundo e servir de referência para o funcionamento delas”.

Nota: Antes da doação do servidor para a Apache, o JSWDK era um produto comercial da Sun cujo período de avaliação era de apenas 120 dias e custava, após este período, 295 dólares [ORACLE, 1997:2].

Listagem 1. Servlet.java, v 1.4 20/04/1999.
package javax.servlet; import java.io.IOException; public interface Servlet { public void init(ServletConfig config) throws ServletException; public ServletConfig getServletConfig(); public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException; public String getServletInfo(); public void destroy(); }

Depois da Sun propor a criação do Java Community Process (JCP), em 1998, apresentar a especificação oficial da Servlet API 2.2, em 1999, e entregar o código fonte para a Apache, a utilização do Tomcat cresceu rapidamente. " [...] continue lendo...

Artigos relacionados