PDF de programación - Tema 4 - EJB

<<>>
Imágen de pdf Tema 4 - EJB

Tema 4 - EJBgráfica de visualizaciones

Publicado el 18 de Marzo del 2019
528 visualizaciones desde el 18 de Marzo del 2019
296,1 KB
26 paginas
Transparencias
de
J2EE



Tema 4:
EJB


Uploaded by

Ingteleco

http://ingteleco.webcindario.com

[email protected]

La dirección URL puede sufrir modificaciones en el futuro. Si

no funciona contacta por email

Modelo de Componentes EJB

w TEMA 4: ENTERPRISE JAVABEANS

u INTRODUCCIÓN

‹ Enterprise JavaBeans (EJB)

q Modelo de Componentes de Java
q Componentes Java que se ejecutan en la parte servidora de

una aplicación

q Se ejecutan en el servidor de EJBs
q Componentes destinados a soportar la LN de las aplicaciones
q Fácil integración con CORBA Ł Fácil integración con otros

lenguajes

‹ Característica Destacada Ł Framework de Servicios

q Proporcionados por el servidor de EJBs
q El desarrollador puede implementar sus aplicaciones de una

forma muy sencilla haciendo uso de estos servicios.

q El desarrollador sólo se centra en la lógica de negocio de los
componentes. Los servicios ya están implementados, sólo hay
que usarlos.

‹ Otras Características

q Portabilidad

n Los EJBs se pueden ejecutar en cualquier servidor que cumpla la

especificación

EJB

EJB

Contrato

EJB - Servidor

Servidor EJB
(Fabricante 1)

Servidor EJB
(Fabricante 2)

1

Modelo de Componentes EJB

n Contrato Servidor – EJB

Los EJBs definen una serie de interfaces estándar para que las invoquen los

servidores

Los servidores de EJB definen una serie de interfaces estándar para que sean

invocados por los EJBs

Si tanto el desarrollador de EJBs como el fabricante de servidores EJB
cumplen los contratos que marca la especificación Ł Portabilidad Asegurada

- serv_A()
- serv_B()
- serv_C()

Servidor A

- serv_A()
- serv_B()
- serv_C()

Servidor B

EJB

- metodoA()
- metodoB()

Componente

EJB

No importa que las implementaciones de los
servidores sean distintas mientras cumplan
las interfaces que marca la especificación

q Reusabilidad

n Los componentes EJB se implementan una vez y son reutilizados en

múltiples aplicaciones que requieren su funcionalidad

n Desarrollo de Aplicaciones Ł combinación de componentes reusables

ya implementados

n Librerías de componentes

n Write Once, Run Anywhere

q Roles en el desarrollo de aplicaciones

n Desarrollador de EJBs

Desarrollo de componentes

n Ensamblador de Componentes

2

Modelo de Componentes EJB

Combina componentes para formar aplicaciones

n Encargado del despliegue

Instala los componentes en el servidor de EJBs

n Compañía comercial

Desarrolla servidores de EJBs

q Soporte de Transacciones Distribuidas
n Uno de los servicios del servidor de EJBs

n Lo proporciona de forma transparente

q Integración con CORBA Ł IIOP

3

Modelo de Componentes EJB

u EL MODELO EJB

‹ Elementos del Modelo:

q Servidor EJBs
q Contenedor EJBs
q HomeObject, EJBObject, Enterprise JavaBean
q Interfaz Home, Interfaz Remoto
q Cliente EJB
q Servicios



Localizar,

crear y
destruir
instancias
de EJBs

Cliente

EJB

Invocar

métodos de
negocio de

EJBs

Servidor de EJBs

Contenedor de EJBs

Interfaz
Home

Home
Object

Interfaz
Remoto

EJB
Object

Enterprise
JavaBean

Base de
Datos

s
e
r
b
m
o
N

e
d
o
i
c
i
v
r
e
S



)
I

