Modelos de desarrollo de aplicaciones web en Java Los servlets son buenos ejecutando lógica de negocio, pero no son tan buenos presentando información JSPs son muy buenos presentando pero pésimos introduciendo lógica programática en ellos La combinación Servlet/JSPs es lo más común hoy en día en el desarrollo de aplicaciones web Dos arquitecturas: Model-1: JSPs para presentación y control y JavaBeans para la lógica Model-2: Model-View-Controller = JavaBeans-JSPs-Servlets MVC es tan común que se han desarrollado varias infraestructuras en torno a este patrón de diseño: Apache Struts Java Server Faces
Arquitectura Model 1
Arquitectura Model 2
Modelo MVC 0
Modelo MVC I El Controlador (Controller) Servlet central recibe peticiones, procesa URL recibida y delega procesamiento a JavaBeans Servlet guarda resultado de procesamiento realizado por JavaBeans en el contexto de la petición, la sesión o la aplicación Servlet transfiere control a un JSP que lleva a cabo la presentación de resultados
Modelo MVC II El Modelo (Model) JavaBeans (o EJBs para aplicaciones más escalables) desempeña el rol de modelo: Algunos beans ejecutan lógica Otros guardan datos Normalmente: Servlet controlador invoca un método en bean lógico y éste devuelve un bean de datos Autor de JSP tiene acceso a bean de datos
Modelo MVC III La Vista (View) Rol ejecutado por JSPs Servlet Controlador transfiere control al JSP después de haber guardado en un contexto el resultado en forma de un bean de datos JSP usa jsp:useBean y jsp:getProperty para recuperar datos y formatear respuesta en HTML o XML
Modelo MVC IV En resumen: Los beans o EJBs ejecutan la lógica de negocio y guardan los resultados Los JSPs proveen la información formateada Los servlets coordinan/controlan la ejecución de los beans y los JSPs
Frameworks Las frameworks pueden ser vistas como implementaciones de patrones de diseño que facilitan la reutilización de diseño y código Dado que MVC ha sido utilizado en muchas aplicaciones web, el desarrollo de frameworks que den soporte a áreas comunes en todas las aplicaciones MVC es necesario Apache Struts es una de estas frameworks Aplicaciones basadas en Struts consistirán de: Código Java Deployment descriptors que configuran la framework para el uso de nuestra aplicación
Página siguiente |