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

Slides:



Advertisements
Presentaciones similares
Desarrollo de aplicaciones en n- capas
Advertisements

2010Ing. de Sistemas II Persistencia en EJB3 Pasos para crear entity beans.
JEE Introducción a Java Enterprise Edition (JEE) y el modelo Enterprise Java Beans (EJB)
Red Social: “Un millón de Amigos”.
Red Social: “Un millón de Amigos”.
Servicios Web.
Programación Distribuida
Prof. César Luza Montero
Aplicación de diseño de clases y generación de código, orientado hacia la arquitectura multicapas y el mapeo objeto/relacional Juan Timoteo Ponce Ortiz.
Arquitectura de la Aplicación
Spring Framework v2.5.
Model View Controller (MVC)
Empresa: Liebre Primer ciclo Proyecto TripleC. Conseguir soluciones inteligentes para satisfacer de una manera rápida y segura las necesidades de nuestros.
ACIS Desarrollar proyectos de software y “evitar” el fracaso ?
Java 2 Platform Enterprise Edition
POR: Evelyn Zuleyma Quiroz Velásquez
Bienvenidos.
Enterprise Java Beans Rubén Trujillo Sept-Dic 2008.
Diseño de la herramienta G.I.A. (Gestión Integral de Accesibilidad) Alumno: Javier Cañadillas Pardo Tutor: Juan Carlos Naranjo (ITACA) Consultor: Fatos.
Unified Modeling Language (Lenguaje de Modelamiento unificado)
Profesor: Miguel Angel Vidal
Modelo de Análisis Centro ISYS Escuela de Computación
Contexto: Aplicación gráfica.  Siempre que se piensa en separar la funcionalidad de una aplicación de su interacción con el usuario, bien sea una aplicación.
Desarrollo de Aplicaciones Utilizando Java Edición Empresarial – JEE6
Propósito: * Mostrar indicativos porcentuales de los diversos microorganismos con los que se alimentan el camarón en un manejo semi-intensivo aplicado.
Arquitectura de una aplicación
Práctica J2EE Dr. Diego Lz. de Ipiña Gz. de Artaza
Contenido: 1- Que es el .Net Framework 2- Arquitectura en .Net
SPRING MVC.
Desarrollo de Software Multi-Tier Ing. Martín Claro.
Patrones de Diseño de Arquitecturas de Software Enterprise
EJB 3.0 Transacciones y seguridad Tutor: Ing. Juan E. Talavera Horn 2010.
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.
ACIS Desarrollar proyectos de software y “evitar” el fracaso ? Por Bernardo Díaz Arias Arquitectura.
Desacoplamiento de Capas
Aplicaciones Web de Servidor
Contacta un Servlet o un JSP
Daniel Fernández Lanvin Capa de Presentación. Daniel Fernández Lanvin Capa de Presentación Responsabilidades Navegabilidad del sistema Formateo de los.
Bienvenidos. Desarrollo de Aplicaciones I Lic. Alfonso Felipe Lima Cortés
Modelo de 3 capas.
Manual Desarrollo Flex – J2EE. Contenidos Análisis y Diseño 1 Implementación 2 J2EE 3 Pruebas 4.
Sistema informático de apoyo a la evaluación de la enseñanza IN.CO.
Jakarta Struts version Juan Manuel Zorrilla Gamarra Mario Titto Acostupa.
Diseño de Sistemas.
CONTRATOS DE CLIENTES Orlando Sedamano Cornejo Marco Bustinza
SOFTTEK INTERNAL © Copyright All Rights Reserved. Valores Corporativos Softtek S.A. de C.V. Struts Academia Java.
© Softtek Internal. Introducción a Spring Sesión 1: Introducción y teoría Juan Irungaray
Cairngorm Framework v2.2. Mate Framework Prototipos rápidos Aplicación con compleja o repetitiva lógica Independencia en el desarrollo de UI de la lógica.
Jairo Pinto Ing. sistemas
Luis Ponce Cabello.  Primera Parte : JSF  Segunda Parte : Facelets  Tercera Parte : Icefaces.
Guadalupe Andrade Mociño.  Significa Modelo Vista Controlador  Es un patrón de diseño  Esta compuesto por tres grandes capas: modelo, vista y controlador.
Daniel Fernández Lanvin Desacoplamiento de Capas.
Patrones de Diseño Para Persistencia y Transferencia
Tutor: Ing. Juan E. Talavera Horn 2010 Google Web Toolkit (GWT)
Unified Modeling Language (Lenguaje de Modelamiento unificado)
Colegio de Bachilleres Plantel 13 Xochimilco - Tepepan
Gestión de proyectos fin de carrera
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.
Aclaraciones al modelo MVC del Framework de Justicia
Arquitectura de una aplicación Arquitectur a: desarrolla un plan general del sistema, asegurando que las necesidades de los usuarios sean atendidas. Ingeniería.
M.C. Meliza Contreras González.  Se le llama interfaz gráfica al conjunto de componentes gráficos(ventanas, botones, combos, listas, cajas de dialogo,
Arquitecturas de Integración Mensajería
Generador de Páginas Hélio Martins
Centro Universitario UAEM Zumpango Ingeniería en Computación Agosto 2015.
Arquitectura de aplicaciones
JSF Simplificando nuestro trabajo. JSF – Java Server Faces Celula Creative SUN 2 La principal intención es liberar al programador de aspectos Web Pretende.
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.
Servicios Web-SOA Aula: Fomento 05/06/2006 a 08/05/2006.
Transcripción de la presentación:

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

 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

Modelos aplicados con GWT

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.

MVC – Model View Controller

 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

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.

MVC – La vista (1)

MVC – La vista (2)

MVC – La vista (3)

Interfaces para Observer Pattern

MVC – El modelo (1)

MVC – El modelo (2)

MVC – El controlador (1)

PropertyChangeSupport (1)

PropertyChangeSupport (2)

PropertyChangeSupport (3)

Modelos aplicados a EJB

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

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.

Entity Access Object Pattern

La interfaz para el EAO

Implementación del EAO (1)

Implementación del EAO (2)

Capa de business logic

Factory para los EAOs

Session Beans como EAOs (1)

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

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

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

Ejemplo (2). Sin session facade ClienteContenedor EJB Controlador UIAlumnosEAOParcialesEAOInscripcionEAO Obtener alumnos Obtener parciales Guardar inscripción Calcular promedio

Ejemplo (3). Con session facade ClienteContenedor EJB Controlador UIAlumnosEAOParcialesEAOInscripcionEAO Obtener alumnos Obtener parciales Guardar inscripción Calcular promedio InscParcialesFacade Inscribir masivo

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

Integración GWT - EJB

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.

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

Bibliografía  GWT in practice – Robert Cooper (caps 2 y 4)  EJB 3 in action – Debu Panda (cap 12)