PDF de programación - Introducción EJBs

Imágen de pdf Introducción EJBs

Introducción EJBsgráfica de visualizaciones

Publicado el 11 de Agosto del 2018
780 visualizaciones desde el 11 de Agosto del 2018
691,0 KB
31 paginas
Creado hace 18a (13/02/2006)
EJBs
Enterprise JavaBeans

Que son los EJBs?

¡ Enterprise JavaBeans (EJB) es una arquitectura de

componentes de servidor que simplifica el proceso de
construcción de aplicaciones de componentes
empresariales distribuidos en Java
l Con su utilización es posible escribir aplicaciones

escalables, fiables y seguras sin escribir código de
infraestructura

l La existencia de infraestructura permite un desarrollo

más rápido de la parte servidora

¡ Dado que son componentes, permiten desarrollar

aplicaciones portables entre distintas plataformas (son
Java) y servidores de aplicaciones (especificación
estándar).

PDF Creator - PDF4Free v2.0 http://www.pdf4free.com

1

Enterprise JavaBeans

¡ Un EJB es un componente software que se

ejecuta del lado del servidor en una aplicación
multicapa.

¡ Los clientes del EJB acceden a él por medio de

una interfaz que esconde los detalles de
implementación del componente.

¡ Esta interfaz debe cumplir la especificación

EJB.
l La especificación fuerza la presencia de unos

determinados métodos que permitirán al
contenedor de EJBs manejar los componentes y su
ciclo de vida.

Categorías de EJBs

¡ 3 tipos de Enterprise JavaBeans:

l Entity Beans: representan entidades de

negocio y proveen acceso a datos a través
de métodos. Se basan en la idea del
mapeo objeto/relacional

l Session Beans: pensados para modelar

procesos de negocio que son accedidos de
manera síncrona

l Message-driven Beans: pensados para
modelar procesos de negocio que son
accedidos de manera asíncrona,
permiten el uso de JMS desde EJBs

PDF Creator - PDF4Free v2.0 http://www.pdf4free.com

2

Entity EJBs

¡ Dos tipos:

l BMP (Bean Managed Persistence)

¡ Se delega en el desarrollador las tareas de
persistir, buscar y recuperar las entidades.

l CPM (Container Managed Persistence)

¡ La persistencia la gestiona el contenedor de

forma que el desarrollador no se preocupa de
las sentencias SQL de inserción, recuperación,
etc.

¡ Un Entity EJB representa en cada

momento a una entidad en base de datos.
Muy académicos

¡ Presentan problemas de rendimiento.

Session EJBs

¡ Dos tipos:

l Stateful (Con estado)

¡ El contenedor garantiza el mantenimiento
del estado del componente entre distintas
invocaciones (se serializan y deserializan)

l Stateless (Sin estado)

¡ El contenedor de EJBs no garantiza que

un mismo EJB guarde su estado entre dos
invocaciones del mismo cliente. Son
“pooleables” y más ligeros que los
Stateful

PDF Creator - PDF4Free v2.0 http://www.pdf4free.com

3

Message Driven Beans

¡ Incorporados en la especificación

2.0.

¡ Pensados para mensajería

asíncrona.

¡ Funcionan sobre JMS (manejo de

colas de mensajes, publish &
subscribe)

¡ Interesantes para integración de

sistemas.

PDF Creator - PDF4Free v2.0 http://www.pdf4free.com

4

EJBs como Objetos distribuidos

¡ Un objeto distribuido es un objeto

invocable desde un sistema remoto.

Middlewares.

¡ Herramientas que proporcionan servicios para el

desarrollo de sistemas distribuidos.
l Ej, los ORBs CORBA

¡ Clasificación:

l Presencia explícita:

¡ El componente de negocio necesita realizar

invocaciones explícitas a la API del middleware.

¡ Difícil de desarrollar y mantener
¡ Ej: CORBA, TUXEDO, DCOM, RMI, RPCs, etc.

l Presencia implícita:

¡ La interacción con las APIs no la realiza el

componente de negocio desarrollado, sino que la
gestiona el middleware al que se le solicitan los
servicios de forma declarativa (configuración,
descriptores de servicios, etc.).

¡ Ej: EJBs, CCM, .NET, etc.

PDF Creator - PDF4Free v2.0 http://www.pdf4free.com

5

Middlewares Explícitos

Middlewares implícitos

PDF Creator - PDF4Free v2.0 http://www.pdf4free.com

6

Estructura EJB

¡ Un EJB no es una sola clase, sino un

conjunto de clases, interfaces y recursos:
l El bean de empresa o bean de negocio

(Enterprise Bean)

l El EJB Object
l Las interfaces Remotas.
l El Objeto Home
l Los interfaces Locales
l Descriptores de Despliegue
l Recursos específicos del servidor de

aplicaciones concreto que estemos empleando.

El Bean de Empresa o Negocio

¡ Se trata de implementación en sí del objeto

distribuido. Dependiendo del tipo de EJB, esto
será…
l Implementación de reglas de negocio en el caso de

EJBs de sesión.

l Lógica de persistencia en el caso de los Entity EJBs.
l Lógica de negocio orientadas a mensajes.

¡ La especificación determina que estas clases

deben cumplir una serie de interfaces.
l Javax.ejb.EnterpriseBean – Esta interfaz funciona
únicamente como marca para que el contenedor
sepa que realmente se trata de un EJB. Extiende
Serializable.

