Segunda parte de un pequeño tutorial donde explicaremos cómo configurar Tomcat +IIS (Internet Information Server de Microsoft).
Añadir el directorio virtual al IIS
Ahora necesitamos añadir un nuevo directorio virtual en el IIS. Este directorio virtual es el que hacíamos referencia con el atributo extension_uri del fichero isapi_redirect.properties.
Abrimos la consola de administración del IIS (Inicio --> Panel de Control --> Herramientas administrativas --> Servicios de Internet Information Server).
Para añadir el directorio virtual pinchamos botón derecho sobre Sitio Web predeterminado --> Nuevo --> Directorio virtual ...
Nos aparece el asistente para añadir un nuevo directorio virtual:
Pulsamos Siguiente >.
Escribimos jakarta como alias del virtual host. Este alias debe coincidir con lo que pusimos en el atributo extension_uri del fichero de propiedades.
Pulsamos Siguiente >.
Ponemos la ruta física al directorio donde habíamos copiado el fichero isapi_redirect.dll. En mi caso c:\java\apache-tomcat-5.5.12\bin\win32\i386.
Pulsamos Siguiente >.
Le damos permisos de ejecución.
Pulsamos Siguiente >.
Pulsamos Finalizar para terminar el asistente.
Añadir el filtro al IIS
Ahora necesitamos añadir el filtro isapi_redirect.dll al IIS. Para ello, pinchamos botón derecho sobre Sitios Web --> Propiedades.
En la pestaña de Filtros ISAPI pinchamos sobre el botón Agregar ....
Ponemos un nombre para el filtro que sea significativo, yo he puesto jakarta, e indicamos la ruta del ejecutable, es decir la ruta donde se encuentra el fichero isapi_redirect.dll.
Pinchamos sobre Aceptar.
Vemos que el filtro está añadido pero no está levantado. Para ello necesitamos reiniciar el IIS. Para ello pinchamos botón derecho sobre el equipo local --> Todas las tareas --> Reiniciar IIS.
Comprobar la instalación
Podemos probar que todo ha ido correctamente abriendo nuestro navegador y escribiendo la URL http://localhost/jsp-examples/
Se puede ver como en la URL no hemos especificado el puerto 8080 del Tomcat. Es decir estamos haciendo la petición por el puerto 80 a través del IIS.
Conclusiones
Aunque en un principio puede parecer un poco complicado, merece la pena el esfuerzo, ya que las distintas configuraciones nos pueden dar mucho juego.
Podemos montan un IIS que reciba todas las peticiones. Con esto conseguimos que todas las peticiones entren por el puerto 80, con independencia de si las sirve el IIS o el Tomcat. Esto hace que no sea necesario abrir puertos adicionales en nuestros firewalls ni en los de nuestros clientes.
Además jugando con los workers podemos tener un IIS que reparta el trabajo ha distintos Tomcats, que pueden estar incluso en distintas máquinas. Eso puede mejorar el rendimiento de nuestras aplicaciones, y mejora la escalabilidad del sistema.
Ahora necesitamos añadir un nuevo directorio virtual en el IIS. Este directorio virtual es el que hacíamos referencia con el atributo extension_uri del fichero isapi_redirect.properties.
Abrimos la consola de administración del IIS (Inicio --> Panel de Control --> Herramientas administrativas --> Servicios de Internet Information Server).
Para añadir el directorio virtual pinchamos botón derecho sobre Sitio Web predeterminado --> Nuevo --> Directorio virtual ...
Nos aparece el asistente para añadir un nuevo directorio virtual:
Pulsamos Siguiente >.
Escribimos jakarta como alias del virtual host. Este alias debe coincidir con lo que pusimos en el atributo extension_uri del fichero de propiedades.
Pulsamos Siguiente >.
Ponemos la ruta física al directorio donde habíamos copiado el fichero isapi_redirect.dll. En mi caso c:\java\apache-tomcat-5.5.12\bin\win32\i386.
Pulsamos Siguiente >.
Le damos permisos de ejecución.
Pulsamos Siguiente >.
Pulsamos Finalizar para terminar el asistente.
Añadir el filtro al IIS
Ahora necesitamos añadir el filtro isapi_redirect.dll al IIS. Para ello, pinchamos botón derecho sobre Sitios Web --> Propiedades.
En la pestaña de Filtros ISAPI pinchamos sobre el botón Agregar ....
Ponemos un nombre para el filtro que sea significativo, yo he puesto jakarta, e indicamos la ruta del ejecutable, es decir la ruta donde se encuentra el fichero isapi_redirect.dll.
Pinchamos sobre Aceptar.
Vemos que el filtro está añadido pero no está levantado. Para ello necesitamos reiniciar el IIS. Para ello pinchamos botón derecho sobre el equipo local --> Todas las tareas --> Reiniciar IIS.
Comprobar la instalación
Podemos probar que todo ha ido correctamente abriendo nuestro navegador y escribiendo la URL http://localhost/jsp-examples/
Se puede ver como en la URL no hemos especificado el puerto 8080 del Tomcat. Es decir estamos haciendo la petición por el puerto 80 a través del IIS.
Conclusiones
Aunque en un principio puede parecer un poco complicado, merece la pena el esfuerzo, ya que las distintas configuraciones nos pueden dar mucho juego.
Podemos montan un IIS que reciba todas las peticiones. Con esto conseguimos que todas las peticiones entren por el puerto 80, con independencia de si las sirve el IIS o el Tomcat. Esto hace que no sea necesario abrir puertos adicionales en nuestros firewalls ni en los de nuestros clientes.
Además jugando con los workers podemos tener un IIS que reparta el trabajo ha distintos Tomcats, que pueden estar incluso en distintas máquinas. Eso puede mejorar el rendimiento de nuestras aplicaciones, y mejora la escalabilidad del sistema.
Alejandro Pérez García
Dir. Implantación y Rendimiento.