Upload
alvaro
View
280
Download
0
Embed Size (px)
Citation preview
7/24/2019 Java Enterprise Bean
http://slidepdf.com/reader/full/java-enterprise-bean 1/10
Java Enterprise Bean
Los enterprise javabeans son componentes del lado del servidor que encapsulan lógica de negocios
en una aplicación. Los Enterprise javabeans simplifican el desarrollo de aplicaciones mediante la
gestión automática de transacciones y seguridad. Estudiaremos dos tipos de Enterprise javabeans:
los session beans, los cuales ejecutan la lógica de negocios y message-driven beans (beans
controlados por mensajes) los cuales actúan como message listener.
Los Entity beans están en desuso en favor de la Java Persistence API, JPA. Los bean Entity son
soportados por cuestiones de compatibilidad, sin embargo, la recomendación es utilizar el mapeo
objeto-relaciones (ORM por sus siglas en inglés) a tráves de JPA.
Session Beans
Como se ha mencionado, los session beans permiten encapsular la lógica de negocios. En java EE,
normalmente se necesitan 2 artefactos para crear un bean de sesión. El bean mismo y una interface.
Estos artefactos incorporan las anotaciones apropiadas para permitir al contenedor de EJB conocerque esos artefactos son beans de sesión.
A continuación desarrollaremos un simple bean de sesión. Lo primero es mencionar el tipo de
proyecto o proyectos que necesitamos para probar este ejemplo.
Crearemos una aplicación empresarial, la cual requerirá de un módulo donde se almacenará el bean
de sesión. Lo anterior indica la necesidad de dos proyectos, luego crearemos un proyecto cliente
para probar nuestro sencillo ejemplo, con ello tendremos tres proyectos, finalmente la necesidad
de una interface para un bean de sesión, requiere un proyecto extra de librería, el cual contendrá la
interface que deberá ser incorporada al proyecto cliente, en fin, necesitaremos cuatro proyectos
para probar, este sencillo bean de sesión.
Comencemos, creemos un nuevo proyecto de aplicación empresarial llamado BeanSesionPrimero,
7/24/2019 Java Enterprise Bean
http://slidepdf.com/reader/full/java-enterprise-bean 2/10
Después de ingresar el nombre, Clic en el botón Next >
En la siguiente ventana puede elegir el servidor, la versión Java EE, la creación del EJB Módulo (este
debe marcarse por cuanto contrendrá al bean de sesión) y finalmente la opción de crear la aplicación
web que trabajaría como cliente para invocar el sesión bean, en esta ocasión no utilizaremos una
aplicación web por tanto, esta opción no debe marcarla. Luego clic en Finish.
7/24/2019 Java Enterprise Bean
http://slidepdf.com/reader/full/java-enterprise-bean 3/10
Una vez el IDE genera el proyecto podemos notar en el panel izquierdo, la aplicación empresarial y
el módulo que contendrá el bean de sesión y que se almacena dentro de la aplicación empresarial.
Ahora procedamos a crear un nuevo proyecto cliente, desde el cual se invocará el bean de sesión.
Elegiremos en categorías Java EE y en Proyectos Enterprise Application Client, luego clic en Next >
En la siguiente ventana podrás colocar el nombre del Enterprise application client, en este ejemplo
le llamaremos BeanSesionPrimeroCliente, luego clic en el botón Next >.
7/24/2019 Java Enterprise Bean
http://slidepdf.com/reader/full/java-enterprise-bean 4/10
En la siguiente ventana debe tener el cuidado de asociar en la opciónAdd to Enterprise Application
el proyecto BeanSesionPrimero, de esa forma se garantiza que ambos proyectos trabajaran en
conjunto. Los demás valores no deben modificarse, clic en el botón Finish.
7/24/2019 Java Enterprise Bean
http://slidepdf.com/reader/full/java-enterprise-bean 5/10
Después de que el IDE completa el proyecto cliente, nos resta escribir un proyecto de librería de
clases java, este proyecto se solicitará dentro de un momento para incorporar en él la interface que
se relaciona al bean de sesión. Seleccione en categoríasJava y en Proyectos Java Class Library luego
clic en el botón Next >.
En la siguiente ventana ingrese el nombre BeanSesionPrimeroLib, luego clic en Finish
7/24/2019 Java Enterprise Bean
http://slidepdf.com/reader/full/java-enterprise-bean 6/10
Ahora podemos apreciar los cuatro proyectos del lado izquierdo del IDE
Todo lo anterior nos servirá para probar nuestro session bean. Ahora estamos listos para iniciar
nuestro ejemplo, primero elija el proyecto BeanSesionPrimero-ejb haciendo clic derecho sobre él y
luego elija New, luego Other en la ventana que se presenta elija en categorías Enterprise JavaBeans
y en Tipos de archivo Session Bean, luego clic en Next >.
En la siguiente ventana ingresaremos el nombre Mensaje, también agregaremos el nombre de
paquete com.programacion4, posteriormente el tipo de sesión quedará como Stateless.
Finalmente en Create Interface seleccione Remote in Project, automáticamente se asocia la librería
java creada como último proyecto. clic en el botón Finish.
7/24/2019 Java Enterprise Bean
http://slidepdf.com/reader/full/java-enterprise-bean 7/10
Cuando el IDE termina de generar el esqueleto del bean de sesión, por favor ponga su atención en
el mensaje del cuerpo de la clase, el cual indica que para agregar la lógica del negocio clic derecho
dentro del cuerpo del programa y elija la opción Insert Code y luego Add Bussines Method, esta
opción le llevará a una pantalla similar a la siguiente.
Agregue el Nombre getMensaje, el tipo de Retorno String y un parámetro llamado mensaje y el
tipo java.lang.String. luego clic en el botón OK.
Ahora note el código generado y un pequeño cambio mostrado en amarillo.
package com.programacion4;
import javax.ejb.Stateless;
@Stateless
public class Mensaje implements MensajeRemote {
@Override
public String getMensaje(String mensaje) {
return mensaje;
}
}
7/24/2019 Java Enterprise Bean
http://slidepdf.com/reader/full/java-enterprise-bean 8/10
Guarde el proyecto y ahora note como en el proyecto de librería de clases se agregó
automáticamente la interface que implementa el bean de sesión Mensaje.
La interface agregada toma el nombre del bean de sesión y su tipo quedando el nombre como
MensajeRemote.java.
Ahora vayamos al proyecto BeanSesionPrimeroCliente y agreguemos a la clase Main el código
correspondiente que llamará a nuestro bean de sesión. En este punto nuevamente nos ayuda el
IDE ya que podemos hacer clic derecho dentro el método main y nuevamente elegir Insert Code y
luego seleccionamos la opción Call Enterprise bean..
7/24/2019 Java Enterprise Bean
http://slidepdf.com/reader/full/java-enterprise-bean 9/10
El IDE mostrará una ventana en donde tenemos que elegir el Enterprise bean y el método que
deseamos invocar, luego clic en el botón OK.
Después de un momento el IDE agrega la anotación @EJB y su correspondiente importación.
Entonces debe agregar la línea de código que se muestra dentro del método main, en la que se
utiliza JOptionPane para mostrar el mensaje que a su vez genera el bean de sesión.
Digite el código siguiente o copie y pegue.
package beansesionprimerocliente;
import com.programacion4.MensajeRemote;
import javax.ejb.EJB;
import javax.swing.JOptionPane;
public class Main {
@EJBprivate static MensajeRemote mensaje;
public static void main(String[] args) {
JOptionPane.showMessageDialog(null,mensaje.getMensaje("Si puedes
ver esto, el bean de sesión funciona..!!"));
}
}
7/24/2019 Java Enterprise Bean
http://slidepdf.com/reader/full/java-enterprise-bean 10/10
Para correr el proyecto, haga clic derecho sobre el Application Enterprise BeanSesionPrimero y
Desplieguelo, luego clic derecho sobre el mismo proyecto y elijaEjecutar o Run.
Es probable que el IDE tarde un poco en montar los proyectos y ejecutar, pero si todo funciona
bien la salida será similar a:
Nota: es probable que el programa corra y haya que minimizar Netbeans para ver el mensaje.