1. Guia de inicio EJB 3.0
Gustavo Pérez Juárez
DESARROLLO DE HABILIDADES DIGITALES
2. Guia de inicio EJB 3.0
Principios básicos de JEE
¿Qué es la especificación EJB?
EJB como Componente
EJB como Framework
Diferencias entre EJB 2.1 y EJB 3.0
Tipos de EJB
3. Principios básicos de JEE
JEE del ingles Java Enterprise Edition, es una de las
herramientas para la programación de aplicaciones
compartidas.
Una aplicación compartida será cuando sus
componentes no se encuentren en el mismo ordenador.
Cabe aclarar que la Enterprise Edition, esta basada en
Java Standard Edition, y es completada por otra serie de
tecnologías.
4. Principios básicos de JEE
Las aplicaciones en JEE estan basadas en una arquitectura
de distribución de capas.
Esta es soportada ampliamente por componentes de
software modulares (divide y conquista).
Java EE determina algunas especificaciones únicas para
componentes EE.
Estas incluyen Enterprise JavaBeans, servlets, portlets
(siguiendo la especificación de Portlets Java), JavaServer
Pages y varias tecnologías de servicios web.
5. Principios básicos de JEE
Las aplicaciones en JEE estan basadas en una arquitectura
de distribución de capas.
Esta es soportada ampliamente por componentes de
software modulares (divide y conquista).
Java EE determina algunas especificaciones únicas para
componentes EE.
Estas incluyen Enterprise JavaBeans, servlets, portlets
(siguiendo la especificación de Portlets Java), JavaServer
Pages y varias tecnologías de servicios web.
6. Guia de inicio EJB 3.0
Principios básicos de JEE
¿Qué es la especificación EJB?
EJB como Componente
EJB como Framework
Diferencias entre EJB 2.1 y EJB 3.0
Tipos de EJB
7. Especificación EJB
EJB del ingles Enterprise Java Beans, es una de las
especificaciones dadas por JCP y JEE
Originalmente desarrollada por IBM en 1997 y luego
adoptada por SUN Microsystems en 1999
La especificación EJB, tiene la intención de proveer un
estandar para el desarrollo del “back-end bussines” de
una aplicación
8. Especificación EJB(Componente)
Cuando hablamos de EJB, hablamos de un componente que
se encuentra del lado del servidor
Estos nos sirven para construir partes de nuestras
aplicaciones.
Dentro del nuevo mundo de EJB3 la parte de componente
recae ahora en un sencillo POJO(con un poco de “poderes”).
Como tal la idea verdadera detras de un componente es
encapsular los comportamientos de la aplicación.
9. Especificación EJB(Componente)
El uso de los componentes nos orilla a solo dos cosas,
que mandar y saber que recibir.
En el caso de nuestros EJBs tenemos tres tipos de
componentes: Entity's EJB, message-driven EJB, session-
EJB
Pero sobre todo, la característica de un buen
componente es la confianza, facil mantenimiento y en un
aspecto importante su reusabilidad.
10. Especificación EJB(Framework)
Los componentes ejb viven dentro de un contenedor, con lo
cual juntos proveen servicios valiosos a las aplicaciones .
Como framework los ejbs proveen componentes que se
pueden utilizar sin necesidad de reinventar la rueda
Esto se logra a través del contenedor de EJB en el cua
viviran, ya que este contenedor integra soporte de
transacciones, seguridad y persistencia.
Dentro de EJB 3 esto se logra a través de
Metadatos(Anotaciones)
11. Especificación EJB(Framework)
El contenedor de EJBs es el lugar el cual soportara las
transacciones, ademas donde residiran los beans
12. Especificación EJB(Framework)
El contenedor de EJB, será el encargado de administrar las
llamadas a los EJBs a partir de un nombre dado a estos.
El contenedor tambien tiene la tarea de responder si el EJB
es existente; en caso de que lo sea es el encargado de crear
una instancia para que ofrezca el servicio
13. Especificación EJB(Framework)
Como vemos el contenedor es uno de los puntos
importantes, para que la especificación EJB, sea
considerada tambien como un framework, pero ¿cómo
funciona?
15. Guia de inicio EJB 3.0
Principios básicos de JEE
¿Qué es la especificación EJB?
EJB como Componente
EJB como Framework
Diferencias entre EJB 2.1 y EJB 3.0
Tipos de EJB
16. Diferencias entre EBJ 2.1 y 3
El primer cambio importante entre la especificación anterior y la actual
es el uso de las anotaciones
@Remote
public interface CreditCardRemote{
Boolean verifyNumber(Integer cardNumber);
}
Como segunda mejora se ve en el uso de la anotación @Stateless en
lugar del deployment Descriptor
Otro mas lo podemos ver dentro de la persistencia, la cual se hace de
manera nativa a través de JPA y el uso de beans con anotaciones
17. Diferencias entre EBJ 2.1 y 3
Como ya se habia mencionado antes; se cambia la utilización de
POJOS, en lugar de extender de EJBHome y EJBObject
Se quitan las largas configuraciones; comoel antes mencionado
deployment descriptor
Ademas de la mejora en el lenguaje de comunicacón EJBQL
18. Diferencias entre EBJ 2.1 y 3
Estas mejoras nos traen como ventajas las siguientes:
Es mas sencillo el realiza pruebas unitarias e integrales
Lo sencillo que se volvio persistir un objeto a través de anotaciones
La curva de aprendizaje con EJB se reduce considerablemente
Ademas de un facil mantenimiento
19. Guia de inicio EJB 3.0
Principios básicos de JEE
¿Qué es la especificación EJB?
EJB como Componente
EJB como Framework
Diferencias entre EJB 2.1 y EJB 3.0
Tipos de EJB
20. Tipos de EJB
Como ya se habia explicado, los componentes EJB tienen tres grupos principales:
Session EJB
Entity EJB
Message-Driven EJB
21. Session EJB
Representa un proceso o una acción de negocio
Representan sesiones interactivas con uno o más clientes
Pueden mantener un estado, pero sólo durante el tiempo que el cliente
interactúa con el bean
Los session bean se dividen en dos grupos:
Stateless
Stateful
22. Session EJB
Los stateless session bean, son aquellos que seran creados para
transacciones concretas
Los stateful session beans, tienen un ciclo de vida mas largo, ya que este
no será liberado hasta que el cliente le indique, aun si no tuviera
transacciones que realizar
De alguna manera el uso de stateful y stateless en una aplicación
requiere un análisis especial ya que el performance de la aplicación
depende de esto
23. Entity EJB
Los beans de entidad modelan conceptos o datos de negocio que puede
expresarse como nombres
Los beans de entidad representan “cosas”: objetos del mundo real
Los beans de entidad se corresponden con datos en un almacenamiento
persistente (base de datos, sistema de ficheros, etc.)
Los Entity Beans son los encargado de viajar a la base de datos a través
de la persistencia que provee JPA
24. Message Driven EJB
Estos beans permiten que las aplicaciones J2EE reciban mensajes JMS
de forma asíncrona
Así, el hilo de ejecución de un cliente no se bloquea cuando está
esperando que se complete algún método de negocio de otro enterprise
bean
Los mensajes pueden enviarse desde cualquier componente J2EE