Ing. Dahiana Ferreira Ing. Dahiana Ferreira Facultad Politécnica - UNE.

Slides:



Advertisements
Presentaciones similares
Curso de Java y Aplicaciones Web
Advertisements

Modelo-Vista-Controlador Este patrón fue descrito por primera vez por Trygve Reenskaug en 1979, y la implementación original fue realizada en Smalltalk.
FRAMEWORK VS Código fuente
Luis Ponce Cabello.  Primera Parte : JSF  Segunda Parte : Facelets  Tercera Parte : Icefaces.
Your Logo ING. FREDY ALEXANDER MARTINEZ. Here comes your footer  Page 2 Este patrón fue descrito por primera vez por Trygve Reenskaug en 1979, y la implementación.
Generador de Páginas Hélio Martins
Definición: Es un estilo de programación, su objetivo primordial es la separación de la capa de presentación, capa de negocio y la capa de datos. ARQUITECTURA.
1 Ingeniería del Software Diseñó de Software Universidad de los Andes Demián Gutierrez Mayo 2011.
Diseño de un sistema de gestión y asignación de equipos para una empresa TFC – Area J2EE Realización: Jose Angel Pardillo Vela Ingeniería técnica en Informática.
Curso de Aptitud Pedagógica 2006/2007 OpenOffice Base Introducción a las Bases de Datos.
T APESTRY Framework Java para Aplicaciones Web. Q UÉ ES T APESTRY Framework de Java, actualmente en su versión 5 (5.1 estable, 5.2 alpha) Implementa MVC.
Hojas de Estilo en Cascada CSS RAFAEL MOURGLIA. CSS son las siglas de Cascade Style Sheet que traducido significa hojas de estilo en cascada. Las hojas.
2012-BM5A. Introducción Todos los lenguajes de programación son distintos entre si. Sin embargo, pueden ser agrupados según la forma de pensar y estructurar.
Aplicaciones para el manejo óptimo de la información.
Ingeniería del Software Diseñó de Software Universidad de los Andes Demián Gutierrez Abril 2009.
¿Qué es y cómo se clasifica?. El software es un conjunto de programas y aplicaciones que forman el sistema informático (datos y programas de la computadora),
PROGRAMACIÓN ORIENTADA A OBJETOS SEGUNDA UNIDAD: “CLASES, OBJETOS Y MÉTODOS” IRVING YAIR SALAS CHÁVEZ ING. EN SISTEMAS COMPUTACIONALES - ITSLP.
Organizaciones involucradas: El centro de cálculo noruego. Crea lenguaje llamado Simula 67, desarrollado por Krinsten Nygaard y Ole-Johan Dahl, en 1967.
BASE DE DATOS EN LA WEB POR- OSIRYS MARCIAGA JESUS NIETO.
La Plataforma Holmes Irisel Consulting 2016.
Capítulo 6: Introducción a los frameworks
¿Qué es y para qué nos sirve BootStrap?
LENGUAJES DE CODIGO PARA DISEÑO DIGITAL
LOS DIFERENTES LENGUAJES DE PROGRAMACION PARA LA WEB
Programación Orientada a Objetos
Diagramas de Flujo Algoritmos.
U.T. 11: Introducción A Las Bases De Datos
BASES DE DATOS.
Tópicos de bases de datos
Introducción a programación web Martin Esses
Introducción a programación web Martin Esses
Aplicaciones Web 1 CAPITULO 1 Introducción a las aplicaciones Web Ing. Jeffery Naranjo Msc
Diseño y Edición de Paginas web
Tema 3. Lenguaje unificado de modelado UML
Aplicaciones Web de Servidor
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.
Definición de un Sistema Distribuido
Estructura de las Aplicaciones con MVC
INTERNET Actividad 3 Herramientas Tareas Ruben Dario Acosta V.
Sesiones 06 de Mayo de 2004 Fernando Alonso Blázquez.
República Bolivariana De Venezuela Universidad Alejandro de Humboldt
Modelo Vista Controlador (MVC)
M.V.C (Modelo-vista-controlador)
Arquitectura de Aplicaciones Web
ARQUITECTURA DE APLICACIONES WEB.
FUNDAMENTOS DE PROGRAMACION EN ENTORNO WEB. Rodrigo Cabello Ing. Informático Director de proyectos Think – Ideas in Motion FUNDAMENTOS.
Page 1. Page 2 Los lineamientos básicos que debe contener las paginas HTML.
ESTRUCTURAS DE LOS SISTEMAS OPERATIVOS INTEGRANTES: -SIAS ALVAREZ -GUTIÉRREZ ROBLES -GELDRES HUAYCOCHEA.
Java Enterprise edition
Entendiendo PHP En diseño de software en el Front-end es la parte del software que interactúa con los usuarios. Es la persona que se encarga del diseño.
Conceptos relacionados con la interfaz gráfica Taller de diseño página Web.
Spring Framework.
ARQUITECTURA DEL PROYECTO. La estructura modelo vista controlador se muestra en la siguiente ilustración : ESTRUCTURA DE PROYECTOS DE MVC.
Lenguajes del lado del cliente
Arquitectura Aplicaciones Web
ESTRUCTURA DE SISTEMAS OPERATIVOS Carbajal Rojas karla.
Construcción de Sistemas Colaborativos (Arquitectura y construcción)
Docente: Valerio Herrera, Luis E. Experiencia Formativa III Semana 4: Servidores Web.
Tecnología Web Rodrigo Durán y Juan Díaz. ¿Que es?
Características de los Sistemas Operativos
GC-F-004 V.01 CENTRO DE INDUSTRIA Y LA CONSTRUCCIÓN REGIONAL TOLIMA.
ESTRUCTURA DE LOS SISTEMAS OPERATIVOS CHACALIAZA BOZA MARGARET AMARLLY.
ESTRUCTURA DE LOS SISTEMAS OPERATIVOS CHACALIAZA BOZA MARGARET AMARLLY.
ESTRUCTURA DE LOS SISTEMAS OPERATIVOS Magallanes Napa, Anthony Yair.
Ha llegado el momento de dar una mirada al interior de los Sistemas Operativos. En las siguientes secciones examinaremos cuatro estructuras distintas.
ESTRUCTURA DE LOS SISTEMAS OPERATIVOS By Pachas Garay Bruno.
Cliente Servidor Petición Respuesta Aplicaciones Cliente-Servidor.
Base de datos años  En la década de los años 80’, se desarrolló el SQL, un lenguaje de consultas que permite consultar, valga la redundancia,
Introducción a la Programación. Modulo 61 Programación Web Programación Web.
Transcripción de la presentación:

