patrones j2 ee

46
PATRONES DE DISEÑO J2EE

Upload: roberto-moreno-donoro

Post on 11-Jul-2015

244 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Patrones j2 ee

PATRONES DE DISEÑO J2EE

Page 2: Patrones j2 ee

PREÁMBULO

Planteamiento de soluciones optimas. Reutilización de soluciones anteriores

satisfactorias. Abstraer las soluciones para ampliar su

aplicación.

Page 3: Patrones j2 ee

INTRODUCCIÓN

Elaboración de soluciones generales para problemas en concreto.

Los patrones abarcan todas las etapas del desarrollo del software.

Distintos tipos de patrones, organizados en grupos relacionados.

Page 4: Patrones j2 ee

“GANG OF FOUR “

En 1994 elaboran “Design patterns: Elements of Reusable Object Oriented Sofware ”.

Recopilación de 23 patrones utilizados profesionalmente.

Afianzaron el desarrollo mediante la utilización de patrones.

Page 5: Patrones j2 ee

TIPOS

CREACIONALES: Tratan de la forma de instanciar los objetos.

ESTRUCTURALES: Describen como las objetos pueden ser combinados formando estructuras complejas y nuevas funcionalidades.

COMPORTAMIENTO: Definen la comunicación entre los objetos.

Page 6: Patrones j2 ee

TIPOS: 2º nivel

CREACIONALES:CREACIONAL DE LA CLASE: Instanciación

de la clase mediante herencia.CREACIONAL DEL OBJETO: Patrones más

escalables y dinámicos.

Page 7: Patrones j2 ee

TIPOS: 2º NIVEL

ESTRUCTURALES: ESTRUCTURAL DE LA CLASE:

Proporcionan interfaces más útiles mediante herencia.

ESTRUCTURAL DE OBJETOS: Creación de objetos complejos mediante objetos individuales para formar grandes estructuras.

Page 8: Patrones j2 ee

TIPOS: 2º NIVEL

COMPORTAMIENTO: COMPORTAMIENTO DE CLASE:

Distribuyen el comportamiento entre clases mediante herencia.

COMPORTAMIENTO DE OBJETOS: Analizan la comunicación entre objetos interconectados.

Page 9: Patrones j2 ee

EJEMPLO DE USO

PATRÓN HANDLER Identificación de objetos.

Page 10: Patrones j2 ee

PATRONES J2EE

CINCO CAPAS: Cliente. Presentación. Negocios. Integración. Recurso.

Page 11: Patrones j2 ee

CAPA PRESENTACIÓN

Decorating Filter / Intercepting Filter. Front Controller/ Front Component. View Helper. Composite view. Service To Worker. Dispatcher View.

Page 12: Patrones j2 ee

DECORATING FILTER

CARACTERÍSTICAS: Maneja varios tipos de peticiones que

requieren un procesamiento determinado. Aplicado a procesos de validación de sesión. Elimina las comprobaciones mediante if-else

concatenados.

Page 13: Patrones j2 ee

DECORATING FILTER

Page 14: Patrones j2 ee

FRONT CONTROLLER

CARACTERÍSTICAS: Acepta todas las peticiones de un cliente y

las direcciona a los manejadores apropiados. Se divide en dos partes:

Controlador Dispatcher

Page 15: Patrones j2 ee

FRONT CONTROLLER

Page 16: Patrones j2 ee

VIEW HELPER

CARACTERÍSTICAS: Encapsula la lógica de acceso a bases de

datos en beneficio de la capa de presentación.

Acceso a datos de una JSP mediante JavaBeans.

Page 17: Patrones j2 ee

VIEW HELPER

Page 18: Patrones j2 ee

COMPOSITE VIEW

CARACTERÍSTICAS: Elemento de la vista compuesto por otros

elementos del mismo tipo. Utilización de la directiva include.

Page 19: Patrones j2 ee

COMPOSITE VIEW

Page 20: Patrones j2 ee

SERVICE TO WORKER

CARACTERÍSTICAS: Parecido al patrón M-V-C. Utiliza dos subPatrones:

Front Controler para el manejador. View Helper para la vista.

Diferencia con M-V-C: el controlador está formado por un componente en el M-V-C.

Page 21: Patrones j2 ee

SERVICE TO WORKER

Page 22: Patrones j2 ee

DISPATCHER VIEW

