Aplicaciones Web de Servidor

Slides:



Advertisements
Presentaciones similares
Curso de Java “Java para Web” Rogelio Ferreira Escutia.
Advertisements

Servlets, JSP, JavaBEANS,JDBC
Aplicaciones Web M.C. Jorge Eduardo Ibarra Esquer
Aplicaciones Web de Servidor
Luis Ponce Cabello.  Primera Parte : JSF  Segunda Parte : Facelets  Tercera Parte : Icefaces.
Autentificación y Seguridad en Aplicaciones Web.  Delegadas en el cliente y el servidor ◦ Basados en estándares de Internet  Autentificación Básica.
Temario Java 2 Enterprise Edition Arquitectura Especificación Servlets Contenedores Cookies Sesiones.
JSF Simplificando nuestro trabajo. JSF – Java Server Faces Celula Creative SUN 2 La principal intención es liberar al programador de aspectos Web Pretende.
Tipos de aplicaciones en Visual Studio. Índice Introducción Introducción Aplicaciones instaladas Aplicaciones instaladas Aplicaciones Web Aplicaciones.
INTEGRANTES EVARISTO MINA ARROYO JULIO CESAR CUERO JOHN EDWIN URBANO MAFLA.
Clasificación del Software Prof. Laura Cardozo. Software Se denomina software, programática, equipamiento lógico o soporte lógico a todos los componentes.
1 Ingeniería del Software Diseñó de Software Universidad de los Andes Demián Gutierrez Mayo 2011.
¿Qué es el theming? Es el proceso de generar html y css a partir de los datos de nuestra aplicación. El diseño de una aplicación web hecha con Drupal lo.
Trabajar con SERVLETS. Índice Qué son los Servlets Para qué sirven Cómo se utilizan Ejemplo Cómo probar un Servlet.
Filtros HTTP.  Características de las aplicaciones web: TODOS los recursos están expuestos al exterior.  Problema: Estamos repitiendo código en todos.
Ingeniería del Software Diseñó de Software Universidad de los Andes Demián Gutierrez Abril 2009.
UNIDAD DE APRENDIZAJE PROGRAMACION WEB TEMA PHP DOCENTE ING. GUERRERO ULLOA GLEISTON ESTUDIANTES RESPONSABLES PÉREZ KEVIN CUASPUD ANDERSON RODRIGUEZ RANDY.
Proyecto de Software. t07
MODELO CLIENTE -SERVIDOR
GESTIÓN DEL SITIO WEB.
Proyecto de Software. Clase 06
Conectividad de Bases de Datos
Introducción a programación web Martin Esses
ANÁLISIS DE RIESGOS DE SISTEMAS DE INFORMACIÓN
Software de aplicación de escritorio y web
EJEMPLO: Portal de Venta de una Multitienda
SISTEMAS DISTRIBUIDOS
TARJETAS.
Modelo de 3 capas. Qué es la arquitectura de una aplicación? La arquitectura se refiere a la forma en la que es diseñada tanto física como lógicamente.
Universidad manuela beltran - virtual
Definición de un Sistema Distribuido
Estructura de las Aplicaciones con MVC
FACTORY METHOD Creación a nivel de clases.
Sesiones 06 de Mayo de 2004 Fernando Alonso Blázquez.
República Bolivariana De Venezuela Universidad Alejandro de Humboldt
Las herramientas Case Julian madrigal.
TAREA 3 GLOSARIO TIC Libia Quintana HERRAMIENTA TAREAS.
Modelo Vista Controlador (MVC)
M.V.C (Modelo-vista-controlador)
El modelo OSI de Red Define los métodos y protocolos necesarios para conectar una computadora con cualquier otra a través de una red.
CARACTERISTICAS GENERALES DE LA NORMA ISO
Bases de DATOS Alumno: Villaseñor Suárez José Alberto Grupo: 2CM10
DHCP FAILOVER PROTOCOL
Empresa: Software ABC Colombia
ARQUITECTURA DE APLICACIONES WEB.
FUNDAMENTOS DE PROGRAMACION EN ENTORNO WEB. Rodrigo Cabello Ing. Informático Director de proyectos Think – Ideas in Motion FUNDAMENTOS.
CONCEPTOS BÁSICOS DE COMPUTACIÓN E HISTORIA
HTML. El lenguaje de marcas de hipertexto
Modelo de Referencia OSI
Ing. Dahiana Ferreira Ing. Dahiana Ferreira Facultad Politécnica - UNE.
SOFTWARE.
CURSO PROGRAMACIÓN BÁSICA SEMANA 2
Instituto Tecnológico Superior de la Región Sierra
Sistema de Notificaciones Electrónicas de la Junta de Andalucía
Curso: fundamentos de redes Profesor: Miguel farfan Sesion: 03
Patrón de diseño: Factory Method
Requisitos Ing. Maribel Valenzuela Beltrán 1.
Esquema de funcionamiento de un Sistema Contable
Instituto Tecnológico Superior de la Región Sierra
C.R.M. Comercial.
Esmeralda, montse, martha, gloria
Lenguajes del lado del cliente
JDBC: comunicación Java-Base de Datos
SQL1 7/9 Baloian Acceso a Bases de Datos
Características de los Sistemas Operativos
GC-F-004 V.01 CENTRO DE INDUSTRIA Y LA CONSTRUCCIÓN REGIONAL TOLIMA.
Programación Orientada a Objetos
¿Qué es ISO 19115:2003? “ Identifica los metadatos necesarios para describir la información geográfica digital. Los metadatos pueden describir conjuntos.
CARRERA DE TECNOLOGÍA EN COMPUTACIÓN
ESTRUCTURA DE LOS SISTEMAS OPERATIVOS
Transcripción de la presentación:

