Infra - Windows Server

Integrando o IIS e o Tomcat

Com o crescimento da utilização da Linguagem Java em aplicações para diversos ambientes, é muito comum encontrarmos equipes que atualmente utilizam tecnologia Windows(ASP), que estão testando JSP como uma alternativa ao ambiente proprietário da Microsoft...

por José Luiz Moreira



Com o crescimento da utilização da Linguagem Java em aplicações para diversos ambientes, é muito comum encontrarmos equipes que atualmente utilizam tecnologia Windows (ASP), que estão testando JSP como uma alternativa ao ambiente proprietário da Microsoft.

Uma solução bastante interessante para uma fase de transição, seria a implantação de um ambiente de desenvolvimento integrando o IIS (servidor Web da Microsoft) com o Jakarta TomCat, que é um Web Container gratuito, que tem como principal função, a interpretação das páginas JSP.

Considerando que o ambiente com o IIS e o TomCat já está instalado, este são os procedimentos a serem efetuados:

- Configuração do TomCat

- Faça o download da biblioteca(isapi_redirector.dll) responsável por redirecionar as páginas JSP para o TomCat no endereço:
http://apache.usp.br/jakarta/tomcat-connectors/jk/binaries/win32/isapi_redirect_1.2.5.dll.
Copie a dll no diretório %CATALINA_HOME%\bin\isapi_redirector.dll

- No diretório %CATALINA_HOME%\conf\auto, criar o arquivo workers.properties
Observe que os seguintes parâmetros devem ser alterados para o caminho da sua máquina:
* worker.tomcat_home=C:\Arquivos de programas\Apache Group\Tomcat 4.1
* worker.java_home=C:\j2sdk1.4.0

---    Conteúdo do arquivo workers.properties ---------

############################################################################
####################
# ************ Begin workers.properties **************
worker.ajp13.type=ajp13

#
# Specifies the load balance factor when used with
# a load balancing worker.
# Note:
#  ----> lbfactor must be> 0
#  ----> Low lbfactor means less work done by the worker.
worker.ajp13.lbfactor=1

#
# Specify the size of the open connection cache.
#worker.ajp13.cachesize

#
#------ DEFAULT LOAD BALANCER WORKER DEFINITION ----------------------
#---------------------------------------------------------------------
#

#
# The loadbalancer (type lb) worker perform weighted round-robin
# load balancing with sticky sessions.
# Note:
#  ----> If a worker dies, the load balancer will check its state
#        once in a while. Until then all work is redirected to peer
#        worker.
worker.loadbalancer.type=lb
worker.loadbalancer.balanced_workers=ajp13

#
# worker.tomcat_home should point to the location where you
# installed tomcat. This is where you have your conf, webapps and lib
# directories.
#
worker.tomcat_home=C:\Arquivos de programas\Apache Group\Tomcat 4.1 (altere para o 
caminho da sua máquina)

#
# worker.java_home should point to your Java installation. Normally
# you should have a bin and lib directories beneath it.
#
worker.java_home=C:\j2sdk1.4.0 (altere para o caminho da sua máquina)

#
# You should configure your environment slash... ps=\ on NT and / on UNIX
# and maybe something different elsewhere.
#
ps=
#
#------ ADVANCED MODE ------------------------------------------------
#---------------------------------------------------------------------
#

#
#------ DEFAULT worker list ------------------------------------------
#---------------------------------------------------------------------
#
# The worker that your plugins should create and work with
worker.list=ajp13

#
#------ DEFAULT ajp13 WORKER DEFINITION ------------------------------
#---------------------------------------------------------------------
#

#
# Defining a worker named ajp13 and of type ajp13
# Note that the name and the type do not have to match.
#
worker.ajp13.port=8009
worker.ajp13.host=localhost

# ************ End worker.properties **************

--- Fim do conteúdo do arquivo workers.properties --------

- No diretório %CATALINA_HOME%\conf\auto, criar o arquivo uriworkersmap.properties.

Todos novos contextos criados no TomCat, devem ser adicionados neste arquivo.

    ------   Conteúdo do arquivo uriworkersmap.properties     ----

# *********** Begin uriworkersmap.properties ***
#
# Simple worker configuration file
#

# Mount the Servlet context to the ajp13 worker
/servlet/*=ajp13

# Mount the examples context to the ajp13 worker
/examples/*=ajp13 (Exemplo de contexto do TomCat)

# Advanced mount of the examples context
# /examples/servlet/*=ajp13
# ************* End uriworkermap.properties ****

 ------ fim do conteúdo do arquivo uriworkersmap.properties     -------

- Configuração do registry do Windows

1 - Criar a seguinte estrutura de chaves:
[HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Jakarta Isapi Redirector\1.0]
Observe que os valores das chaves devem ser idênticos aos descritos acima(Case Sensitive)

2 - Na chave 1.0, criar os valores:
extension_uri=/jakarta/isapi_redirector.dll (onde, /jakarta é o diretório virtual a ser criado no IIS)
log_file= C:\\Arquivos de programas\\Apache Group\\Tomcat 4.1 \\logs\\iis_redirect.log (altere para o caminho da sua máquina)
log_level=emerg
worker_file= C:\\Arquivos de programas\\Apache Group\\Tomcat 4.1 \\conf\\auto\\workers.properties (altere para o caminho da sua máquina)
worker_mount_file= C:\\Arquivos de programas\\Apache Group\\Tomcat 4.1 \\conf\\auto\\uriworkersmap.properties (altere para o caminho da sua máquina)

3 - Configuração do Microsoft IIS

a - Abra tela de configuração do IIS;
b - No "Site da Web padrão", crie uma pasta virtual chamada "jakarta", tendo como caminho físico o diretório %CATALINA_HOME%\bin\;

c - Entre na propriedades do "Site da Web padrão", e selecione a aba "Filtros ISAPI". Pressione o botão "Adicionar", digitando um nome para o filtro ex.:("Jakarta Redirector") e selecionando o caminho em que a dll se encontra.
ex.: %CATALINA_HOME%\bin\isapi_redirector.dll.

d - Reinicie o IIS;
e - Retorne às propriedades de "Filtros ISAPI" e verifique se a dll foi registrada corretamente.
Uma seta verde apontando para cima, indicará sucesso na operação.

Em caso de algum problema, reinicie o computador.

4 - Testando o ambiente.

Abra o navegador e digite a seguinte URL:
http://localhost/examples/jsp/index.html (página de exemplo do TomCat)

Nota importante:

- Para criar um novo contexto no TomCat, acrescente no arquivo %CATALINA_HOME%\conf\server.xml:
<Context path="/jsp" docBase="c:\Intranet\w3root\jsp" debug="0" privileged="true"/>
Inserir o contexto criado no arquivo %CATALINA_HOME%\conf\auto\ uriworkersmap.properties

EX:
/jsp/*=ajp13
Após a edição, reinicie o Tomcat e o IIS.

Depois é só chamar a aplicação.
EX: http://intranet.inpe.br/jsp/pagina.jsp

José Luiz Moreira
Equipe Intranet
INPE - Instituto Nacional de Pesquisas Espaciais

José Luiz Moreira

José Luiz Moreira - Analista de Sistemas
Responsável pela equipe de desenvolvimento da Intranet do INPE (Instituto Nacional de Pesquisas Espaciais)