Académique Documents
Professionnel Documents
Culture Documents
(Capa servicios )
Arquitectura de Software
Ing. Mario Linares Vásquez MSc.
El objetivo de este laboratorio es utilizar EJB 3 como tecnología para implementación de la capa
de negocio en aplicaciones Java Los conceptos planteados en clase serán interiorizados a través
de la ejecución práctica sobre un ambiente de desarrollo. En este caso se implementará un
modulo EJB que sera accedido por una aplicación standalone (de escritorio) y por una web.
Para la implementación de la cada de datos se puede utilizar el motor MySQL o Java DB
embebido en Netbeans.
En este medida se debe crear un proyecto Java con los entities y daos respectivos. Los
métodos de los DAOS deben recibir como parámetro el entity manager sobre el cual se invocan
las tareas de persistencia. Una vez implementados los DAOS el objetivo es crear la capa de
negocio con EJBs, con un módulo EJB con nombre EJBModule.
Una vez creado el módulo, agregue una paquete services en el cual se ubicará el
código de los EJBs y sus interfaces de negocio.
La lógica de negocio puede ser implementada mediante Application Services o con Session
Facades (en el caso que los servicios se expongan para el acceso de la capa cliente). Ambos
tipos de clases pueden ser implementados como POJOs o con EJBs. En el caso de ser
implementados como EJBs se aprovechan las bondades proporcionadas por el contenedor de
EJBS. Si el despliegue de la aplicación no se hace sobre un contenedor de EJBs, entonces la
estrategia es utilizar la estrategia de implementacion con POJOS.
Para el caso particular de este laboratorio, se implementaran los Session Facade y los
Application Services con EJBs. La idea es proporcionar servicios de tal forma que la capa vista
pueda invocar las tareas de persistencia sobre las entidades Program y Student. En el caso de
la entidad Address, se administra en cascada mediante el Programa.
Para crear EJBs en Netbeans, se puede utilizar el asistente de creación contextual, haciendo
click sobre el paquete services, y seleccionando la opción Session Bean.
Para agregar los métodos de negocio al bean de forma rápida se puede utilizar el asistente que
se despliega con la combinación de teclas ALT + Ins. En el menú contextual aparece la opcion
Add Business Method...
@PersistenceUnit
private EntityManagerFactory entityManagerFactory;
private EntityManager entityManager;
Luego de implementar los Facade para las entidades Program y Student. Agregue
una entidad Log con atributos date y description para almacenar un registro de
cualquier operación de persistencia que se realice. Adicione tambien el DAO para
el Log y un ApplicationService implementado como un Stateless EJB con interfaz
local. La razón para implementarlo como AppService, es que este servicio no va
ser accedido desde la capa presentación, los métodos de los session facade al
servicio dentro de cada uno de sus métodos de negocio. Este AppService debe
tener un método save que recibe una cadena con la descripción del log.
2. Capa presentación
Los métodos de negocio de la interfaz remota de un EJB pueden ser invocados desde cualquier
aplicación Java web o desktop. Para este laboratorio se debe implementar una aplicación web
desde la cual se consuman los métodos publicados en los session facade del módulo EJB.
Para poder acceder a los EJBs desde la aplicacion web, se debe agregar el modulo EJB como
librería. Luego en los controladores de la vista se debe hacer el respectivo lookup de las
interfaces remotas:
Bibliografía