La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Aplicaciones Web M.C. Jorge Eduardo Ibarra Esquer

Presentaciones similares


Presentación del tema: "Aplicaciones Web M.C. Jorge Eduardo Ibarra Esquer"— Transcripción de la presentación:

1 Aplicaciones Web M.C. Jorge Eduardo Ibarra Esquer jorgeeie@uabc.mx

2 El Protocolo de Transferencia de Hipertexto HTTP  HTTP es un protocolo de nivel de aplicación para sistemas de información distribuidos, colaborativos y de hipermedios.  Es un protocolo genérico, sin estado, que puede utilizarse para muchas otras tareas distintas de la de transferencia de hipertexto, por medio de la extensión de sus métodos, códigos de error y encabezados.  La versión 1.1 de HTTP se define en un documento denominado RFC 2616, disponible en http://www.w3c.org/Protocols/ http://www.w3c.org/Protocols/

3 El Protocolo de Transferencia de Hipertexto HTTP  HTTP permite el intercambio de datos en el Web, entre navegadores y servidores  Cuando se utiliza HTTP, el servidor siempre responderá a una solicitud enviada por un cliente (navegador)

4 Los métodos de HTTP  HTTP/1.1 proporciona los siguientes 7 métodos GET POST PUT DELETE TRACE OPTIONS HEAD

5 Solicitudes HTTP GET /appweb/index.jsp HTTP/1.1 Accept: text/plain; text/html Accept-Language: en-gb Connection: Keep-Alive Host: localhost Referer: http://localhost/appweb/prueba.jsp User-Agent: Mozilla/4.0 (compatible; MSIE 4.01; Windows 98) Content-Length: 44 Content-Type: application/x-www-form-urlencoded Accept-Encoding: gzip, deflate Nombre=Jorge+Ibarra&email=jorgeeie%40uabc.mx

6 Respuestas HTTP HTTP/1.1 200 OK Server: Microsoft-IIS/4.0 Date: Mon, 3 May 2006 13:13:33 GMT Content-Type: text/html Last-Modified: Mon, 11 Jan 1998 13:23:42 GMT Content-Length: 112 HTTP Response Example Welcome to Brainy Software

7 Arquitectura de sistemas de software  Una aplicación de software bien diseñada, se particiona en partes lógicas denominadas capas  Cada una de estas capas tiene una responsabilidad diferente en la arquitectura global de la aplicación  Dichas capas son abstracciones puras, y no necesariamente corresponden a una distribución física

8 Arquitectura de sistemas de software  Algunas capas típicas son: Presentación: Se encarga de la interfaz de usuario y de la interacción con el usuario Lógica de negocio: Contiene los componentes encargados de la lógica de la aplicación Datos: Normalmente consiste de una o más bases de datos donde se almacena la información

9 Distintas arquitecturas Dos capas Tres capas Aplicación Web Aplicación J2EE

10 Contenedores Web  Servidores Web: Son programas que utilizan el protocolo HTTP, en forma de una aplicación cliente-servidor, para proporcionar las páginas, scripts, programas y archivos multimedia que forman una página Web  Dos de los servidores Web más populares son Apache y Microsoft Internet Information Services

11 Contenedores Web  Tomcat – Es un contenedor de Servlets. Contiene las implementaciones de referencia para las tecnologías de Servlets y JSP  JBoss – Contiene la implementación de los Enterprise Java Beans (EJB). Es un contenedor de aplicaciones J2EE

12 Temas  Servlets  JSP  JBoss

13 Servlets  Los Servlets son aplicaciones escritas en Java que funcionan como una capa intermedia entre una solicitud HTTP y una base de datos o algún otro tipo de aplicación que se ejecuta en un servidor  Los Servlets se ejecutan dentro de un contenedor de Servlets

14 Funcionamiento de los Servlets Leer los datos enviados por el usuario Obtener cualquier otra información que esté incluída en la solicitud HTTP Generar los resultados Codificar los resultados Establecer los parámetros de la respuesta Enviar el documento de regreso al cliente

15 ¿Cuándo utilizar Servlets?  En ocasiones, una respuesta estática de parte de un servidor, no será suficiente para cumplir con el propósito de la aplicación  En estos casos, se debe construir una respuesta diferente para cada solicitud que se realice

16 ¿Cuándo utilizar Servlets?  Algunos casos en los que puede ser necesario construir páginas “al vuelo”, son los siguientes: La página se genera de acuerdo a información proporcionada por el usuario La información con la que se genera la página está cambiando frecuentemente La página utiliza información de bases de datos u otros recursos disponibles del lado del servidor

17 Construyendo un Servlet  Para crear servlets, se utilizan las clases contenidas en los paquetes javax.servlet y javax.servlet.http  Estos paquetes forman parte de la plataforma J2EE - Java 2 Enterprise Edition  La documentación del API de J2EE 1.4, se encuentra disponible en http://java.sun.com/j2ee/1.4/docs/api/index.html http://java.sun.com/j2ee/1.4/docs/api/index.html

18 La clase javax.servlet.GenericServlet  Permite construir un Servlet genérico, independiente de protocolo public void init() throws ServletException public abstract void service(ServletRequest req, ServletResponse res) throws ServletException, IOException public void destroy()

19 La clase javax.servlet.http.HttpServlet public void init() throws ServletException public abstract void service(ServletRequest req, ServletResponse res) throws ServletException, IOException

20 HttpServlet  public void doGet(HttpServletRequest request, HttpServletResponse response)  public void doPost(HttpServletRequest request, HttpServletResponse response)

21 HttpServletRequest  A través de las solicitudes podemos obtener los parámetros enviados en el URL del servlet, utilizando el método: String getParameter(String nombre)

22 HttpServletResponse  Algunos métodos importantes de la respuesta, son: PrintWriter getWriter() void setContentType(String tipo)


Descargar ppt "Aplicaciones Web M.C. Jorge Eduardo Ibarra Esquer"

Presentaciones similares


Anuncios Google