SlideShare una empresa de Scribd logo
1 de 46
PATRONES DE
DISEÑO J2EE
PREÁMBULO
 Planteamiento de soluciones optimas.
 Reutilización de soluciones anteriores
  satisfactorias.
 Abstraer las soluciones para ampliar su
  aplicación.
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.
“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.
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.
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.
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.
TIPOS: 2º NIVEL
   COMPORTAMIENTO:
     COMPORTAMIENTO DE CLASE:
     Distribuyen el comportamiento entre clases
     mediante herencia.
     COMPORTAMIENTO DE OBJETOS:
     Analizan la comunicación entre objetos
     interconectados.
EJEMPLO DE USO
   PATRÓN HANDLER
     Identificación   de objetos.
PATRONES J2EE
   CINCO CAPAS:
       Cliente.
       Presentación.
       Negocios.
       Integración.
       Recurso.
CAPA PRESENTACIÓN
 Decorating Filter / Intercepting Filter.
 Front Controller/ Front Component.
 View Helper.
 Composite view.
 Service To Worker.
 Dispatcher View.
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.
DECORATING FILTER
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
FRONT CONTROLLER
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.
VIEW HELPER
COMPOSITE VIEW
   CARACTERÍSTICAS:
     Elemento de la vista compuesto por otros
     elementos del mismo tipo.
     Utilización de la directiva include.
COMPOSITE VIEW
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.
SERVICE TO WORKER
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.
DISPATCHER VIEW
CAPA NEGOCIOS
 Business Delegate.
 Value Object/ Data Transfer Object/
  Replicate Object.
 Session Façade/ Session Entity Façade/
  Distributed Façade.
 Aggregate Entity.
CAPA NEGOCIOS
 Value Object Assembler.
 Value List Handler/ Page-by-Page Iterator/
  Paged List.
 Service Locator.
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.
BUSINESS DELEGATE
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.
TRANSFER OBJECT
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.
SESSION FACADE
AGGREGATE ENTITY
   CARACTERÍSTICAS:
        Encapsula la creación de un Bean de entidad
        conpuesto por otros Beans de entidad.
AGGREGATE ENTITY
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.
TRANSFER OBJECT
ASSEMBLER
VALUE LIST HANDLER
   CARACTERÍSTICAS:
       Maneja la ejecución de sentencias SQL.
       Usualmente utiliza Beans de Session.
VALUE LIST HANDLER
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.
SERVICE LOCATOR
CAPA INTEGRACIÓN
 Data Access Object.
 Service Activator.
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.
DATA ACCESS OBJECT
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.
SERVICE ACTIVATOR
INCONVENIENTES
 Necesidad de análisis y estudio previo de
  los distintos patrones.
 Incremento del tiempo de desarrollo.
 Posible ligero aumento del coste del
  proyecto.
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.

Más contenido relacionado

La actualidad más candente

Linked List dalam Struktur Data
Linked List dalam Struktur DataLinked List dalam Struktur Data
Linked List dalam Struktur DataFajar Sany
 
Tìm thành phần liên thông mạnh và bài toán 2-SAT
Tìm thành phần liên thông mạnh và bài toán 2-SATTìm thành phần liên thông mạnh và bài toán 2-SAT
Tìm thành phần liên thông mạnh và bài toán 2-SATTam Pham Minh
 
Pertemuan 09 Penglihatan (Vision)
Pertemuan 09 Penglihatan (Vision)Pertemuan 09 Penglihatan (Vision)
Pertemuan 09 Penglihatan (Vision)Endang Retnoningsih
 
Ccip tổng quan mpls
Ccip tổng quan mplsCcip tổng quan mpls
Ccip tổng quan mplsVNG
 

La actualidad más candente (6)

Linked List dalam Struktur Data
Linked List dalam Struktur DataLinked List dalam Struktur Data
Linked List dalam Struktur Data
 
Pertemuan-6.pptx
Pertemuan-6.pptxPertemuan-6.pptx
Pertemuan-6.pptx
 
