Por que eu devo ler este artigo: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.

De acordo com Jason Hunter, membro da Apache Software Foundation, a Sun queria difundir as tecnologias Servlet e JSP e a Apache era o caminho para isso.

Além disso, a Sun não tinha interesse em abrir o código fonte, mas entregá-lo para a Apache, que dominava o mercado de servidores, foi um passo importante para torná-lo o servidor Java mais utilizado do planeta.

Em 2007, segundo Srini Penchikala, arquiteto e conferencista, o Tomcat era utilizado por aproximadamente 64% dos desenvolvedores da comunidade Java. E em 2013, de acordo com Vladimir Sor, criador da ferramenta Plumbr para medição de performance em aplicações Java, em 2013 o Tomcat ocupava 43% do mercado de servidores de aplicações.

Servlet e o Apache Tomcat

O Servlet é o coração do servidor Apache Tomcat. É uma tecnologia da plataforma Java para estender e evoluir o servidor. Seu modelo de desenvolvimento baseado em componentes abstrai do programador preocupações de baixo nível, como sockets, streams, serialização e afins. ...

Quer ler esse conteúdo completo? Seja um assinante e descubra as vantagens.
  • 473 Cursos
  • 10K Artigos
  • 100 DevCasts
  • 30 Projetos
  • 80 Guias
Tenha acesso completo