Volver a lo básico: Introducción a Tomcat

Apache Tomcat es un contenedor de servlets de Java que existe desde hace mucho tiempo. Es de código abierto e implementa las especificaciones básicas de Java Enterprise (ahora llamada Jakarta EE) como las especificaciones Jakarta Servlet, Jakarta Server Pages y Jakarta WebSocket.

¿Qué hace que Java siga siendo popular entre los desarrolladores?

Apache Software Foundation lanzó Tomcat por primera vez en 1998, solo cuatro años después de Java.

12 Mejores Editores Java / Programación Java

Tomcat comenzó como la implementación de referencia para la especificación de Java original con Servlet API y JavaServer Pages y sigue siendo el servidor Java de aplicaciones más popular.

¿Por qué Tomcat sigue siendo el más usado? Porque tiene un motor central que ha sido probado a lo largo de los añós, se sabe de su buen funcionamiento y ofrece buenas posibilidades de extensibilidad.

Volver a lo básico: Introducción a JDK

¿Tomcat es un servidor web o de aplicaciones?

El ecosistema de Java admite varios tipos de servidores de aplicaciones: Un contenedor de servlet es una forma de implementar la especificación de servlet de Jakarta, que se utiliza principalmente para alojar servlets.

Un Servidor web, como Apache, es un servidor que está hecho para servir archivos del sistema local. La especificación Jakarta EE está completamente implementada en un servidor de aplicaciones empresariales Java.

El trabajo principal de Tomcat es mantener servlets y JSP

Un servlet de Java (o Jakarta) configura puntos finales para solicitudes HTTP y las envía al código de lógica de negocios para que las maneje.

JSP o Jakarta Server Pages, es una tecnología de presentación de vistas del lado del servidor que permite definir interfaces HTML que utilizan datos del interior del servidor e información de la solicitud y la respuesta.

Como desarrollador, vas a poder escribir el servlet o la página JSP, establecer reglas para las solicitudes y respuestas y luego dejar que Tomcat se encargue del enrutamiento.

El servidor web Coyote también forma parte de Tomcat. Coyote hace posible usar el servidor web Apache y Tomcat para servir archivos estáticos.

La API de persistencia de Jakarta es parte de una versión extendida de Tomcat llamada TomEE, esa versión tiene una gama más amplia de especificaciones y características de Jakarta.

¿Cómo configurar una aplicación en Tomcat?

Pondrás tus aplicaciones en el directorio webapps de Tomcat y desde allí, puedes colocar un archivo .war y Tomcat se encargará de ejecutarlo. El archivo.war es la forma estándar de empaquetar un recurso de aplicación web.

Básicamente es un archivo Java (.jar) con algunos archivos adicionales que indican al contenedor cómo ejecutarlo.

A continuación, tienes tres formas diferentes de usar Tomcat para la implementación de archivos estáticos y aplicaciones web.

Despliegue

Se dice que una aplicación web que no ha sido comprimida en un archivo.war está “explotada”. Eso significa que todas sus partes todavía están distribuidas en directorios y archivos.

Vas a poder encontrar algunos ejemplos de cómo se hace esto, desde el propio directorio del archivo Tomcat que puedes descargar de aquí. Con una implementación ampliada, vas a poder revisar los archivos sin tener que preocuparte por cómo estén comprimidos.

De forma predeterminada, Tomcat también viene con una aplicación de administración, que puedes encontrar en la ruta /manager. Esta aplicación permite hacer muchas cosas.

Como por ejemplo: Iniciar, detener y volver a implementar aplicaciones desde una consola web.

Crear un proxy inverso

Tomcat puede servir archivos estáticos desde el disco y tiene la biblioteca APR para ayudarte a hacerlo de manera más eficiente. Sin embargo, también es común combinar Tomcat con el servidor web más popular, Apache (httpd) para servir archivos estáticos.

Tomcat y el servidor Apache se pueden usar juntos de diferentes maneras.

