Apache Tomcat - Apache Tomcat

Apache Tomcat
Apache Tomcat logo.svg
Apache-tomcat-frontpage-epiphany-browser.jpg
Página predeterminada de Apache Tomcat
Autor (es) original (es) James Duncan Davidson
Desarrollador (es) La Fundación de software Apache
Versión inicial 1999 ; Hace 22 años ( 1999 )
Lanzamiento estable 10.0.11 (10 de septiembre de 2021 ; hace 38 días ) [±] ( 09/10/2021 )
Versión de vista previa 10.1.0-M5 (alfa) (10 de septiembre de 2021 ; hace 38 días ) [±] ( 09/10/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 .org Edita esto en Wikidata

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
Versión antigua, ya no se mantiene: 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.
Versión antigua, ya no se mantiene: 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
Versión antigua, ya no se mantiene: 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
Versión antigua, ya no se mantiene: 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
Versión antigua, ya no se mantiene: 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
Versión antigua, ya no se mantiene: 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
Versión antigua, ya no se mantiene: 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
Versión antigua, ya no se mantiene: 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
Versión anterior, pero aún se mantiene: 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
Versión anterior, pero aún se mantiene: 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
Versión estable actual: 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
Leyenda:
Versión antigua
Versión anterior, aún mantenida
Ultima versión
Última versión de vista previa
Lanzamiento futuro


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

Referencias

Bibliografía

enlaces externos