180 likes | 302 Views
Ingeniería de Software Laboratorio IX. Struts Eduardo Saavedra A. 27/10/2009. Tópicos. Flujo de transacciones – Arquitectura en capas Vista Jsp Form Controlador Modelo Capa de negocio Capa de datos DBMS. Flujo de transacciones. Arquitectura base Struts. Arquitectura en capas.
E N D
Ingeniería de SoftwareLaboratorio IX Struts Eduardo Saavedra A. 27/10/2009
Tópicos • Flujo de transacciones – Arquitectura en capas • Vista • Jsp • Form • Controlador • Modelo • Capa de negocio • Capa de datos • DBMS
Vista • JSP • Vista directa del usuario. • Deben definirse inicialmente los tld a utilizar. • Su uso radica en el HTML y la interpretación del ActionForm mediante tags especiales provistos por la tld “bean”. • Capaz de tener cualquier característica que el HTML posea: • CSS • Ajax • Javascript • Flash • Etc.
Vista • FormBean • Si se esta entregando un formulario desde el usuario, el FormBean asociado debe tener los mismos campos como atributos de la clase bean. (ver lab 2 - Struts) • Estos atributos DEBEN tener sus respectivos métodos get y set. • Si no es necesario asociar un formulario el FormBean se asocia a una “pantalla” y debe proveérsele lo que se desea ver en los JSP.
Action – Controlador • Es el encargado de realizar las acciones respectivas a las interacciones del usuario desde la vista. • Generalmente se la añaden validaciones genéricas de sistema. • Siempre se ejecuta el método “execute”. • Aquí se reciben como parámetros: • mapping : ActionMapping • Contiene información del mapeo del struts-config • form : ActionForm • Es el formulario asociado desde el struts-config • request : HttpServletRequest • Clase típica de la servlet • response : HttpServletResponse • Clase típica de la servlet
Ejemplo Vista – Formulario struts-config ActionForm Formulario - JSP Action Respuesta - JSP
Modelo • Es la representación del negocio basado netamente en el diagrama de clases. • Para su correcta utilización, la mejor estrategia es simplemente dejarlo como un “Bean”. • Con este último punto se puede desprender la funcionalidad (servicios) que se puede asociar a la clase.
Negocio – Gestores • Es la abstracción de métodos y funcionalidades de las clases del modelo llevadas a otra clase. • Siempre se debe dar una notación estándar para saber de que se trata. • Si se tiene la clase del modelo Usuario, la capa de negocio podría llamarse UsuarioBusiness, UsuarioGestor, UsuarioServicios, etc.
DAO – Data accessObject – Capa de datos • Es la abstracción de métodos y funcionalidades de las clases del modelo llevadas a otra clase. • Esta clase se encarga de todo lo que conlleve una relación con la persistencia de datos. • Archivos planos. • Base de datos. • XML.
DBMS • Para el caso del curso utilizaremos una base de datos relacional, particularmente MySQL. • A veces no necesariamente es utilizada un DBMS, es posible utilizar otro tipo de persistencia de datos • Es aquí donde es importante denotar que el DAO puede ser sustituido y no va a afectar a las otras partes ya que meramente representa una interfaz.
Bibliografía • • http://struts.apache.org/