PDF de programación - II Curso Online JAVA - J2EE - Tema 6 - Desarrollo de componentes EJB

Imágen de pdf II Curso Online JAVA - J2EE - Tema 6 - Desarrollo de componentes EJB

II Curso Online JAVA - J2EE - Tema 6 - Desarrollo de componentes EJBgráfica de visualizaciones

Publicado el 14 de Enero del 2017
889 visualizaciones desde el 14 de Enero del 2017
1,7 MB
47 paginas
Creado hace 16a (26/03/2008)
II Curso Online JAVA-J2EE

TEMA 6

Desarrollo de componentes EJB

Centro de Excelencia de Software Libre de Castilla-La Mancha

/

Autor: PCYTA
Versión: 1.0
Fecha: Revisado 26-03-2008 23:33
Licencia: CC-by-sa 2.5

0 Licencia
Usted es libre de:

Copiar, distribuir y comunicar públicamente la obra

Hacer obras derivadas

Bajo las condiciones siguientes:

uso

Reconocimiento. Debe reconocer los créditos de la obra de la manera especificada por el
autor o el licenciador (pero no de una manera que sugiera que tiene su apoyo o apoyan el
que hace de su obra).
Compartir bajo la misma licencia. Si altera o transforma esta obra, o genera una obra
derivada, sólo puede distribuir la obra generada bajo una licencia idéntica a ésta.

• Al reutilizar o distribuir la obra, tiene que dejar bien claro los términos de la licencia

de esta obra.

• Alguna de estas condiciones puede no aplicarse si se obtiene el permiso del titular de

los derechos de autor

• Nada en esta licencia menoscaba o restringe los derechos morales del autor.

Para ver la licencia visite:
http://creativecommons.org/licenses/by-sa/2.5/es/legalcode.es

6 de febrero de 2008

Tema 6

2

UNIDAD II. Desarrollo de componentes EJB

0 Licencia............................................................................................................................................ 2
1 Introducción a los EJBs.................................................................................................................... 5
1.1 Introducción.............................................................................................................................. 5
1.2 Funcionamiento de un EJB....................................................................................................... 6
1.3 Creación de un EJB...................................................................................................................7
1.4 Despliegue de un EJB............................................................................................................... 8
1.5 Uso del EJB.............................................................................................................................. 9
2 Tipología: Entity Beans, Message-Driven Beans y Session Beans................................................ 10
2.1 Tipos de EJBs..........................................................................................................................10
2.2 Entity Beans............................................................................................................................10
2.3 Message-Driven Beans........................................................................................................... 11
2.4 Session Beans......................................................................................................................... 12
3 Versiones EJB 2.x y EJB 3.0.......................................................................................................... 14
4 Estructura de una aplicación Enterprise (application.xml, ear)......................................................16
5 Integración de JBoss (EJB Container) con Eclipse. Ejemplos de EJBs y EARs...........................18
5.1 Introducción............................................................................................................................ 18
5.2 Preparación del entorno.......................................................................................................... 18
5.3 Creación del EJB.................................................................................................................... 20
5.4 Despliegue del EJB.................................................................................................................31
5.5 Utilización del EJB................................................................................................................. 33

6 de febrero de 2008

Tema 6

3

INTRODUCCIÓN

En los temas anteriores ya hemos visto como desarrollar una aplicación Web.

Hemos visto que la desarrollábamos con un patrón de 3 capas, en las que la vista la
implementábamos en las JSPs, la lógica de negocio en los Servlets y la capa de datos en base de
datos. Como también mencionábamos antes, la lógica de negocio se puede complicar mucho y
puede hacer que todo el desarrollo en simples Servlets haga inviable un proyecto.

Imaginemos nuestra tienda virtual. En el proceso de compra, existen transacciones de pago, existen
envíos de emails a clientes, almacenamiento de datos de forma transaccional, etc. Además,
existen también requerimientos de rendimiento, de disponibilidad, etc. Todos estos problemas,
muy comunes en los proyectos, se pueden resolver mediante ciertos patrones de diseño.

Para solucionar todo esto, entre otras cosas, J2EE nos ofrece la especificación de EJBs. Con los
EJBs conseguimos realizar nuestros desarrollos olvidándonos de esos requisitos que
comentábamos, de modo que todo se simplifica y aumentamos la calidad de nuestros desarrollos.

En este tema, vamos a ver los distintos tipos de EJBs que hay y los beneficios que nos reportan
cada uno de ellos.


6 de febrero de 2008

Tema 6

4

1

Introducción a los EJBs

Introducción

1.1
Un EJB (Enterprise Java Bean), es un componente distribuido que cumple con ciertos
estándares definidos por J2EE. Recordemos cuando comentábamos que un servidor de
aplicaciones seguía el modelo componente-contenedor, y decíamos que tenía un contenedor Web
(para JSPs y Servlets) y un contenedor de EJBs. Los EJBs, por tanto, se ejecutan en el lado del
servidor.

