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

21 Mejores Frameworks de Java

Si recién comienzas a programar con Java, puedes oje la guía para principiantes sobre Java que te guiará a través de todos los conceptos más importantes de Java que necesitas conocer, si pronto quieres comenzar a utilizar cualquier de los frameworks Java. Java es un lenguaje robusto y combinado con un framework Java, puede proporcionar las mejores soluciones para cualquier campo tecnológico, ya bien sea; un ¡SEGUIR LEYENDO!

15 Mejores Lenguajes de Programación que Aprender

Una de las habilidades más importantes para aprender en el mundo de hoy en día, es saber programar con un lenguaje de programación. En la actualidad, las computadoras han entrado en casi todas las industrias, desde el piloto automático de un avión hasta el velocímetro digital de una bicicleta pasando por la inclusión del Internet de las cosas en los pequeños electrodomésticos. Casi todo lo que ¡SEGUIR LEYENDO!

17 Nuevos Cursos Gratuitos de SQL, Python, Diseño Web y Más (06 de Marzo)

Regreso con nuevos cursos gratis, recuerda que algunos de los cupones de los cursos publicados ayer, es muy posible que aún sigan activos; y vas a poder encontrar cursos en español de javascript -typescript, react,vue- y Unity. Además, de cursos en inglés de Python, R, SQL y más; también tienes muchos cursos totalmente gratis y una gran oferta de guías para programación de O´Reilly (en inglés) ¡SEGUIR LEYENDO!

25 Mejores aplicaciones Java jamás programadas

La historia de Java comenzó en 1991, en un momento en que Sun Microsystems buscaba extender su liderazgo en el mercado de estaciones de trabajo informáticas al floreciente mercado de la electrónica personal. Poco se sabía, de que el lenguaje de programación que Sun estaba a punto de crear democratizaría la informática, inspiraría a una comunidad mundial y se convertiría en la plataforma para un ecosistema ¡SEGUIR LEYENDO!

25 Mejores cursos de Udemy 2020 [EN]

Más de 20 expertos han compilado esta lista de los mejores cursos, certificados, tutoriales, capacitación y clases de Udemy disponibles en línea para 2020. Estos incluyen las mejores ofertas y descuentos para brindarte los mejores precios en oferta. Los cursos son adecuados para principiantes, estudiantes intermedios y expertos. Esta compilación ya ha ayudado a más de 72.000 estudiantes y se actualiza cada poco tiempo. Consulta nuestra ¡SEGUIR LEYENDO!

26 Nuevos Cursos GRATIS de Udemy: Python, Javascript, Flutter (cupón finalizado)

26 Nuevos cursos con cupones free de Udemy: En español (typescript,javascript, react, vue y videojuegos) e ingles (Python, Django, Javascript, R, SQL, Flutter, Java, Qt, Bootstrap, Illustrator y Photoshop). Cursos en Español ? Curso Gratis de Udemy: Aprende JavaScript y Jquery de 0 a 100 APÚNTATE ? Curso Gratis de Udemy: Aprende Typescript de 0 a 100 APÚNTATE ? Curso Gratis de Udemy: Aprende Vue + ¡SEGUIR LEYENDO!

40 Cursos Gratis de Udemy: Desarrollo Web, Python (cupón finalizado)

Recién llega la primavera y vamos con una publicación más, que incluye los cursos del Lunes; hoy tenemos, 9 cursos en español (Typescript, Javascript, React, Vue, Firebase, Swift, Azure, HTML y CSS, Power Bi). Más 31 cursos en inglés: Javascript, Typescript, React, Python, R, Java, Drupal, Android y Kotlin, Básicos de Visual Studio Code, Bootstrap, Gitlab, Maya 3D, Photoshop, Marketing en Facebook e Instagram, SEO. Iniciación ¡SEGUIR LEYENDO!

Deja un comentario