Apache Tomcat
Apache Tomcat es código abierto y contiene servlets de la fuente y JSP Java EE. Desde el proyecto Jakarta es uno de los muchos proyectos de la Apache Software Foundation. Implementa los servlets especificaciones y JSP Java Community Process se configura mediante archivos XML y propiedades, e incluye herramientas para la configuración y administración. También incluye un servidor HTTP.
Desarrollo
Tomcat es sólo un contenedor Web, no un servidor Web para compartir entradas. Él maneja específicamente servlets y JSP (un compilador Jasper compilar páginas JSP para hacer servlets). También puede a veces ser designado como un motor de servlet, o más incorrectamente como un servidor Web.
Tomcat en realidad utiliza a menudo la combinación con un servidor Apache Web o servidor Web (JBoss, IIS, WebSphere, etc).
Tomcat está escrito en Java. Por lo tanto, se puede ejecutar a través de la máquina virtual Java en cualquier sistema operativo que lo apoya.
Catalina
Catalina es el contenedor de servlets utilizado por Tomcat. Catalina servlet cumple con las especificaciones de Sun Microsystems y JavaServer Pages (JSP).
Coyote
Coyote es el conector HTTP Tomcat, compatible con el protocolo HTTP 1.1 para el servidor web o contenedor de aplicaciones.
Jaspe
Motor Jasper JSP Apache Tomcat. 5.x Tomcat utiliza Jasper, que es una implementación de la especificación JavaServer Pages 2.0 de Sun Microsystems. Jasper analiza los archivos JSP para compilar código Java como servlets (gestionado por Catalina). Durante su ejecución, Jasper es capaz de detectar y volver a compilar automáticamente los archivos JSP modificados.
Conceptos arquitectónico:
Los miembros de la Apache Software Foundation y voluntarios independientes desarrollan y mantienen Tomcat. Los usuarios tienen acceso al código fuente y los binarios bajo la licencia Apache Software. La primera versión de Tomcat 3.0. En 2005, la versión 5.x fue puesto en libertad, la implementación de Servlets 2.4 y JSP 2.0. Desde la versión 4.x, Tomcat utiliza el servidor de contenedor Catalina.
La arquitectura de software consiste en:
Un servidor Server corriendo;
Servicios , recogiendo intermedio diferentes transmisiones de canales para el tratamiento;
Un motor que para cada uno los procesos de servicio solicita coleccionistas y devuelve las respuestas;
Ejércitos que conectan una dirección de red con el servidor;
Conectores, que interpretan un protocolo de canal y la comunicación de red para las bebidas. El conector HTTP es el más típico;
Contextos, que son las aplicaciones Web.
El contexto es el mejor lugar para ubicar un servicio informático que queremos que sea en una red. Los otros módulos son implementados por software.
Principio de funcionamiento
Tomcat se utiliza a menudo en combinación con otro servidor Web más general, Apache en general, pero puede ser JBoss:
El servidor Web se encarga de las páginas web tradicionales (.html, .php, por ejemplo)
Delega a páginas específicas de Tomcat dentro de una aplicación Web Java (Servlets, JSP).
El jk mod se puede utilizar para realizar la comunicación entre Apache y Tomcat. Técnicamente, Apache Tomcat se comunica con el puerto 8009 (a través del protocolo ajp13).
Para la administración remota, Tomcat también se puede llegar a través de su propio puerto (8080 por defecto).
Árbol de directorios
La instalación de Tomcat predeterminado incluye los siguientes directorios:
bin: Secuencias de comandos y ejecutables para diferentes tareas: Start (arranque), juicio, etc.;
incluyendo archivo catalina.sh que el servidor tomcat lanza y cierra.
Comunes: clases comunes que Catalina y aplicaciones Web utilizan.
Conf: Los archivos de configuración en formato XML y DTD XML que utilizan estos archivos.
Lib: El directorio que contiene las bibliotecas de software (archivos .jar).
Log: Registros de aplicaciones Web y Catalina:
incluyendo archivo catalina.out.
Servidor: Clases utilizadas sólo por Catalina.
Compartida: Clases compartidos por todas las aplicaciones Web.
Webapps: Directorio que contiene la aplicación web (.war).
Trabajo: directorios y archivos temporales (caché).