EJBs es un estándar definido en J2EE por Sun y existen diferentes
implementaciones de cada una de las organizaciones interesadas. Por
ejemplo, existen implementaciones de IBM (WebSphere), de BEA
(WebLogic), JBOSS, etc. Unas propietarias (WebSphere y WebLogic) y
otras open-source (JBOSS).

No confundir EJBs (Enterprise Java Beans) con Java Beans. Un Java
Bean es una clase de java, normalmente con atributos y métodos get y set
para esos atributos. Mientras que un EJB es un elemento (constituido por
clases Java) preparado para ser desplegado en un contenedor de EJBs.

Con los EJBs conseguimos independizar la lógica de negocio de los servicios que nos proporciona
el contenedor. Estos servicios son:

- comunicaciones por red
- transacciones
- persistencia
- gestión de logs
- gestión de recursos (entre otros la propia gestión del ciclo de vida del EJB)
- etc.

Los EJBs se suelen usar, entre otras cosas, para encapsular la lógica de negocio, permitiendo a
JSPs, Servlet, aplicaciones Java y otros EJBs actuar como clientes suyos. En la siguiente
imagen se muestra esta idea:

6 de febrero de 2008

Tema 6

5



1.2 Funcionamiento de un EJB
Hasta el momento hemos visto que un EJB se despliega y que sus clientes acceden a él, pero no
hemos visto cómo. Esta comunicación entre cliente y EJB se hace a través de un medio de
comunicación (como podría ser una red) y mediante la utilización de interfaces remotos y objetos
que llamamos "stub" y "skeleton". A continuación vemos un dibujo que los sitúa mejor:

Como podemos ver en el dibujo:

- El cliente obtiene un "stub" que ofrece el interfaz remoto al EJB mediante ciertos
servicios (los cuales serán una caja negra para nosotros).
- A su vez, en el lado del servidor, se crea un "skeleton" que se encarga de hacer las
peticiones reales al EJB.

6 de febrero de 2008

Tema 6

6

- El objeto "bean" será el encargado de ejecutar la funcionalidad, es decir, la lógica de
negocio.

Lo que se consigue con esta arquitectura es que el cliente tiene su "stub" con su "interfaz
remoto" de modo que él usa el objeto como si fuera un objeto ejecutado en local, abstrayéndose
totalmente de dónde se esté ejecutando finalmente la funcionalidad.

1.3 Creación de un EJB
Ya hemos visto de forma resumida los conceptos teóricos y lo que nos proporciona un EJB. Ahora
vamos a ver que nos hace falta para crearlo.
Para crear un EJB nos hace falta crear:
- Home interface: que definirá los métodos necesarios para que el contenedor gestione el ciclo de
vida del EJB.
- Remote interface: que definirá los métodos de lógica de negocio que ofrecerá el EJB a sus
clientes.
- Bean class: que definirá la implementación de la lógica de negocio.

Si nos abstraemos de la comunicación a través de la red mediante el "stub" y el "skeleton", el
resultado sería representado por este dibujo:

En el dibujo se muestran los tres objetos que tenemos que crear para que el EJB sea desplegado en
el contenedor de EJBs.

Pongamos un ejemplo. Para crear un EJB que dé como servicio el típico "Hello world":
- crearíamos un "Remote interface", que sería una interfaz como la siguiente:

Vemos que se define como interfaz que extiende "javax.ejb.EJBObject", y sus métodos deben

6 de febrero de 2008

Tema 6

7

definir la posibilidad de lanzar "java.rmi.RemoteException".
- también tendríamos que crear el "Home interface" que sería una interfaz como la siguiente:

También vemos que es un interfaz que extiende "javax.ejb.EJBHome" y que tiene que definir el
método "create" que devuelve un objeto de la clase del interfaz remoto, lanzando las excepciones
"java.rmi.RemoteException" y "javax.ejb.CreateException"

Ahora faltaría definir el "bean" sobre el que se apoya el "Remote interface" pero eso lo
veremos más adelante.

A continuación, veremos que hay que hacer para desplegar un EJB en un contenedor.

1.4 Despliegue de un EJB
Y una vez vistas las bases teóricas de un EJB y cómo crearlo, nos falta ver cómo desplegarlo en un
contenedor de EJBs.

Esto se hace empaquetando todos los ficheros necesarios en un fichero de extensión "jar" y
comunicando al servidor de aplicaciones/contenedor la existencia del mismo.

El fichero de extensión "jar" se compone de los siguientes elementos:

- El "remote interface"
- El "home interface"
- El "bean" que
  • Links de descarga
http://lwp-l.com/pdf661

Comentarios de: II Curso Online JAVA - J2EE - Tema 6 - Desarrollo de componentes EJB (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad