Clique aqui para ler esse artigo em PDF.
O melhor de dois mundos
Configurações básicas e avançadas para a integração do Servidor HTTP Apache com o Tomcat, utilizando o JK2
A popularidade do Servidor HTTP Apache é indiscutível. Segundo uma pesquisa da Netcraft, de 2003, mais de 63% dos websites são servidos por ele. O Apache é um servidor web rápido e maduro que se sobressai ao servir conteúdo estático, tais como páginas HTML e imagens, e em muitas outras áreas, como em mecanismos de autenticação, segurança via SSL e certificados, estabilidade, suporte a domínios virtuais e integração com outras ferramentas.
Por outro lado, o container web Tomcat é excelente para servir páginas dinâmicas baseadas em JSP e servlets, além de, claro, ser capaz de servir páginas estáticas. Como sabemos, o Tomcat é a implementação de referência do container para as tecnologias de servlets e JavaServer Pages. Pode operar como um servidor web independente, ou atuar como um container out-of-process para outros servidores web como o Apache ou o IIS.
Apesar de fornecer uma solução completa para JSPs e servlets, o Tomcat não pode ser considerado ideal como servidor web em um ambiente de produção. Primeiro, não é tão rápido ao servir páginas estáticas; segundo, é pouco configurável com relação a tipos de arquivos suportados ou domínios virtuais; finalmente, existem muitas empresas com grandes investimentos baseados em outras tecnologias web – por exemplo CGI, Perl, PHP – não suportadas pelo Tomcat, mas incorporadas ao Apache há anos.
Para construir aplicações web rápidas e escaláveis, os requisitos para um ambiente de produção robusto apontam para um servidor Apache que delega requisições a JSPs e servlets para um ou mais containers Tomcat. Isso pode ser feito utilizando um módulo de comunicação entre as duas partes – um conector, que é composto por um componente escrito em Java e outro em código nativo (geralmente em C/C++). O primeiro faz a comunicação do lado do Tomcat, recebendo as requisições provenientes do segundo, que se encontra no Apache.
Figura 1. Arquitetura proposta
Conectores JTC
Os conectores do subprojeto JTC (jakarta-tomcat-connectors) são pequenos módulos que fazem a comunicação entre o Apache e o Tomcat, ou entre o Tomcat e qualquer outro servidor web. Conheça um pouco mais sobre os principais conectores oferecidos pelo Tomcat:
• mod_jserv – foi o primeiro conector a surgir, originando o protocolo AJP (Apache JServ Protocol). Atualmente está obsoleto e não é mais utilizado. Um detalhe: “JServ” é o nome de um antigo projeto de container web da Apache Foundation, descontinuado em favor do Tomcat;
• webapp (mod_webapp) – originado do mod_jserv, se comunica com o servidor web através do protocolo WARP, bastante utilizado, devido à sua simplicidade e por usar um protocolo mais leve. É baseado no APR (Apache Portable Runtime), uma biblioteca escrita em C que constitui uma camada de portabilidade para comunicação, mas que é disponível apenas para o Apache, não suportando outros servidores web;"
[...] continue lendo...