Ing. Dahiana Ferreira Ing. Dahiana Ferreira Facultad Politécnica - UNE

 El modelo–vista–controlador (MVC) fue desarrollado en el Centro de Investigaciones Xerox Corporation a finales de los años setenta en California por Trygve Reenskaug.  La arquitectura del patrón Modelo-Vista-Controlador es un paradigma de programación bien conocido para el desarrollo de aplicaciones con interfaz gráfica de usuario (GUI).  El MVC es un patrón de software que separa los componentes de aplicación en tres niveles por sus diferentes responsabilidades.

Lógica de Negocio Modelo Interfaz de usuario Vista Lógica de Control Controlador

 La razón es que nos permite separar los componentes de nuestra aplicación dependiendo de la responsabilidad que tienen, esto significa que cuando hacemos un cambio en alguna parte de nuestro código, esto no afecte otra parte del mismo.  Surge de la necesidad de crear software más robusto con un ciclo de vida más adecuado, donde se potencie la reutilización del código y la separación de conceptos, características que buscan facilitar la tarea de desarrollo de aplicaciones y su posterior mantenimiento.

 Si modificamos nuestra Base de Datos, sólo deberíamos modificar el modelo que es quién se encarga de los datos y el resto de la aplicación debería permanecer intacta.  Esto respeta el principio de la responsabilidad única. Es decir, una parte de tu código no debe de saber qué es lo que hace toda la aplicación, sólo debe de tener una responsabilidad.

 El modelo es la porción que implementa la “Lógica del Negocio”.  Se le suele llamar a la parte del sistema que representa objetos y sus interacciones del mundo real.  Son rutinas que realizan entradas de datos, consultas, generación de informes y más específicamente todo el procesamiento que se realiza detrás de la aplicación.  Las peticiones de acceso o manipulación de información llegan al 'Modelo' a través del 'controlador’, y este envía a la 'vista' aquella información que en cada momento se le solicita para que sea mostrada (típicamente a un usuario).

 Es la capa donde se trabaja con los datos, por tanto contendrá mecanismos para acceder a la información y también para actualizar su estado. Los datos los tendremos habitualmente en una base de datos, por lo que en los modelos tendremos todas las funciones que accederán a las tablas y harán los correspondientes selects, updates, inserts, etc.

 El controlador es el cerebro de la aplicación MVC.  Responde a eventos (acciones del usuario) e invoca peticiones al “modelo” cuando se hace alguna solicitud sobre la información. También puede enviar comandos a su “vista” asociada si se solicita.  Empleado como un mediador entre el medio gráfico ("View") y el modelo ("Model"), coordina las acciones que son llevadas acabo entre ambos.  El controlador generalmente crea instancias y utiliza métodos de esos modelos para conseguir los datos que se presentan a los usuarios, enviándolos a la vista correspondiente.

 Las vistas son las porciones de la aplicación MVC que presentan salida al usuario.  Presenta el “modelo” (información y lógica de negocio) en un formato adecuado para interactuar (interfaz de usuario).  Ni el modelo ni el controlador se preocupan de cómo se verán los datos, esa responsabilidad es únicamente de la vista.  Por ejemplo: La salida más común para aplicaciones web es el HTML. Podrían ser otras como un formulario, gráficos, etc.

