Está en la página 1de 4

Aplicacin Java EE de ejemplo para mostar el uso de las entidades JPA y los Enterprise JavaBeans en la capa de negocio

ndice de contenido
Aplicacin Java EE de ejemplo para mostar el uso de las entidades JPA y los Enterprise JavaBeans en la capa de negocio.........................................................1 Recursos a utilizar.............................................................................................1 Descripcin del proyecto NetBeans...................................................................1 Descripcin de la aplicacin de ejemplo............................................................1 Parte Servidor................................................................................................2 Parte Cliente..................................................................................................2 Compilacin y Ejecucin....................................................................................3 Paso previo: creacin de la base de datos.....................................................3 Compilacin y Ejecucin de los Proyectos......................................................3

Recursos a utilizar

Proyecto NetBeans Descarga: EjemploPedidos.tgz EjemploPedidos.zip Definicin de la BD Descarga: SCS_PEDIDOS.sql

Descripcin del proyecto NetBeans

Proyecto principal Nombre: EjemploPedidos Tipo: Enterprise Application Compuesto de dos mdulos EE (subproyectos 1 y 2) Subproyecto 1: Nombre: EjemploPedidos-app-client Tipo: Enterprise Application Client Subproyecto 2: Nombre: EjemploPedidos-ejb Tipo: EJB Module

Descripcin de la aplicacin de ejemplo


La aplicacin es un sistema de gestin de pedidos simplificado, donde hay Clientes, Artculos y Pedidos (junto con sus Lineas de Pedido). El modelo de datos se corresponde con el diagrama ER siguiente:

Parte Servidor
La aplicacin consta de una parte servidor que corresponde con el proyecto EjemploPedidos-ejb. El cdigo est estructurado en 2 paquetes:

entidades: Contiene las entidades JPA que encapsulan las tablas de la base de datos Clases: Cliente.java, Articulo.java, Pedido.java y LineaPedido.java ejb: Contiene un conjunto de EJBs que implementan la lgica de la aplicacin, y que junto con sus respectivos interfaces remotos ofrecen la fachada con la que interactuan los clientes. 3 EJB sin estado (@Stateful) que gestionan bsquedas, altas, bajas y modificaciones en las tablas Cliente, Articulo y Pedido ArticuloFacade.java (y su interfaz ArticuloFacadeRemote) ClienteFacade.java (y su interfaz ClienteFacadeRemote) PedidoFacade.java (y su interfaz PedidoFacadeRemote) 1 EJB con estado (@Stateles) que simula un dilogo de compra en una tienda electrnica, implementando un carrito de la compra donde se van aadiendo artculos. CarritoCompraBean.java (y su interfaz CarritoCompraRemote)

Parte Cliente
La parte cliente se corresponde con el proyecto EjemploPedidos-app-client. Se trata de un cliente Java EE en modo texto donde se muestra la interaccin con los EJBs que foman el interfaz de negocio de la aplicacin. Se crean varias instancias objetos de tipo Cliente y Artculo y un Pedido junto con sus Lineas de Pedido haciendo uso de los Stateless EJBs. Se muestra tambie un ejemplo de sesin con el Stateful EJB CarritoCompra. El cliente debe ejecutarse dentro de un contenedor de clientes JEE, dado que usa las anotaciones @EJB para indicar los atributos donde espera que le sean inyectadas las referencias los stubs de los EJB remotos.

Compilacin y Ejecucin Paso previo: creacin de la base de datos

Crear un usuario scs con passwrod scs en el servidor MySQL Desde lnea de comandos (por defecto el root de MySQL no tiene password): $ mysql --user=root mysql> GRANT ALL PRIVILEGES ON *.* TO 'scs'@l'ocalhost' IDENTIFIED BY 'scs' WITH GRANT OPTION; mysql> GRANT ALL PRIVILEGES ON *.* TO 'scs'@'%' IDENTIFIED BY 'scs' WITH GRANT OPTION; mysql> exit

Crear la base de datos scs_pedidos a partir de su defincin SQL Desde lnea de comandos: $ mysql --user=scs --password=scs < SCS_PEDIDOS.sql

Compilacin y Ejecucin de los Proyectos


La compilacin, despliegue y ejecucin de los proyectos se har directamente desde NetBeans. Para arancar NetBeans en las mquinas del laboratorio: $/home/alumno/netbeans-6.1/bin/netbeans & 1. Abrir proyecto File -> Open Project [asegurarse de marcar la opcin Open Required Proyect] 2. Compilar proyecto Sobre el nombre del proyecto principal en el rbol de proyecots, o sobre el nombre de uno de los 2 mdudos: [botn derecho] -> Build 3. Desplegar componenetes (EJB y aplicacin cliente) en GlassFish Sobre el nombre del proyecto principal: [botn derecho] -> Undeploy and Deploy

Si no est arrancado GlassFish lo har NetBeans al desplegar el proyecto Para arancar GlassFish manualmente, desde terminal: $/home/alumno/SUNWappserver/bin/asadmin start-domain domain1

Se puede comprobar el despliegue de la aplicacin desde la pgina de administracin de GlashFish Abrir en un navegador: http://localhost:4848 Login: admin Password: adminadmin Abrir el rbol Application->Enterprise Application

4. Ejecutar el cliente JEE Sobre el nombre del proyecto principal: [botn derecho] -> Run Otra opcin para ejecutar el cliente JEE: 1. Desde el interfaz de administracin de GlassFish, ir a Application>Enterprise Application->EjemploPedidos 2. Descargar el fichero EjemploPedidos-app-client.jar pinchado en Download Client Stubs 3. Ejecutarlo con la herramienta app-client de GlashFish, desde linea de comandos: $ /home/alumno/SUNWappserver/bin/app-client -client EjemploPedidos-app-client.jar

También podría gustarte