Apache Tomcat - Apache Tomcat
Autor (es) original (es) | James Duncan Davidson |
---|---|
Desarrollador (es) | La Fundación de software Apache |
Versión inicial | 1999 |
Lanzamiento estable | 10.0.11 (10 de septiembre de 2021 [±] | )
Versión de vista previa | 10.1.0-M5 (alfa) (10 de septiembre de 2021 [±] | )
Repositorio | Repositorio de Tomcat |
Escrito en | Java |
Escribe |
Servidor web HTTP de contenedor de servlet |
Licencia | Licencia Apache 2.0 |
Sitio web |
tomcat |
Apache Tomcat (llamado "Tomcat" para abreviar) es una implementación gratuita y de código abierto de las tecnologías Jakarta Servlet , Jakarta Expression Language y WebSocket . Tomcat proporciona un entorno de servidor web HTTP "Java puro" en el que se puede ejecutar el código Java .
Tomcat es desarrollado y mantenido por una comunidad abierta de desarrolladores bajo los auspicios de Apache Software Foundation , publicada bajo la licencia Apache License 2.0.
Componentes
Tomcat 4.x se lanzó con Catalina (un contenedor de servlets), Coyote (un conector HTTP) y Jasper (un motor JSP ).
Catalina
Catalina es el contenedor de servlets de Tomcat . Catalina implementa las especificaciones de Sun Microsystems para servlet y JavaServer Pages (JSP). En Tomcat, un elemento Realm representa una "base de datos" de nombres de usuario, contraseñas y roles (similares a los grupos Unix ) asignados a esos usuarios. Las diferentes implementaciones de Realm permiten que Catalina se integre en entornos donde dicha información de autenticación ya se está creando y manteniendo, y luego usar esa información para implementar Container Managed Security como se describe en la Especificación de Servlet.
Coyote
Coyote es un componente de conector para Tomcat que admite el protocolo HTTP 1.1 y 2 como servidor web. Esto permite que Catalina, nominalmente un contenedor Java Servlet o JSP, también actúe como un servidor web simple que sirve archivos locales como documentos HTTP. Coyote escucha las conexiones entrantes al servidor en un puerto TCP específico y reenvía la solicitud al motor Tomcat para procesar la solicitud y enviar una respuesta al cliente solicitante. Otro Coyote Connector, Coyote JK, escucha de manera similar, pero en cambio reenvía sus solicitudes a otro servidor web, como Apache, utilizando el Protocolo JK . Esto suele ofrecer un mejor rendimiento.
Jaspe
Jasper es el motor JSP de Tomcat. Jasper analiza los archivos JSP para compilarlos en código Java como servlets (que pueden ser manejados por Catalina). En tiempo de ejecución, Jasper detecta cambios en los archivos JSP y los vuelve a compilar.
A partir de la versión 5, Tomcat usa Jasper 2, que es una implementación de la especificación JSP 2.0 de Sun Microsystems. De Jasper a Jasper 2, se agregaron características importantes:
- Agrupación de bibliotecas de etiquetas JSP: cada marca de etiqueta en el archivo JSP es manejada por una clase de controlador de etiqueta. Los objetos de la clase del controlador de etiquetas se pueden agrupar y reutilizar en todo el servlet JSP.
- Compilación de JSP en segundo plano: mientras se vuelve a compilar el código JSP Java modificado, la versión anterior todavía está disponible para las solicitudes del servidor. El servlet JSP más antiguo se elimina una vez que el nuevo servlet JSP ha terminado de recompilarse.
- Vuelva a compilar JSP cuando se incluyan cambios de página: las páginas se pueden insertar e incluir en una JSP en tiempo de ejecución. El JSP no solo se volverá a compilar con los cambios del archivo JSP, sino también con los cambios de página incluidos.
- Compilador Java JDT: Jasper 2 puede usar el compilador Java Eclipse JDT (Herramientas de desarrollo Java) en lugar de Ant y
javac
.
Se agregaron tres nuevos componentes con el lanzamiento de Tomcat 7:
Grupo
Este componente se ha agregado para administrar aplicaciones grandes. Se utiliza para equilibrar la carga que se puede lograr mediante muchas técnicas. La compatibilidad con la agrupación en clústeres requiere actualmente la versión 1.5 o superior de JDK.
Alta disponibilidad
Se ha agregado una función de alta disponibilidad para facilitar la programación de actualizaciones del sistema (por ejemplo, nuevas versiones, solicitudes de cambio) sin afectar el entorno en vivo. Esto se hace enviando solicitudes de tráfico en vivo a un servidor temporal en un puerto diferente mientras el servidor principal se actualiza en el puerto principal. Es muy útil para manejar las solicitudes de los usuarios en aplicaciones web de alto tráfico.
Aplicación web
También ha agregado mejoras en las aplicaciones web basadas en el usuario y en el sistema para agregar soporte para la implementación en una variedad de entornos. También intenta administrar sesiones y aplicaciones a través de la red.
Tomcat está creando componentes adicionales. Se pueden utilizar varios componentes adicionales con Apache Tomcat. Estos componentes pueden ser construidos por los usuarios en caso de que los necesiten o pueden descargarse desde uno de los espejos.
Características
Tomcat 8.x implementa las especificaciones de Servlet 3.1 y JSP 2.3. Apache Tomcat 8.5.x está destinado a reemplazar 8.0.xy incluye nuevas características extraídas de Tomcat 9.0.x. La versión mínima de Java y las versiones de especificación implementadas permanecen sin cambios.
Tomcat 9.x implementa las especificaciones de Servlet 4.0 y JSP 2.3.
Tomcat 10.x implementa las especificaciones de Servlet 5.0 y JSP 3.0.
Historia
Tomcat comenzó como una implementación de referencia de servlet por James Duncan Davidson , arquitecto de software de Sun Microsystems. Más tarde ayudó a que el proyecto fuera de código abierto y desempeñó un papel clave en la donación de Sun Microsystems a la Apache Software Foundation. La herramienta de automatización de compilación de software Apache Ant se desarrolló como un efecto secundario de la creación de Tomcat como un proyecto de código abierto.
Davidson inicialmente había esperado que el proyecto se convirtiera en de código abierto y, dado que muchos proyectos de código abierto tenían libros de O'Reilly asociados con un animal en la portada, quería nombrar el proyecto como un animal. Se le ocurrió a Tom cat porque pensó que el animal representaba algo que podía valerse por sí mismo. Aunque el gato ya estaba en uso para otro título de O'Reilly, su deseo de ver una portada de animales finalmente se hizo realidad cuando O'Reilly publicó su libro de Tomcat con un leopardo de las nieves en la portada en 2003.
Lanzamientos
Serie | Declarado estable | Descripción | Último lanzamiento | Última fecha de lanzamiento | Fin de la vida |
---|---|---|---|---|---|
2.0 | 1998 | Tomcat comenzó en noviembre de 1998 como una implementación de referencia de servlet por James Duncan Davidson , arquitecto de software de Sun Microsystems. | |||
3,0 | 1999 | Versión inicial. Fusión del código de Sun Java Web Server y ASF e implementa las especificaciones de Servlet 2.2 y JSP 1.1. | 3.3.2 | 2004-03-09 | |
4.1 | 2002-09-06 | Primera versión de Apache Tomcat compatible con las especificaciones de Servlet 2.3 y JSP 1.2. | 4.1.40 | 2009-06-25 | |
5,0 | 2003-12-03 | Primera versión de Apache Tomcat compatible con las especificaciones de Servlet 2.4, JSP 2.0 y EL 1.1 . | 5.0.30 | 2004-08-30 | |
5.5 | 2004-11-10 | Diseñado para J2SE 5.0. La inclusión de Eclipse JDT permite que Tomcat se ejecute sin tener que instalar un Java Development Kit completo. | 5.5.36 | 2012-10-10 | |
6.0 | 2007-02-28 | Primera versión de Apache Tomcat compatible con las especificaciones Servlet 2.5, JSP 2.1 y EL 2.1. | 6.0.53 | 2017-04-07 | 2016-12-31 |
7.0 | 2011-01-14 | Primera versión de Apache Tomcat compatible con las especificaciones de Servlet 3.0, JSP 2.2, EL 2.2 y WebSocket. | 7.0.109 | 2021-04-26 | 2021-03-31 |
8.0 | 2014-06-25 | Primera versión de Apache Tomcat compatible con las especificaciones Servlet 3.1, JSP 2.3 y EL 3.0. | 8.0.53 | 2018-07-05 | 2018-06-30 |
8.5 | 2016-06-13 | Agrega soporte para HTTP / 2 , OpenSSL para JSSE, alojamiento virtual TLS y JASPIC 1.1. Creado a partir de Tomcat 9, tras retrasos en Java EE 8. | 8.5.72 | 2021-10-01 | |
9.0 | 2018-01-18 | Primera versión de Apache Tomcat compatible con las especificaciones de Servlet 4.0. | 9.0.53 | 2021-09-10 | |
10.0 | 02/02/2021 | Primera versión de Apache Tomcat compatible con las especificaciones Servlet 5.0, JSP 3.0, EL 4.0, WebSocket 2.0 y Authentication 2.0. | 10.0.11 | 2021-09-10 | |
Versión antigua
Versión anterior, aún mantenida
Ultima versión
Última versión de vista previa
|
Apache TomEE
Apache TomEE (pronunciado "Tommy") es la Java Enterprise Edition de Apache Tomcat (Tomcat + Java EE = TomEE) que combina varios proyectos empresariales de Java, incluidos Apache OpenEJB , Apache OpenWebBeans, Apache OpenJPA , Apache MyFaces y otros. En octubre de 2011, el proyecto obtuvo la certificación de Oracle Corporation como una implementación compatible de Java EE 6 Web Profile.
Ver también
- MuleSoft , productor de Tcat, un servidor Tomcat empresarial
- Apache Geronimo , un servidor de aplicaciones que puede utilizar Tomcat como contenedor web
- Resin (software) - servidor de aplicaciones de Caucho Technology
- WildFly , anteriormente conocido como JBoss Application Server
- Jetty (servidor web)
- JOnAS , servidor de aplicaciones que puede utilizar Tomcat como contenedor web
- Apache OpenEJB , se puede agregar a Tomcat para convertirlo en un servidor JavaEE
- GlassFish , la implementación de referencia de Java EE, compatible con EJB , JPA , JSF , JMS , Java RMI , JSP, servlets, etc.
- Comparación de software de servidor web
Referencias
Bibliografía
- Brittain, Jason; Darwin, Ian F. (28 de noviembre de 2007), Tomcat: The Definitive Guide (1ª ed.), O'Reilly Media, p. 320 , ISBN 978-0596003180, consultado el 1 de marzo de 2018
- Brittain, Jason; Darwin, Ian F., Tomcat: La guía definitiva (2ª ed.), O'Reilly Media, p. 496, ISBN 978-0596101060, consultado el 1 de marzo de 2018
- Chopra, Vivek; Li, Sing; Genender, Jeff (13 de agosto de 2007), Professional Apache Tomcat 6 (1ª ed.), Wrox , p. 629, ISBN 978-0-471-75361-2, consultado el 8 de octubre de 2009
- Moodie, Matthew; Mittal (Ed.), Kunal (22 de marzo de 2007), Pro Apache Tomcat 6 (1ª ed.), Apress , p. 325, ISBN 978-1-59059-785-9, consultado el 8 de octubre de 2009CS1 maint: texto adicional: lista de autores ( enlace )