Tìm thành phần liên thông mạnh và bài toán 2-SAT
Tìm thành phần liên thông mạnh và bài toán 2-SATTìm thành phần liên thông mạnh và bài toán 2-SAT
Tìm thành phần liên thông mạnh và bài toán 2-SAT
 
Pertemuan 09 Penglihatan (Vision)
Pertemuan 09 Penglihatan (Vision)Pertemuan 09 Penglihatan (Vision)
Pertemuan 09 Penglihatan (Vision)
 
Papeline
PapelinePapeline
Papeline
 
Ccip tổng quan mpls
Ccip tổng quan mplsCcip tổng quan mpls
Ccip tổng quan mpls
 

Similar a Patrones j2 ee

Similar a Patrones j2 ee (20)

Cliente/Servidor
Cliente/ServidorCliente/Servidor
Cliente/Servidor
 
5-Unidad 2: Diseño de Vista-2.2 Para Web
5-Unidad 2: Diseño de Vista-2.2 Para Web5-Unidad 2: Diseño de Vista-2.2 Para Web
5-Unidad 2: Diseño de Vista-2.2 Para Web
 
Arquitectura de Software
Arquitectura de SoftwareArquitectura de Software
Arquitectura de Software
 
MVC & ASP.NET (Spanish)
MVC & ASP.NET (Spanish)MVC & ASP.NET (Spanish)
MVC & ASP.NET (Spanish)
 
Spring Mvc Final
Spring Mvc FinalSpring Mvc Final
Spring Mvc Final
 
MVC
MVCMVC
MVC
 
Adf. El Framework De Desarrollo De Fusion V7.0
Adf. El Framework De Desarrollo De Fusion V7.0Adf. El Framework De Desarrollo De Fusion V7.0
Adf. El Framework De Desarrollo De Fusion V7.0
 
Glosario
GlosarioGlosario
Glosario
 
Aplicaciones web - Gonzalo Acte
Aplicaciones web - Gonzalo ActeAplicaciones web - Gonzalo Acte
Aplicaciones web - Gonzalo Acte
 
Diseño de Objetos
Diseño de ObjetosDiseño de Objetos
Diseño de Objetos
 
1/9 Curso JEE5, Soa, Web Services, ESB y XML
1/9 Curso JEE5, Soa, Web Services, ESB y XML1/9 Curso JEE5, Soa, Web Services, ESB y XML
1/9 Curso JEE5, Soa, Web Services, ESB y XML
 
Jquery Hmvc
Jquery HmvcJquery Hmvc
Jquery Hmvc
 
ASP.NET MVC (2011)
ASP.NET MVC (2011)ASP.NET MVC (2011)
ASP.NET MVC (2011)
 
Framework
FrameworkFramework
Framework
 
How To Split The Monolith - From monolith to microservices
How To Split The Monolith - From monolith to microservicesHow To Split The Monolith - From monolith to microservices
How To Split The Monolith - From monolith to microservices
 
Curso online-asp-net-lw
Curso online-asp-net-lwCurso online-asp-net-lw
Curso online-asp-net-lw
 
Curso online-asp-net-lw
Curso online-asp-net-lwCurso online-asp-net-lw
Curso online-asp-net-lw
 
DOCUMENTACION CDS Y ABAP RAP.docx
DOCUMENTACION CDS Y ABAP RAP.docxDOCUMENTACION CDS Y ABAP RAP.docx
DOCUMENTACION CDS Y ABAP RAP.docx
 
Frameworks MVC para desarrollo de UITES
Frameworks MVC para desarrollo de UITESFrameworks MVC para desarrollo de UITES
Frameworks MVC para desarrollo de UITES
 
Drupal 7 a través Drupal Commerce
Drupal 7 a través Drupal CommerceDrupal 7 a través Drupal Commerce
Drupal 7 a través Drupal Commerce
 

Más de Roberto Moreno Doñoro (20)

21 bibsw tablasyotros
21 bibsw tablasyotros21 bibsw tablasyotros
21 bibsw tablasyotros
 
20 curvaselipticas
20 curvaselipticas20 curvaselipticas
20 curvaselipticas
 
19 protocoloscripto
19 protocoloscripto19 protocoloscripto
19 protocoloscripto
 
