Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porRufino Rojo Modificado hace 9 años
1
Tutor: Ing. Juan E. Talavera Horn 2010 GWT – EJB Patrones de diseño e integración
2
MVC aplicado a Google Web Toolkit El Observer pattern en GWT El modelo entity access object en EJB El modelo session facade en EJB Integración GWT - EJB Contenido
3
Modelos aplicados con GWT
4
MVC – Model View Controller Modelo: Lógica de negocio y datos Vista: Interfaz de usuario. Presentación gráfica del modelo. Controlador: Coordinación entre modelo y vista. Invocado con cada interacción del usuario.
5
MVC – Model View Controller
6
El modelo debe ser totalmente independiente de la vista y el controlador. El concepto de MVC puede ser aplicado en distintos niveles en una aplicación. El modelo puede avisar a los demás componentes cuando ocurren cambios en los datos usando el Observer Pattern (líneas punteadas en figura anterior). El modelo es el componente que debe ser más reutilizable
7
MVC – Model View Controller La vista gralmente tiene una referencia al controlador e invoca métodos de este directamente. Idealmente el controlador solo actualiza datos en el modelo, y como la vista es un observador del modelo, esta se actualiza también.
8
MVC – La vista (1)
9
MVC – La vista (2)
10
MVC – La vista (3)
11
Interfaces para Observer Pattern
12
MVC – El modelo (1)
13
MVC – El modelo (2)
14
MVC – El controlador (1)
15
PropertyChangeSupport (1)
16
PropertyChangeSupport (2)
17
PropertyChangeSupport (3)
18
Modelos aplicados a EJB
19
Entity Access Object Pattern Lógica de negocio implementada en Session Beans Acceso a base de datos a través del EntityManager Se mezclan lógica de negocios y mecanismos de acceso a los datos Se inserta una capa más, la de los Entity Access Object (EAO), que se encarga de los detalles de acceso a datos
20
Entity Access Object Pattern Se separa el código de consultas del código que implementa reglas de negocios, mejorando la mantenibilidad. El código de consultas es reutilizable. Las reglas de negocios son independientes al mecanismo de persistencia utilizado.
21
Entity Access Object Pattern
22
La interfaz para el EAO
23
Implementación del EAO (1)
24
Implementación del EAO (2)
25
Capa de business logic
26
Factory para los EAOs
27
Session Beans como EAOs (1)
28
Session Beans como EAOs (2) Al implementar los EAOs como session beans conseguimos Independency injection, transacciones declarativas y el Entity Manager manejado por el contenedor
29
El modelo session facade Para ejecutar un proceso, la capa de interfaz de usuario invoca un solo método de la capa de reglas de negocios con los parámetros necesarios, y dicho método ejecuta el caso de uso en su totalidad dentro del Session Bean, opcionalmente haciendo uso de uno o más EAOs
30
Ejemplo (1) Proceso: Inscribir masivamente a los alumnos de un curso al primer examen final. Pasos: en función al identificador del curso … Obtener la lista de alumnos inscriptos al curso Por cada alumno, obtener sus parciales y calcular el promedio Si el promedio es mayor a 60 crear nueva “Inscripcion”, asociando alumno al examen. Guardar la nueva inscripción Repetir para todos los alumnos
31
Ejemplo (2). Sin session facade ClienteContenedor EJB Controlador UIAlumnosEAOParcialesEAOInscripcionEAO Obtener alumnos Obtener parciales Guardar inscripción Calcular promedio
32
Ejemplo (3). Con session facade ClienteContenedor EJB Controlador UIAlumnosEAOParcialesEAOInscripcionEAO Obtener alumnos Obtener parciales Guardar inscripción Calcular promedio InscParcialesFacade Inscribir masivo
33
Ventajas Reducir número de invocaciones remotas Código de reglas de negocios no esparcidos en capa de UI Transacciones y seguridad del proceso administradas por el contenedor Código de reglas de negocios más reutilizable
34
Integración GWT - EJB
35
Integración Web tier – EJB GUI Aspectos visuales Eventos de usuarios Formateo de datos EJB – Session Facade Procesos del negocio Transacciones EJB – EAOs Acceso a datos Persistencia en gral EJB – Entity Beans Representación del modelo GWT, Struts, JSF, etc.
36
Integración GWT - EJB Widget Control visual Controlador Manejo de eventos Modelo Datos a mostrar Browser cliente Remote Service GWT Servicio remoto Servlet Container EJB – Session Facade Procesos del negocio Transacciones EJB – EAOs Acceso a datos Persistencia en gral EJB Container
37
Bibliografía GWT in practice – Robert Cooper (caps 2 y 4) EJB 3 in action – Debu Panda (cap 12)
Presentaciones similares
© 2024 SlidePlayer.es Inc.
All rights reserved.