Aplicaciones Web de Servidor Arquitectura y diseño: Patrón MVC 9 de Mayo de 2008

El patrón Modelo-Vista-Controlador

Arquitectura y diseño: Patrón MVC El patrón Modelo-Vista-Controlador se originó en la comunidad Smalltalk para implementar interfaces de usuario en los que las responsabilidades están bien distribuidas entre distintas partes (componentes) del diseño. Así, se decidió, distinguir tres responsabilidades distintas: Lógica de negocio  Modelo. Gestión de eventos de usuario  Controlador. Presentación  Vista.

Arquitectura y diseño: Patrón MVC Interfaz Usuario Vista Modelo Controlador Evento Datos Mostrar Vista Información Evento

Arquitectura y diseño: Patrón MVC - Tecnologías Java Interfaz Usuario (Navegador) Vista (JSPs) Modelo (beans) Controlador (servlet) Evento (forward) Datos (Propiedades de los Beans) (Petición) Mostrar Vista (HTML), jsp:getProperty Información Evento (Parámetros)

Arquitectura y diseño: Patrón MVC - El modelo El modelo representa la lógica de negocio de la aplicación. Encapsular el modelo de una aplicación en componentes facilita la depuración, mejora la calidad y favorece la reutilización de código. Puede dividirse en dos tipos de componentes: De estado. De acción.

Arquitectura y diseño: Patrón MVC - El modelo Los componentes de estado encapsulan el estado de la aplicación y exponen métodos para el acceso y cambio de éste. Al estar una capa por debajo de la capa de acción, los componentes de estado deben ser completamente independientes del protocolo. Así, podrán ser reutilizados en otro tipo de aplicaciones (RMI, etc…).

Arquitectura y diseño: Patrón MVC - El modelo La capa de componentes de acción define los cambios permisibles del estado en respuesta a los eventos. Los componentes de acción no pueden ser completamente independientes del protocolo, pero, aún así, se debe intentar reducir el acoplamiento al máximo o incluso construir dos subcapas, una dependiente del protocolo que transforme los eventos y delegue el procesamiento a otra capa de componentes de acción independientes del protocolo.

Arquitectura y diseño: Patrón MVC - El modelo Llamadas propias del protocolo Componentes de acción dependientes del protocolo Llamadas propias de la aplicación Acción Componentes de acción independientes del protocolo Llamadas propias de la aplicación Componentes de estado (independientes del protocolo) Estado