1. El usuario realiza una acción en la interfaz. 2. El controlador trata el evento de entrada. 3. El controlador notifica al modelo la acción del usuario, lo que puede implicar un cambio del estado del modelo (si no es una mera consulta). 4. Se genera una nueva vista. La vista toma los datos del modelo. El modelo no tiene conocimiento directo de la vista 5. La interfaz de usuario espera otra interacción del usuario, que comenzará otro nuevo ciclo.

En la web, el MVC funcionaría así.  Cuando el usuario manda una petición al navegador, digamos quiere ver un sitio específico el controlador responde a la solicitud, porque él es el que controla la lógica de la app, luego le pide al modelo la información del curso.  El modelo, que se encarga de los datos de la app, consulta la base de datos y obtiene toda la información.

 Luego, el modelo responde al controlador con los datos que pidió.  Finalmente, el controlador tiene los datos solicitados, se los manda a la vista, pudiendo aplicar los estilos (Hojas de estilos CSS), organizar la información y construir la página que se observa en el navegador.

“Un Framework es una estructura de soporte definida en la cual un proyecto de software puede ser organizado y desarrollado. Típicamente, un Framework puede incluir soporte de programas, bibliotecas y un lenguaje de scripting para ayudar a desarrollar y unir los diferentes componentes de un proyecto”.

Un framework es un diseño re-usable de un sistema, se puede considerar como una aplicación genérica incompleta y configurable a la que podemos añadirle las últimas piezas para construir una aplicación concreta, refiriendo a una estructura de software compuesta de componentes personalizables e intercambiables para el desarrollo de una aplicación.

Actualmente existen muchos frameworks disponibles para el desarrollo del MVC. Algunos ejemplos:  Java Enterprise Edition (Java EE)  Java Swing  Spring  AngularJS,  Struts  ASP.NET MVC Framework (Microsoft)  Etc., etc., etc.

 Las aplicaciones de MVC pueden ser implementadas con Java EE utilizando JSP para las vistas, servlets como controladores y los JavaBeans, que son idóneos para el modelo,

InterfazUsuario(Navegador) Vista (JSPs)Modelo(beans) Controlador (servlet) Evento (forward) Datos (Propiedades de los Beans) Evento (Petición) Mostrar Vista (HTML), jsp:getProperty Información Evento (Parámetros) Evento (Petición)

 Los servlets facilitan el tratamiento de las peticiones que llegan al servidor. Tratamiento de datos de formularios. Generación de contenidos de formato variable. Permiten redireccionar las peticiones.  El JSP facilita el desarrollo y mantenimiento del contenido HTML Interesante para páginas de formato establecido (poca variabilidad).  Los Java Beans y Enterprise Beans facilitan la implementación de la lógica de negocio Independiente del protocolo de interacción con los clientes Independiente de la presentación de los resultados

Los beans representan los datos  Los resultados pueden ser Java Beans que encapsulan los resultados Los servlets gestionan las peticiones de los clientes  Reciben las peticiones HTTP  Procesan los parámetros (p.ej. de formularios) comprobando que son correctos  Invocan operaciones en beans para ejecutar la lógica de negocio  Guardan referencias a los beans de resultados en el ServletsContext, en la sesión o en la petición  Reenvían la petición a una página JSP  El servlet determina la página JSP apropiada y usa el método de reenvío para transferirle el control. La página JSP accede a los beans de resultado ◦ La página JSP no crea ni modifica beans, solo los consulta para ver los resultados

 Fácil organización del código en tres componentes diferentes.  Crea independencia del funcionamiento.  Facilita agregar nuevos tipos de datos según sea requerido por la aplicación ya que son independientes del funcionamiento de otras capas.  Si trabaja con un equipo de programadores entonces les da una mayor facilidad para poder seguir el trabajo entre varios integrantes.  Facilita el mantenimiento en caso de errores.  Hacen que las aplicaciones sean fácilmente extensibles.  Poder adaptarse a los frameworks de hoy en día.

 La separación de conceptos en capas agrega complejidad al sistema.  La cantidad de archivos a mantener y desarrollar se incrementa considerablemente.  La curva de aprendizaje del patrón de diseño es más alta que usando otros modelos sencillos.

 Para aplicar el MVC a nuestro ejemplo tendremos que desarrollar una serie de módulos independientes que se encarguen, en dos capas (acción y estado) del acceso a los datos.

Primero se crea el modelo, que es una clase en java y se llama Cliente.java, esta clase sólo contiene los atributos, constructor, getters y setters.

Se definen los campos ("fields") utilizados en un contexto privado (private). Se definen constructores Java, Constructor "default" sin datos de entrada. A través de los diversos métodos get/set es posible modificar los valores iniciales definidos en el Java Bean.

Luego se crea la vista, la clase ClienteView.java, para el ejemplo y su función es presentar los datos del modelo.

 Ahora se crea el controlador que contiene 2 objetos: el modelo y la vista.  Así como los getters y setters para llenar las propiedades del modelo y un método(actualizarVista()) que llama a la vista que a su vez imprime las propiedades del modelo cliente.

Se declara los objetos

Presentación de los datos