CARACTERÍSTICAS: Parecido también al patrón M-V-C. Utilización similar del Front Controller y del

View Helper. Diferencia: el controlador no realiza acción

sobre el helper.

Page 23: Patrones j2 ee

DISPATCHER VIEW

Page 24: Patrones j2 ee

CAPA NEGOCIOS

Business Delegate. Value Object/ Data Transfer Object/

Replicate Object. Session Façade/ Session Entity Façade/

Distributed Façade. Aggregate Entity.

Page 25: Patrones j2 ee

CAPA NEGOCIOS

Value Object Assembler. Value List Handler/ Page-by-Page Iterator/

Paged List. Service Locator.

Page 26: Patrones j2 ee

BUSINESS DELEGATE

CARACTERÍSTICAS: Un objeto de la capa de presentación llama a

métodos remotos de los objetos de la capa de negocio.

Búsqueda del elemento de negocio. Llamada al servicio requerido.

Page 27: Patrones j2 ee

BUSINESS DELEGATE

Page 28: Patrones j2 ee

TRANSFER OBJECT

CARACTERÍSTICAS: Encapsula la serialización de un objeto que

debe ser traspasado por la red. Se realiza la petición, se crea el objeto

Transfer Object y éste encapsula el traspaso del objeto requerido por el cliente.

Page 29: Patrones j2 ee

TRANSFER OBJECT

Page 30: Patrones j2 ee

SESSION FACADE

CARACTERÍSTICAS: Crea una fachada para encapsular las

complejas interrelaciones de los distintos elementos de negocio.

Proporciona un servicio uniforme y maneja el flujo de ejecución de los subelementos.

Page 31: Patrones j2 ee

SESSION FACADE

Page 32: Patrones j2 ee

AGGREGATE ENTITY

CARACTERÍSTICAS: Encapsula la creación de un Bean de entidad

conpuesto por otros Beans de entidad.

Page 33: Patrones j2 ee

AGGREGATE ENTITY

Page 34: Patrones j2 ee

TRANSFER OBJECT ASSEMBLER

CARACTERÍSTICAS: Combina el Transfer Object y el Session

Facade. Transfer Object -> Serialización del objeto. Session Facade -> Encapsulación de la creación

de un Objeto compuesto de varios otros.

Page 35: Patrones j2 ee

TRANSFER OBJECT ASSEMBLER

Page 36: Patrones j2 ee

VALUE LIST HANDLER

CARACTERÍSTICAS: Maneja la ejecución de sentencias SQL. Usualmente utiliza Beans de Session.

Page 37: Patrones j2 ee

VALUE LIST HANDLER

Page 38: Patrones j2 ee

SERVICE LOCATOR

CARACTERÍSTICAS: Utilizado para abstraer toda la utilización de

JNDI y de la creación de cualquier contexto inicial de complejo.

Encapsula la búsqueda o creación de los objetos Home y EJB.

Proporciona un punto de control, que puede ser llamado por múltiples clientes.

Page 39: Patrones j2 ee

SERVICE LOCATOR

Page 40: Patrones j2 ee

CAPA INTEGRACIÓN

Data Access Object. Service Activator.

Page 41: Patrones j2 ee

DATA ACCESS OBJECT

CARACTERÍSTICAS: Consiste en utilizar un objeto como medio de

acceso a bbdd. Abstrae y encapsula las operaciones

relacionadas con el tratamiento de la base de datos.

Page 42: Patrones j2 ee

DATA ACCESS OBJECT

Page 43: Patrones j2 ee

SERVICE ACTIVATOR

CARACTERÍSTICAS: Se utiliza para recibir peticiones y mensajes

asincronos por parte del cliente. Busca el elemento de negocio que contiene

el método que debe invocar de forma asíncrona.

Page 44: Patrones j2 ee

SERVICE ACTIVATOR

Page 45: Patrones j2 ee

INCONVENIENTES

Necesidad de análisis y estudio previo de los distintos patrones.

Incremento del tiempo de desarrollo. Posible ligero aumento del coste del

proyecto.

Page 46: Patrones j2 ee

VENTAJAS

Estandarización de la solución y consecuente posibilidad de reutilización.

Mejor aprovechamiento de las características la POO.

Interoperabilidad de los patrones. Aumento del rendimiento a medio plazo. Diseño de la aplicación de forma robusta. Adaptada a posibles modificaciones y nuevas

adiciones.