Arquitectura y diseño: Patrón MVC - El controlador El controlador es responsable de recibir los eventos, determinar el procesador del evento, invocar al procesador y finalmente provocar la generación de la vista apropiada. En una aplicación web java la tecnología más adecuada para implementar los controladores son los Servlets. Estos servlets actúan como direccionadores (dispatchers) de las peticiones.

Arquitectura y diseño: Patrón MVC - El controlador Los controladores deben realizar las siguientes tareas: Control de la seguridad. Identificación de eventos. Preparar el modelo. Procesar el evento. Manejar los errores. Provocar la generación de la respuesta.

Arquitectura y diseño: Patrón MVC - La vista La vista representa la lógica de presentación de la aplicación. Los componentes de la vista extraen el estado actual del sistema del modelo y proporcionan la interfaz de usuario para el protocolo que se está usando. Como parte de la generación la vista debe presentar al usuario el conjunto de eventos que puede generar en ese momento concreto. La tecnología Java indicada para la generación de vistas en aplicaciones web son las JSPs. Separar el modelo y la vista permite la construcción de interfaces con diferentes apariencias.

Delegación de peticiones: RequestDispatcher.

Arquitectura y diseño: Delegación de peticiones - RequestDispatcher Al construir un aplicación web suele ser necesario delegar el procesamiento de una petición a otros Servets (o JSPs), o incluir la salida de otros Servlets en la respuesta (para generación modulada de la respuesta). Para este tipo de procesamiento el API Servlet proporciona la interfaz javax.servlet.RequestDispatcher.

Arquitectura y diseño: Delegación de peticiones - RequestDispatcher Se puede recuperar un RequestDispatcher de tres manaras diferentes: ServletContext.getNamedDispatcher(String name)  Devuelve un RequestDispatcher para redirigir la petición a un servlet declarado en el DD con el nombre name. ServletContext.getRequestDispatcher(String path)  Devuelve un RequestDispatcher para redirigir la petición al recurso determinado por path. ServletRequest.getRequestDispatcher(String path)  Devuelve un RequestDispatcher para redirigir la petición al recurso determinado por path. Si cualquiera de estos métodos no pueden determinar el destino de la redirección devolverán null.

Arquitectura y diseño: Delegación de peticiones - RequestDispatcher La interfaz RequestDispatcher define los siguientes métodos: public void forward(ServletRequest req, ServletResponse res) throws ServletException, IOException public void include(ServletRequest req, ServletResponse res) throws ServletException, IOException.

Aspectos de arquitectura y diseño en el contenedor Web – Delegación de peticiones: forward. El método forward delega la petición en el servlet destino. El servlet origen no debe haber escrito nada en la respuesta, es decir, se supone que toda la generación de la respuesta la va a llevar a cabo el servlet destino. Si se ha escrito algo en la respuesta, cualquier llamada al método forward lanzará IllegalStateException. Antes de que la llamada al método forward termine el contenedor habrá “cometido” la respuesta y cerrado el stream.

Aspectos de arquitectura y diseño en el contenedor Web – Delegación de peticiones: include. Incluye toda la salida generada por el servlet destino en la respuesta. El servlet destino tiene acceso a todos los métodos de la petición, pero tiene ciertas limitaciones a la hora de interactuar con la respuesta (el objeto ServletResponse), ya que cualquier intento de modificar o establecer cabeceras en la respuesta serán ignorados. A no ser que el RequestDispatcher haya sido recuperado por medio del método getNamedDispatcher los siguientes atributos serán añadidos al objeto ServletRequest: javax.servlet.include.request_uri javax.servlet.include.context_path javax.servlet.include.servlet_path javax.servlet.include.path_info javax.servlet.include.query_string

Aspectos de arquitectura y diseño en el contenedor Web – Delegación de peticiones: errores. Si durante una llamada a forward o a include se produce una excepción, la especificación indica que: Si la excepción es de tipo IOException o ServletException se propagará hacia el servlet origen. Si la excepción es de otro tipo se envolverá en una ServletException y el servlet origen podrá recuperar la excepción por medio del método Throwable getRootCause() de ServletException.

Aplicación de Ejemplo de MVC MVCFutbol1