En este blog podréis ir viendo el desarrollo día a día de un proyecto software bajo la Métrica v3 del grupo 3 de Ingeniería del Software III (Ingeniería Informática) de la Universidad Carlos III de Madrid.

miércoles, 30 de enero de 2008

Patrón EJB Session Facade

Hace unos días, en este post, comentábamos que la utilización de los EJBs nos hacía más sencillo el diseño de la aplicación gracias a que, dado que seguíamos el esquema de clases que nos viene dado por esta tecnología no era necesario aplicar otros patrones.

En realidad, existen algunos patrones para utilizar dentro de esta tecnología. Nosotros, en nuestro proyecto, utilizamos uno llamado Session Facade que nos permite dar una fachada de acceso a la parte central de la aplicación hecha en EJBs.

De este modo, utilizamos una arquitectura de 4 capas (similar a la arquitectura Modelo Vista Controlador (tecnología pero añadiendo la capa de acceso a la base de datos y sin permitir comunicación entre la vista y el modelo). A la hora de detallar esta arquitectura utilizamos Session y Entity Beans para la capa de datos (modelo) y de infraestructura (acceso a la base de datos). Para la capa de control utilizamos Session Beans que nos sirven a modo de fachada para utilizar la aplicación. Por último para la capa de Vista utilizamos JSPs (para las interfaces de usuario) y Web Services (para permitir acceso a nuestro sistema desde otras aplicaciones).

Dejamos un diagrama que resume lo que hemos explicado:

Esto se corresponde con un session facade, ya que los session bean de la capa de control solamente hacen de fachada para que los JSPs de la interfaz accedan a los session y entity beans del modelo de datos.

Una de las ventajas de utilizar este patrón nos vino a la hora de controlar los permisos de los usuarios. Cada usuario tiene un rol (administrador, invitado, usuario registrado, etc.) y, para controlar los permisos de cada rol, lo único que tuvimos que hacer es definir las operaciones de cada rol en distintos session beans de la capa de control y despues, desde el deployment descriptor de los EJBs, mapear nuestros roles con dichos session beans. La autenticación se realiza en la capa de interfaz.

Pues eso es todo. Recomendamos que mireis la referencia que os dejamos sobre
el patrón para que completeis la información que os aporta este post y, si aun no lo habeís hecho, podeís consultar la bibliografía que recomendamos sobre EJBs en el primer post en que tratamos este tema y que ya hemos referenciado. Mucha suerte con vuestro diseño.

1 comentario:

anunciatick dijo...

Por aqui dejare mi pagina, es sobre ingenieria de software a Diario publico sobre todos los aspetos de esta y mas sobre como obtener calidad deferia.weebly.com espero sus comentarios muchas gracias