La primera es un “proxy inverso” en el que Apache maneja las solicitudes de archivos estáticos y envía solicitudes de otros recursos (/webapp/**) a Tomcat. Luego, el servidor Apache devolverá la respuesta al cliente.

Eso es solo un proxy, pero se llama proxy inverso para diferenciarlo del rol habitual de un proxy en el lado del cliente. La configuración del archivo de configuración de Apache facilita la configuración de un proxy inverso.

AJP (Apache JServe Protocol) facilita el manejo de encabezados similares a metadatos, esa es otra opción.

AJP también es un proxy inverso porque su arquitectura es la misma (Apache a Tomcat). Ese método elimina parte del trabajo manual, pero necesita más configuración por adelantado. Microsoft IIS se puede configurar de manera similar.

Servidor incorporado

Jetty fue el único servidor que pudo ejecutarse como servidor integrado durante mucho tiempo. Eso ya no es así y Tomcat ahora también puede ejecutarse integrado.

La idea detrás de un servidor incorporado es que en lugar de que el servidor contenga los archivos de la aplicación, como has visto hasta ahora, tienes una aplicación con una clase principal (es decir, una aplicación Java independiente) que recurre a las características del servidor desde dentro.

En general, esta es una forma más simple y portátil de crear software y se ha convertido rápidamente en la norma (por ejemplo, Spring Boot usa una instancia integrada de Tomcat que se ejecuta en modo de desarrollo).

Cuando ejecutas un servidor incorporado, solo tienes que lidiar con una parte (la aplicación) en lugar de la aplicación y la implementación del servidor. Eso puede facilitar las operaciones del lanzamiento.

Por otro lado, todavía es muy común configurar Tomcat para que se ejecute como un host independiente.

Relacionado

Volver a lo básico: Introducción a JDK

JRE y JDK son frecuentemente malentendidos por los más novatos. Si solo estás interesado en ejecutar aplicaciones Java en tu computadora, puedes hacerlo fácilmente con Java Runtime Environment. Sin embargo, si deseas construir un programa de software basado en Java, es posible que necesites otras herramientas denominadas JDK, además de JRE. Los desarrolladores que recién están comenzando con Java a menudo confunden el Kit de desarrollo ¡SEGUIR LEYENDO!

Tutoriales RIP: Más de 300 Guías de Programación y Tecnología basadas en Contenidos de Stack Overflow

Las guías de RIP TUTORIAL (+300) son un proyecto de ZZZ Proyects (‎una empresa dedicada a añadir valor a la comunidad .NET) que consta en la creación de libros con contenidos extraídos de Stack Overflow. Por lo que he observado, los contenidos son de 2016/17, pese a eso. Lo considero un contenido útil. Muchas guías son una simple instalación o inicio a un contenido; pero las ¡SEGUIR LEYENDO!

Si los Lenguajes de Programación fueran Superhéroes de Marvel serían..

Existen más de 750 lenguajes de programación en el universo de la programación y cada lenguaje de programación tiene un tono y un conjunto de características únicos. https://ciberninjas.com/mejores-lenguajes-programacion-2023/ No debería sorprender que este conjunto específico de características atraiga a los excéntricos, quienes ocasionalmente se reúnen para discutir entre sus diferencias, ventajas y desventajas. Consideremos un escenario fantástico donde MCU signifique "My Universo del Código" y cada ¡SEGUIR LEYENDO!

Servicio de Java Management ahora es gratuito para todos

Java Management Service es un componente integrado de Oracle Cloud Infrastructure (OCI) que controla todos los entornos de Java, ya sea alojados por Oracle o en el propio centro de datos del cliente.* Oracle está implementando las características de descubrimiento de su Servicio de administración de Java, que está alojado en la nube y está disponible gratuitamente para todos los interesados. Anteriormente, esta funcionalidad estaba restringida ¡SEGUIR LEYENDO!

Segunda actualización de Java para Visual Studio Code en 2020

En esta actualización, le mostraremos las nuevas formas de administrar sus dependencias y configurar el JDK múltiple. Aprender las herramientas adicionales que se pueden aprovechar para utilizar frameworks y mejorar los tiempos de ejecución. Además, existen algunos cambios más dentro de esta actualización. Gestión de dependencias Ya sea que use o no una herramienta de compilación, Java Dependency Viewer ahora proporciona una manera mejor de manejar ¡SEGUIR LEYENDO!

Deja un comentario

Salir de la versión móvil