Diferencia entre revisiones de «Usuario:ManuelRomero/modulo TOMCAT»
De WikiEducator
(→Tomcat contenedor de servlets) |
|||
Línea 82: | Línea 82: | ||
===Tomcat contenedor de servlets=== | ===Tomcat contenedor de servlets=== | ||
*'''''Tomcat''''' es un contenedor de servlets con un entorno JSP. | *'''''Tomcat''''' es un contenedor de servlets con un entorno JSP. | ||
− | *es un servidor de aplicaciones web pensado para desarrollos con java | + | *es un servidor de aplicaciones web pensado para desarrollos con java (no exclusivo para este entorno) |
;Contenedor de servlets | ;Contenedor de servlets | ||
:es un shell de ejecución que maneja e invoca servlets por cuenta del usuario. | :es un shell de ejecución que maneja e invoca servlets por cuenta del usuario. | ||
===Clasificación de contenedores de servlets=== | ===Clasificación de contenedores de servlets=== | ||
− | Contenedores de servlets standalone | + | ;Contenedores de servlets standalone (independientes): |
− | (independientes): Estos son una parte integral del servidor | + | :Estos son una parte integral del servidor web. |
− | web. Este es el caso en el que se usa un servidor web basado en Java, | + | :Este es el caso en el que se usa un servidor web basado en Java, |
− | + | :Por defecto Tomcat trabaja en este modo, sin embargo, la mayoría de los servidores no están basados en Java. | |
− | trabaja en este modo, sin embargo, la mayoría de los servidores no están basados en Java. | + | |
− | + | ;Contenedores de servlets dentrodeproceso: | |
− | + | :En esta configuración del servidor, el contenedor servlets es una combinación | |
− | plugin para el servidor web y una implementación de contenedor Java. El plugin del servidor web | + | ::Un plugin para el servidor web |
− | abre una JVM (Máquina Virtual Java) dentro del espacio de direcciones del servidor web | + | :: y una implementación de contenedor Java. |
− | que el contenedor Java se ejecute en él. En el caso de que una petición debiera ejecutar un servlet, | + | :El plugin del servidor web abre una JVM (Máquina Virtual Java) |
− | el plugin toma el control sobre la petición y lo pasa al contenedor Java (usando JNI). | + | :dentro del espacio de direcciones del servidor web |
− | contenedor de este tipo es adecuado para servidores multithread | + | :permite que el contenedor Java se ejecute en él. |
− | de un sólo proceso | + | |
− | un buen rendimiento pero está limitado en escalabilidad. | + | :En el caso de que una petición debiera ejecutar un servlet, el plugin toma el control sobre la petición y lo pasa al contenedor Java (usando JNI). |
− | + | :Un contenedor de este tipo es adecuado para servidores multithread de un sólo proceso | |
− | + | :Además este tipo proporciona un buen rendimiento pero está limitado en escalabilidad. | |
− | plugin para el servidor web y una implementación de contenedor Java | + | |
− | fuera del servidor web. El plugin del servidor web y el JVM del contenedor Java se comunican | + | ;Contenedores de servlets fueradeproceso: |
− | + | :En este caso la combinación va a ser: | |
− | ejecutar un servlets, el plugin toma el control sobre la petición y lo pasa al contenedor Java | + | ::plugin para el servidor web |
− | (usando IPCs). El tiempo de respuesta en este tipo de contenedores no es tan bueno como el | + | ;;y una implementación de contenedor Java |
− | anterior, | + | :'''''Este se ejecuta en una JVM fuera del servidor web.''''' |
+ | :El plugin del servidor web y el JVM del contenedor Java se comunican | ||
+ | :para ello usan algún mecanismo IPC (normalmente sockets TCP/IP). | ||
+ | :Si una cierta petición tuviese que ejecutar un servlets, el plugin toma el control sobre la petición y lo pasa al contenedor Java (usando IPCs). | ||
+ | :El tiempo de respuesta en este tipo de contenedores no es tan bueno como el anterior | ||
+ | :A su favor, obtiene mejores rendimientos en otras cosas (escalabilidad, estabilidad, etc.) |
Revisión de 12:04 5 nov 2012
Contenido
Aplicaciones Web
- Definición de aplicación web
- Aplicación informática que se ejecuta en un entorno web
- Modelo de ejecución Cliente /Servidor
- Necesario un protocolo de comunicación .
- Elementos
- Cliente: navegador.
- Servidor: servidor web
- Comunicación: protocolo HTTP
Servidor de aplicaciones
- Definición de servidor de aplicaciones
- Es un software que proporciona aplicaciones a los equipos o dispositivos cliente,
- Es muy frecuente el uso de la red de Internet para realizarlo
- Utiliza el protocolo http
- Presenta dos diferencias con los servidores web (p.e. apache) ç
- Hace un extensivo del contenido dinámico
- De manera muy frecuente realiza integración con bases de datos.
Ventajas de servidor de aplicaciones
- centralización y simplicidad en desarrollo de aplicaciones
- Las aplicaciones se ensamblan desde bloques que el servidor provee
- Integridad de datos y de código
- Al actulizar los datos que estás centralizados todos los clientes serán conscientes de ello
Tomcat
- Definición
- Tomcat es el servidor web (incluye el servidor Apache) que puede gestionar las solicitudes y respuestas http
- También es servidor de aplicaciones del proyecto Yakarta contenedor de Servlets y JSP
- Especialmente útil para porgramar aplicaciones web usando java
- Incluye el compilador Jasper, que compila JSP covirtiéndolas en servlets.
Servlet
- Definición
- Un servlet es un programa escrito en java
- se ejecuta en un servidor
- normalmente se utiliza para generar contenido html dinámico.
- Ejemplo de servlet en java
Código de ejemplo de un Servlet que procesa una petición GET y devuelve una página web HTML sencilla: package org.pruebas; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class HolaMundoServlet extends HttpServlet { /** * Servlet de ejemplo que procesa una petición GET * @param request * @param response * @throws ServletException * @throws IOException */ @Override public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { PrintWriter out = response.getWriter(); out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">"); out.println("<html>"); out.println("<head><title>Ejemplo Hola Mundo</title></head>"); out.println("<body>"); out.println("<h1>¡Hola Mundo!</h1>"); out.println("</body></html>"); } }
- Al final del tema al estudiar el despliegue web y analizar el fichero web.xml del servidor de aplicaciones web o contendedor de servlet tomcat probaremos este fichero.
JSP
- Definición
- JSP es un lenguaje de programación parece php al lado del cliente
- Se puede embeber junto con códgio html
- El servidor interpretar JSP de la misma manera en la que interpreta PHP.
- Ejemplo sencillo de un jsp
<html> <body> <% out.println("Hola mundo"); %> </body> </html>
Tomcat contenedor de servlets
- Tomcat es un contenedor de servlets con un entorno JSP.
- es un servidor de aplicaciones web pensado para desarrollos con java (no exclusivo para este entorno)
- Contenedor de servlets
- es un shell de ejecución que maneja e invoca servlets por cuenta del usuario.
Clasificación de contenedores de servlets
- Contenedores de servlets standalone (independientes)
- Estos son una parte integral del servidor web.
- Este es el caso en el que se usa un servidor web basado en Java,
- Por defecto Tomcat trabaja en este modo, sin embargo, la mayoría de los servidores no están basados en Java.
- Contenedores de servlets dentrodeproceso
- En esta configuración del servidor, el contenedor servlets es una combinación
- Un plugin para el servidor web
- y una implementación de contenedor Java.
- El plugin del servidor web abre una JVM (Máquina Virtual Java)
- dentro del espacio de direcciones del servidor web
- permite que el contenedor Java se ejecute en él.
- En el caso de que una petición debiera ejecutar un servlet, el plugin toma el control sobre la petición y lo pasa al contenedor Java (usando JNI).
- Un contenedor de este tipo es adecuado para servidores multithread de un sólo proceso
- Además este tipo proporciona un buen rendimiento pero está limitado en escalabilidad.
- Contenedores de servlets fueradeproceso
- En este caso la combinación va a ser:
- plugin para el servidor web
- y una implementación de contenedor Java
- Este se ejecuta en una JVM fuera del servidor web.
- El plugin del servidor web y el JVM del contenedor Java se comunican
- para ello usan algún mecanismo IPC (normalmente sockets TCP/IP).
- Si una cierta petición tuviese que ejecutar un servlets, el plugin toma el control sobre la petición y lo pasa al contenedor Java (usando IPCs).
- El tiempo de respuesta en este tipo de contenedores no es tan bueno como el anterior
- A su favor, obtiene mejores rendimientos en otras cosas (escalabilidad, estabilidad, etc.)