Diferencia entre revisiones de «Usuario:ManuelRomero/modulo TOMCAT»

De WikiEducator
Saltar a: navegación, buscar
(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, por ejemplo, el contenedor
+
:Este es el caso en el que se usa un servidor web basado en Java,
de servlets es parte de JavaWebServer (actualmente sustituido por iPlanet). Por defecto Tomcat
+
: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.
+
 
2. Contenedores de servlets dentrodeproceso:
+
;Contenedores de servlets dentrodeproceso:
El contenedor servlets es una combinación de un
+
: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 permite
+
:: 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). Un
+
: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 y proporciona
+
 
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).  
3. Contenedores de servlets fueradeproceso:
+
:Un contenedor de este tipo es adecuado para servidores multithread de un sólo proceso  
El contenedor servlets es una combinación de un
+
: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 que se ejecuta en una JVM
+
 
fuera del servidor web. El plugin del servidor web y el JVM del contenedor Java se comunican
+
;Contenedores de servlets fueradeproceso:
usando algún mecanismo IPC (normalmente sockets TCP/IP). Si una cierta petición tuviese que
+
: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, pero obtiene mejores rendimientos en otras cosas (escalabilidad, estabilidad, etc.)
+
:'''''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

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) ç
  1. Hace un extensivo del contenido dinámico
  2. 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.)