18 correoseguro
18 correoseguro18 correoseguro
18 correoseguro
 
17 certdigitalespkcs
17 certdigitalespkcs17 certdigitalespkcs
17 certdigitalespkcs
 
16 autenticafirma
16 autenticafirma16 autenticafirma
16 autenticafirma
 
15 funcioneshash
15 funcioneshash15 funcioneshash
15 funcioneshash
 
14 cifraasimetrica
14 cifraasimetrica14 cifraasimetrica
14 cifraasimetrica
 
13 ciframochilas
13 ciframochilas13 ciframochilas
13 ciframochilas
 
12 cifrasimetrica
12 cifrasimetrica12 cifrasimetrica
12 cifrasimetrica
 
11 cifraflujo
11 cifraflujo11 cifraflujo
11 cifraflujo
 
10 ciframoderna
10 ciframoderna10 ciframoderna
10 ciframoderna
 
09 cifraclasica
09 cifraclasica09 cifraclasica
09 cifraclasica
 
08 compalgoritmos
08 compalgoritmos08 compalgoritmos
08 compalgoritmos
 
07 teorianumeros
07 teorianumeros07 teorianumeros
07 teorianumeros
 
06 teoriainfo
06 teoriainfo06 teoriainfo
06 teoriainfo
 
05 gestionseg
05 gestionseg05 gestionseg
05 gestionseg
 
04 calidadinfo
04 calidadinfo04 calidadinfo
04 calidadinfo
 
02 breveintrocripto
02 breveintrocripto02 breveintrocripto
02 breveintrocripto
 
01 presentalibro
01 presentalibro01 presentalibro
01 presentalibro
 

Patrones j2 ee

  • 2. PREÁMBULO  Planteamiento de soluciones optimas.  Reutilización de soluciones anteriores satisfactorias.  Abstraer las soluciones para ampliar su aplicación.
  • 3. 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.
  • 4. “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.
  • 5. 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.
  • 6. 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.
  • 7. 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.
  • 8. TIPOS: 2º NIVEL  COMPORTAMIENTO:  COMPORTAMIENTO DE CLASE: Distribuyen el comportamiento entre clases mediante herencia.  COMPORTAMIENTO DE OBJETOS: Analizan la comunicación entre objetos interconectados.
  • 9. EJEMPLO DE USO  PATRÓN HANDLER  Identificación de objetos.
  • 10. PATRONES J2EE  CINCO CAPAS:  Cliente.  Presentación.  Negocios.  Integración.  Recurso.
  • 11. CAPA PRESENTACIÓN  Decorating Filter / Intercepting Filter.  Front Controller/ Front Component.  View Helper.  Composite view.  Service To Worker.  Dispatcher View.
  • 12. 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.
  • 14. 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
  • 16. 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.
  • 18. COMPOSITE VIEW  CARACTERÍSTICAS:  Elemento de la vista compuesto por otros elementos del mismo tipo.  Utilización de la directiva include.
  • 20. 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.
  • 22. 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.
  • 24. CAPA NEGOCIOS  Business Delegate.  Value Object/ Data Transfer Object/ Replicate Object.  Session Façade/ Session Entity Façade/ Distributed Façade.  Aggregate Entity.
  • 25. CAPA NEGOCIOS  Value Object Assembler.  Value List Handler/ Page-by-Page Iterator/ Paged List.  Service Locator.
  • 26. 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.
  • 28. 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.
  • 30. 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.
  • 32. AGGREGATE ENTITY  CARACTERÍSTICAS:  Encapsula la creación de un Bean de entidad conpuesto por otros Beans de entidad.
  • 34. 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.
  • 36. VALUE LIST HANDLER  CARACTERÍSTICAS:  Maneja la ejecución de sentencias SQL.  Usualmente utiliza Beans de Session.
  • 38. 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.
  • 40. CAPA INTEGRACIÓN  Data Access Object.  Service Activator.
  • 41. 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.
  • 43. 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.
  • 45. INCONVENIENTES  Necesidad de análisis y estudio previo de los distintos patrones.  Incremento del tiempo de desarrollo.  Posible ligero aumento del coste del proyecto.
  • 46. 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.