l Cada tipo de EJB cuenta con un interfaz más
específico que extiende al de EnterpriseBean.

PDF Creator - PDF4Free v2.0 http://www.pdf4free.com

7

El EJB Object

¡ Representa la capa de indirección que intercepta

las invocaciones remotas al EJB y gestiona los
servicios implícitos del contenedor de ejbs.
¡ Objeto inteligente que implementa la lógica

intermedia que el contenedor de EJBs requiere
antes de que una invocación a método sea
servida por el bean de negocio.

¡ Forman parte del contenedor de EJBs.
¡ Se generan mediante las herramientas facilitadas

por cada contenedor de EJBs.

El EJB Object

PDF Creator - PDF4Free v2.0 http://www.pdf4free.com

8

Las interfaces Remotas

¡ Son los contratos entre el cliente del EJB y el

bean de negocio.

¡ Están sujetas a la especificación y deben cumplir

ciertas reglas.
l Ej, Todas deben extender la interfaz

javax.ejb.EJBObject

¡ En la interfaz remota se publican todos los

métodos del bean de negocio que se quieran
invocar remotamente.

¡ La interfaz remota es implementada por el EJB

Object, el cual es generado automáticamente por
el contenedor de EJBs.

El Objeto Home

¡ El cliente no puede instanciar directamente un
objeto remoto, dado que se encuentran en otra
máquina distinta.

¡ Debido al principio de transparencia, la ubicación
del cliente es independiente de la localización del
objeto remoto.

¡ Las instancias de EJBs se obtienen por medio de
factorías de objetos (Patrón de diseño Factory
[GOF94]).

¡ La factoría es la responsable de instanciar, buscar

y destruir los objetos.

¡ Él objeto home es la factoría para la obtención

de referencias a EJBs.

PDF Creator - PDF4Free v2.0 http://www.pdf4free.com

9

La interfaz Home

¡ Los objetos home son propios y específicos de cada

fabricante de contenedores, son autogenerados y
forman parte del contenedor.

¡ El desarrollador debe aportar una interfaz java que

extienda la interfaz javax.ejb.EJBHome

Las interfaces locales

¡ Añadidas en la versión 2.0 de la especificación EJB.
¡ Solventan el problema de la sobrecarga cuando el EJB

se ejecuta en la propia máquina del cliente.

¡ Permiten invocar al EJB como si se tratara de un objeto

local, tratando con un Objeto Local.

¡ El Objeto Local realiza las tareas de middleware que le

corresponderían al EJB Object, y luego le cede el
control al bean de negocio.

¡ De esta forman, se evitan las tareas propias a la

invocación remota (strubs, serialización, etc.).

¡ Son opcionales
¡ Extienden la interfaz javax.ejb.EJBLocalObject y su

factoría javax.ejb.EJBLocalHome.

PDF Creator - PDF4Free v2.0 http://www.pdf4free.com

10

Las interfaces locales

¡ Efectos laterales de su uso…

l Si queremos distribuir el objeto, es necesario
tocar el código fuente, puesto que manejamos
interfaces distintas.

l Las interfaces locales, en pos del máximo

rendimiento, manejan paso de parámetros por
referencia en lugar de por valor. Esto implica un
cambio importante en la semántica del código y es
una fuente importante de errores.

¡ En consecuencia es interesante emplear el patrón
business delegate y resolver el servicio por medio
de configuración externalizada (XML, BBDD, etc).

Descriptores de Despliegue

¡ Especifica las propiedades y servicios del EJB de

forma declarativa.

¡ Describe como ha de ser desplegado el EJB en el

contenedor, y como ha de ser manejado:
l Ciclo de vida
l Sistema de persistencia
l Control de transacciones
l Servicios de seguridad.

¡ Es un fichero XML: ejb-jar.xml
¡ Habrá uno por paquete de despliegue (fichero
jar) y puede declarar varios EJBs de distintos
tipos.

PDF Creator - PDF4Free v2.0 http://www.pdf4free.com

11

Recursos específicos del servidor
de aplicaciones

¡ Ficheros propios del servidor
¡ Fuera del estándar J2EE
¡ Cada servidor describe y exige, por ejemplo, su

propio descriptor de despliegue (además del ejb-
jar.xml).

¡ Normalmente, los servidores de aplicaciones

facilitan herramientas para realizar el despliegue
y confeccionar los descriptores.

Empaquetado de EJBs

¡ Se realiza
en ficheros
JAR

¡ Uno o más

EJBs por
cada JAR

PDF Creator - PDF4Free v2.0 http://www.pdf4free.com

12

Desarrollo EJBs
Hola Mundo!
Como se haría con EJB
2.0

Pasos a seguir…

¡ Escribir las clases java necesarias:

l Interfaces local (opcional) y remota
l La clase del bean de negocio
l El interfaz home

¡ Escribir el descriptor de despliegue, y el

propio del contenedor en caso de que
fuera necesario.

¡ Compilar las clases java.
¡ Desplegar el JAR en el contendor.
¡ Desarrollar un programa cliente para

comprobar el funcionamiento.

PDF Creator - PDF4Free v2.0 http://www.pdf4free.com

13

Desarrollo de la interfaz remota….

¡ La interfaz remota contiene todos los

métodos de negocio
  • Links de descarga
http://lwp-l.com/pdf12956

Comentarios de: Introducción EJBs (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