Revista Do Linux
 
  
  
EDIÇÃO DO MÊS
 CD do Mês


 Capa
 Entrevista
 Estudo de Caso
 Serviço Público
 Documentação
 Hardware
 Passo a Passo
 Programação
 Redes
 Ferramenta
 Solução
 Estudo de Caso
 

Conheça o Tomcat

Incremente suas aplicações Web com Servlets e Java Server Pages

O fenômeno da Internet trouxe para os desenvolvedores de sistemas pelo menos dois novos desafios: toda aplicação deve ser distribuída (ao contrário das aplicações tradicionais, “monolíticas”, que rodam em um computador isolado.); e toda aplicação é formada pela agregação de um conjunto de tecnologias e linguagens (tradicionalmente bastava dominar uma única tecnologia e linguagem de programação). Surgiu então o conceito de aplicação para web (no original, web application).

A construção de uma aplicação para web é um processo diferente do usado no desenvolvimento de aplicações tradicionais. Nestas, analistas e programadores têm à sua disposição uma biblioteca de classes (no paradigma orientado a objeto) que devem ser usadas para compor uma aplicação que seja executável. Cabe a eles tomar todas as decisões sobre como estruturar a nova aplicação (sua arquitetura, componentes, etc.).

Já para o desenvolvimento de aplicações para web, surge a figura do web designer que exerce uma função específica: projetar o web site. Analistas e programadores, por sua vez, partem de um contexto previamente definido: o sistema será distribuído normalmente usando o modelo cliente-servidor, HTTP será o protocolo de comunicação entre as aplicações (programa cliente e programa servidor), TCP/IP será o protocolo de transporte de dados pela rede, etc. Além disso, em muitos casos, o programa cliente, estritamente falando, é o próprio browser do usuário. Quanto ao programa servidor, muitas das tarefas rotineiras (carregamento inicial, configuração, definição de logs, mecanismos de autenticação de usuários, etc.) já estão previamente implementadas. Cabe aos analistas e programadores focar sua atenção quase que exclusivamente nas especificidades da aplicação a ser desenvolvida e saber interagir com o web designer.

O Software Tomcat

O software Tomcat, desenvolvido pela Fundação Apache, permite a execução de aplicações para web. Sua principal característica técnica é estar centrada na linguagem de programação Java, mais especificamente nas tecnologias de Servlets e de Java Server Pages (JSP). Esta abordagem rivaliza, por exemplo, com a usada pela Microsoft com o ASP (baseada na linguagem Visual Basic).

A Fundação Apache, mais conhecida pelo seu servidor web de mesmo nome, permite, como no caso do servidor Apache, que o Tomcat seja usado livremente, seja para fins comerciais ou não.

O Tomcat está escrito em Java e, por isso, necessita que a versão Java 2 Standard Edition (J2SE) esteja instalada no mesmo computador onde ele será executado. No entanto, não basta ter a versão runtime de Java instalada, pois o Tomcat necessita compilar (e não apenas executar) programas escritos em Java. O projeto Jakarta da Fundação Apache, do qual o subprojeto Tomcat é o representante mais ilustre, tem como objetivo o desenvolvimento de soluções código aberto baseadas na plataforma Java.

Linguagens: Java, HTML e XML

O desenvolvimento de uma típica aplicação web a ser executada pelo Tomcat implica no domínio das seguintes linguagens:

Java

Todos os algoritmos da aplicação devem ser escritos em Java.

HTML

A interface da aplicação, isto é, aquilo que o usuário vê em sua tela, é construída na forma de páginas escritas em HTML e visualizadas através do browser do usuário. Esta tarefa normalmente é delegada ao web designer.

XML

Qualquer aspecto relacionado à configuração da aplicação deve ser expresso por meio da linguagem XML em um arquivo chamado web.xml. Os dados de configuração podem ser usados tanto pelo Tomcat como pela aplicação.

Servlets e Java Server Pages

Um servlet é uma classe escrita em Java cujos objetos têm a finalidade de gerar documentos codificados em HTML. Esta característica dos servlets implica em que um web designer precisa conhecer Java para poder construir as páginas de uma aplicação. Esta limitação (quantos web designers conhecem Java?) é superada pela tecnologia de JSP.

Uma página escrita em JSP (arquivos com extensão .jsp) é uma página escrita em HTML e que contém pequenos fragmentos de código Java e/ou tags especiais (definidos na especificação JSP). Com estes tags, o web designer não necessita escrever uma única linha de código Java. Ao contrário do que acontece com a tecnologia ASP, o analista/programador pode criar (em Java) os seus próprios tags customizados para a aplicação em desenvolvimento.

O servidor Tomcat tem a habilidade de converter automaticamente qualquer página JSP em um servlet equivalente. Em outras palavras, o Tomcat é capaz de criar código fonte Java a partir de um documento HTML.

Do ponto de vista técnico, Tomcat é a implementação referência das especificações das tecnologias de servlets e JSP criadas pela Sun. A versão 4.0.x do Tomcat implementa as especificações Servlet 2.3 e JSP 1.2 (que são as mais recentes). Várias empresas, como Borland, IBM, BEA, etc., também oferecem suas implementações das duas especificações da Sun.

Do ponto de vista operacional, a principal finalidade das tecnologias de servlets e JSP é permitir a criação dinâmica de conteúdos. A dinâmica, em um cenário típico, funciona do seguinte modo:

  • Um usuário, no seu browser, solicita algum documento (indicado por um URL) a um servidor Tomcat;
  • O servidor, ao receber uma solicitação (URL) do usuário, executa o servlet ou JSP correspondente àquele URL (a associação entre URL e servlet ou JSP é especificada no arquivo web.xml). O conteúdo gerado pelo servlet ou JSP, normalmente um documento no formato HTML, é uma combinação de tags HTML (incluídos explicitamente) e o resultado de algum processamento (por exemplo, algoritmo Java e/ou acesso a um banco de dados).
  • O usuário recebe o conteúdo gerado pelo servidor Tomcat e o exibe através do seu browser.

Na Prática

Em termos práticos, o Tomcat pode ser usado isoladamente, assumindo o papel de um servidor web, ou em conjunto com outro servidor (como o Apache). Neste caso, o Apache atende a requisições de páginas estáticas enquanto que o Tomcat atende a requisições de páginas dinâmicas.

Outra forma de usar o Tomcat é como parte da versão J2EE (Enterprise Edition) de Java para a criação de servidores de aplicação. Este é o caso, por exemplo, do servidor de aplicação JBoss.

Para saber mais

Tomcat - jakarta.apache.org/tomcat/

Apache - www.apache.org

Linguagem de Programação Java - java.sun.com

Servlets - java.sun.com/products/servlet/

Java Server Pages - java.sun.com/products/jsp/

Projeto Jakarta - jakarta.apache.org

Servidor de aplicação JBoss - www.jboss.org


A Revista do Linux é editada pela Conectiva S/A
Todos os Direitos Reservados.

Política de Privacidade
Anuncie na Revista do Linux