D
N
J
(

s
e
n
o
i
c
c
a
s
n
a
r
T

e
d
o
i
c
i
v
r
e
S



)
S
T
J
(

d
a
d
i
r
u
g
e
S

a
í
r
e
j
a
s
n
e
M

Servicios y APIs

4

Modelo de Componentes EJB

‹ Servidor EJBs

q Entorno de ejecución para uno o más contenedores
q Proporciona una serie de servicios accesibles a

contenedores

los

‹ Contenedor EJBs

q Entorno de ejecución para los componentes EJB
q Gestiona la ejecución de los EJBs y les proporciona una serie

de servicios:
n Gestión del Ciclo de Vida

Creación y destrucción de instancias
Asignación y liberación de recursos
Activación y desactivación de objetos
Activation Ł Recuperar del almacenamiento secundario e instanciar en mem.

Ł Cuando vuelva a ser requerido

Passivation Ł Salvar a un almacenamiento secundario

Ł Si lleva mucho tiempo sin usarse

Ł Se liberan recursos

n Gestión del Estado

Mantiene o elimina el estado del componente después de cada invocación
Depende del tipo de componente (Stateless vs Statefull)

n Gestión de Transacciones Ł Componentes transaccionales

n Gestión de Persistencia

Determina cuándo el estado del EJB debe ser salvado o recuperado de la BD

Sincronización entre la información que
está en memoria y la que está en la BD

EJB

En Memoria

Base de Datos

5

Modelo de Componentes EJB

2 modos: Gestionada por el Contenedor y Gestionada por el propio Bean

n CMP (Container Managed Persistence)

El contenedor decide cuándo recuperar o salvar un EJB en la BD
El contenedor se encarga de almacenar o recuperar la información de la BD

(se encarga de los accesos a la BD)

Control total del contenedor

n BMP (Bean Managed Persistence)

El contenedor decide cuándo recuperar o salvar un EJB en la BD
El programador es quien realiza los accesos a la BD (el contenedor invoca el

código del programador)

Control parcial del contenedor

q Seguridad

n Chequeos en el acceso de los clientes a los EJBs

q ¿Cómo proporciona el contenedor estos servicios?

n No trata a todos los componentes por igual

n En el momento del despliegue se le indica al contenedor cómo debe

tratar a cada componente Ł Deployment Descriptor

n El contenedor no permite el acceso directo a los componentes desde

el exterior

n El contenedor intercepta todas las invocaciones de métodos que van

dirigidas hacia los EJBs

Cliente EJB

Invocación
de método

Contenedor de EJBs

Gestión del ciclo de vida

Gestión de Transacciones

Gestión de Persistencia

Gestión de Seguridad

Enterprise JavaBean

6

n Se asegura de que todas las llamadas pasan a través de él.

n Se encarga de proporcionar
invocación de forma transparente

los servicios que requiere cada

Modelo de Componentes EJB

q Contratos

n Contrato entre Contenedor y EJB

Los EJBs poseen una serie de métodos callback que permiten al contenedor

informar de eventos al EJB

Ejemplo: le informa de que va a ser recuperado o almacenado en la BD

n Contrato entre Contenedor y Servidor EJB

Leer en apuntes

n Contrato entre Contenedor y Cliente EJB

Leer en apuntes

‹ Interfaz Home y Objeto HomeObject

q Interfaz Home

n Tiene métodos que permiten crear, buscar y destruir instancias de un

EJB

n Métodos relacionados con el ciclo de vida

n Todos los EJBs deben tener un interfaz Home

n Lo debe definir el desarrollador

q Objeto HomeObject

n Objeto que implementa el interfaz Home de un EJB

n Generado automáticamente por el contenedor durante el despliegue

del componente

n Existe 1 por cada tipo de componente Ł Compartido por todas las

instancias del componente

‹ Interfaz Remoto y EJBObject

q Interfaz Remoto

n Métodos de negocio del EJB

7

Modelo de Componentes EJB

n Definido por el desarrollador

n El cliente sólo puede invocar los métodos que están en el interfaz

remoto

q Cuando un cliente quiere usar un EJB...

n Crear o Localizar una instancia del componente Ł Mediante el

interfaz Home

n Obtener una referencia al interfaz Home Ł usar sus métodos para

crear o buscar instancias

q Objeto EJBObject

n Objeto que implementa el interfaz remoto del componente

n Generado automáticamente por el contenedor

n Existe 1 por cada instancia del componente

q Cliente quiere invocar métodos de un EJB Ł obtiene una

referencia a su interfaz remoto Ł invoca sus métodos

q El cliente nunca invoca directamente a un componente,

siempre lo hace a través de su interfaz remoto

q ¿Cómo intercepta el contenedor los invocaciones?

n Mediante los objetos EJBObject y HomeObject

Cliente

(1)

HomeObject

EJBObject

EJB

(3)

(2)

Informa al Contenedor y éste

proporciona los servicios necesarios



8

Modelo de Componentes EJB

‹ Enterprise JavaBean

q Clase que define el componente EJB
q Implementa la funcionalidad del EJB
n Métodos de negocio del interfaz remoto

n Métodos callback (contrato EJB-Contenedor)

‹ El Cliente EJB

q Cualquier entidad que accede a los servicios de un EJB
q Procedimiento:

n Recodatorio:

Interfaz Home Ł Crear, buscar y destruir instancias
Interfaz Remoto Ł Métodos de negocio

n JNDI Ł Obtiene una referencia al interfaz Home (HomeObject)

n A través del interfaz Home Ł Crea instancias de EJBs o buscar

referencias al interfaz remoto de algún EJB

n A través del interfaz remoto Ł se invocan los métodos del EJB

9

(2) create()

(4) método()

Cliente
EJB

(1) lookup()

Interfaz
Home

Interfaz
Remoto

Informa

EJBObject

(5) método()

Servicio JNDI

EJBObject

Interfaz
Remoto



‹ Interacción entre un Cliente y un Componente EJB

Modelo de Componentes EJB

Contenedor de EJBs

Informa

HomeObject

(3) new instance()

Enterprise
JavaBean

Enterprise
JavaBean

10

Modelo de Componentes EJB

u COMPONENTES EJB

‹ Elementos implementados por el Desarrollador:

q Interfaz Home
q Interfaz Remoto
q Clase EJB

‹ Resto de Elementos Ł Los proporciona el contenedor

‹ Ejemplo Adder Ł EJB que suma números

q Interfaz Home


import java.rmi.RemoteException;
import javax.ejb.*;

public interface AdderHome extends EJBHome
{
Adder create() throws RemoteException, CreateException;
Adder create(int initial) throws RemoteException,

}

CreateException;

q
  • Links de descarga
http://lwp-l.com/pdf15544

Comentarios de: Tema 4 - 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