Resulta interesante el análisis de los nuevos patrones, podéis ver una introducción de John Crupi en este enlace.
¿ Por qué regreso al pasado ? Pues porque por fin el equipo de desarrollo de SUN Microsystems ha reconocido que una arquitectura basada en clases planas de Java ( POJOs ) y que utilice un sistema de persistencia puede ser tan válida como cualquier super-mega-arquitectura basada en EJBs cuánticos. Sin duda es un paso adelante en el desarrollo J2EE, ya que se pasan a considerar sistemas de desarrollo mucho más ligeros que el que imponían los viejos blueprints.
En los nuevos patrones el concepto de POJOs toma un papel central, por ejemplo en el Business Object. Sólo hay que ver los diferentes diagramas UML para darse cuenta que los patrones pasan a considerar la posibilidad de que tanto la lógica de la aplicación como los datos se localicen en clases planas de Java.
Por otra parte, el patrón Domain Store se ha introducido para tener en cuenta los motores de persistencia. Ups, disculpad, oficialmente se ha introducido para soportar JDO, el estándar de persistencia creado dentro del Java Community Process, pero está claro que podemos generalizar. Este patrón busca separar lo que es el modelo de objetos de una aplicación de la persistencia de dichos objetos cuando:
- No queremos utilizar beans de entidad
- La aplicación puede que se ejecute en un contenedor web sin soporte de EJBs
- El modelo de objetos utiliza relaciones y herencia
Nótese que este patrón implica que :
- Se reconoce que los beans de entidad tienen problemas. Ya se sabe: son complejos, si se usan mal degradan el rendimiento, etc.
- Se reconoce que los modelos de aplicaciones web ligeras existen. Eso está bien, ya era hora, ¿no?.
- Se rconoce que los beans de entidad tienen carencias en cuanto a relaciones y herencia. Por una parte las relaciones en beans de entidad son bastante más complejas de implementar que en cualquier motor de persistencia y el soporte de herencia de EJBs es famoso por su ausencia.
Bueno, nada más por hoy, espero que en mi presentación del I Congreso javaHispano podamos ahondar en estos temas.
| Permalink Comentarios [3] |