La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Tutor: Ing. Juan E. Talavera Horn 2010 GWT – EJB Patrones de diseño e integración.

Presentaciones similares


Presentación del tema: "Tutor: Ing. Juan E. Talavera Horn 2010 GWT – EJB Patrones de diseño e integración."— Transcripción de la presentación:

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)


Descargar ppt "Tutor: Ing. Juan E. Talavera Horn 2010 GWT – EJB Patrones de diseño e integración."

Presentaciones similares


Anuncios Google