Guia ejb deshabdig
-
Upload
siegfriedg -
Category
Documents
-
view
216 -
download
0
Transcript of Guia ejb deshabdig
Guia de inicio EJB 3.0Guia de inicio EJB 3.0
Gustavo Pérez JuárezGustavo Pérez Juárez
DESARROLLO DE HABILIDADES DIGITALESDESARROLLO DE HABILIDADES DIGITALES
Guia de inicio EJB 3.0Guia de inicio EJB 3.0Principios 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
Principios básicos de JEEPrincipios básicos de JEE JEE del ingles Java Enterprise Edition, es una de las JEE del ingles Java Enterprise Edition, es una de las
herramientas para la programación de aplicaciones herramientas para la programación de aplicaciones compartidas.compartidas.
Una aplicación compartida será cuando sus Una aplicación compartida será cuando sus componentes no se encuentren en el mismo componentes no se encuentren en el mismo ordenador.ordenador.
Cabe aclarar que la Enterprise Edition, esta basada Cabe aclarar que la Enterprise Edition, esta basada en Java Standard Edition, y es completada por otra en Java Standard Edition, y es completada por otra serie de tecnologías.serie de tecnologías.
Principios básicos de JEEPrincipios básicos de JEE Las aplicaciones en JEE estan basadas en una Las aplicaciones en JEE estan basadas en una
arquitectura de distribución de capas.arquitectura de distribución de capas.
Esta es soportada ampliamente por componentes de Esta es soportada ampliamente por componentes de software modulares (divide y conquista).software modulares (divide y conquista).
Java EE determina algunas especificaciones únicas Java EE determina algunas especificaciones únicas para componentes EE. para componentes EE.
Estas incluyen Enterprise JavaBeans, servlets, portlets Estas incluyen Enterprise JavaBeans, servlets, portlets (siguiendo la especificación de Portlets Java), (siguiendo la especificación de Portlets Java), JavaServer Pages y varias tecnologías de servicios web.JavaServer Pages y varias tecnologías de servicios web.
Principios básicos de JEEPrincipios básicos de JEE Las aplicaciones en JEE estan basadas en una Las aplicaciones en JEE estan basadas en una
arquitectura de distribución de capas.arquitectura de distribución de capas.
Esta es soportada ampliamente por componentes de Esta es soportada ampliamente por componentes de software modulares (divide y conquista).software modulares (divide y conquista).
Java EE determina algunas especificaciones únicas Java EE determina algunas especificaciones únicas para componentes EE. para componentes EE.
Estas incluyen Enterprise JavaBeans, servlets, portlets Estas incluyen Enterprise JavaBeans, servlets, portlets (siguiendo la especificación de Portlets Java), (siguiendo la especificación de Portlets Java), JavaServer Pages y varias tecnologías de servicios web.JavaServer Pages y varias tecnologías de servicios web.
Guia de inicio EJB 3.0Guia de inicio EJB 3.0Principios 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
Especificación EJBEspecificación EJB
EJB del ingles Enterprise Java Beans, es una de las EJB del ingles Enterprise Java Beans, es una de las especificaciones dadas por JCP y JEEespecificaciones dadas por JCP y JEE
Originalmente desarrollada por IBM en 1997 y Originalmente desarrollada por IBM en 1997 y luego adoptada por SUN Microsystems en 1999luego adoptada por SUN Microsystems en 1999
La especificación EJB, tiene la intención de La especificación EJB, tiene la intención de proveer un estandar para el desarrollo del “back-proveer un estandar para el desarrollo del “back-end bussines” de una aplicaciónend bussines” de una aplicación
Especificación EJB(Componente)Especificación EJB(Componente) Cuando hablamos de EJB, hablamos de un Cuando hablamos de EJB, hablamos de un
componente que se encuentra del lado del servidorcomponente que se encuentra del lado del servidor
Estos nos sirven para construir partes de nuestras Estos nos sirven para construir partes de nuestras aplicaciones.aplicaciones.
Dentro del nuevo mundo de EJB3 la parte de Dentro del nuevo mundo de EJB3 la parte de componente recae ahora en un sencillo POJO(con un componente recae ahora en un sencillo POJO(con un poco de “poderes”). poco de “poderes”).
Como tal la idea verdadera detras de un componente Como tal la idea verdadera detras de un componente es encapsular los comportamientos de la aplicación.es encapsular los comportamientos de la aplicación.
Especificación EJB(Componente)Especificación EJB(Componente)
El uso de los componentes nos orilla a solo dos El uso de los componentes nos orilla a solo dos cosas, que mandar y saber que recibir.cosas, que mandar y saber que recibir.
En el caso de nuestros EJBs tenemos tres tipos de En el caso de nuestros EJBs tenemos tres tipos de componentes: Entity's EJB, message-driven EJB, componentes: Entity's EJB, message-driven EJB, session-EJBsession-EJB
Pero sobre todo, la característica de un buen Pero sobre todo, la característica de un buen componente es la confianza, facil mantenimiento y componente es la confianza, facil mantenimiento y en un aspecto importante su en un aspecto importante su reusabilidadreusabilidad. .
Especificación Especificación EJB(Framework)EJB(Framework)
Los componentes ejb viven dentro de un contenedor, Los componentes ejb viven dentro de un contenedor, con lo cual juntos proveen servicios valiosos a las con lo cual juntos proveen servicios valiosos a las aplicaciones .aplicaciones .
Como framework los ejbs proveen componentes que se Como framework los ejbs proveen componentes que se pueden utilizar sin necesidad de reinventar la ruedapueden utilizar sin necesidad de reinventar la rueda
Esto se logra a través del contenedor de EJB en el cua Esto se logra a través del contenedor de EJB en el cua viviran, ya que este contenedor integra soporte de viviran, ya que este contenedor integra soporte de transacciones, seguridad y persistencia.transacciones, seguridad y persistencia.
Dentro de EJB 3 esto se logra a través de Dentro de EJB 3 esto se logra a través de Metadatos(Anotaciones) Metadatos(Anotaciones)
Especificación Especificación EJB(Framework)EJB(Framework)
El contenedor de EJBs es el lugar el cual soportara El contenedor de EJBs es el lugar el cual soportara las transacciones, ademas donde residiran los las transacciones, ademas donde residiran los beansbeans
Especificación Especificación EJB(Framework)EJB(Framework)
El contenedor de EJB, será el encargado de administrar las El contenedor de EJB, será el encargado de administrar las llamadas a los EJBs a partir de un nombre dado a estos.llamadas a los EJBs a partir de un nombre dado a estos.
El contenedor tambien tiene la tarea de responder si el EJB El contenedor tambien tiene la tarea de responder si el EJB es existente; en caso de que lo sea es el encargado de crear es existente; en caso de que lo sea es el encargado de crear una instancia para que ofrezca el serviciouna instancia para que ofrezca el servicio
Especificación Especificación EJB(Framework)EJB(Framework)
Como vemos el contenedor es uno de los puntos Como vemos el contenedor es uno de los puntos importantes, para que la especificación EJB, sea importantes, para que la especificación EJB, sea considerada tambien como un framework, pero considerada tambien como un framework, pero ¿cómo funciona?¿cómo funciona?
Especificación Especificación EJB(Framework)EJB(Framework)
Guia de inicio EJB 3.0Guia de inicio EJB 3.0Principios 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
Diferencias entre EBJ 2.1 y 3Diferencias entre EBJ 2.1 y 3 El primer cambio importante entre la especificación anterior y la El primer cambio importante entre la especificación anterior y la
actual es el uso de las anotaciones actual es el uso de las anotaciones
@Remote@Remote
public interface CreditCardRemote{public interface CreditCardRemote{
Boolean verifyNumber(Integer cardNumber);Boolean verifyNumber(Integer cardNumber);
}}
Como segunda mejora se ve en el uso de la anotación @Stateless Como segunda mejora se ve en el uso de la anotación @Stateless en lugar del deployment Descriptoren lugar del deployment Descriptor
Otro mas lo podemos ver dentro de la persistencia, la cual se 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 hace de manera nativa a través de JPA y el uso de beans con anotaciones anotaciones
Diferencias entre EBJ 2.1 y 3Diferencias entre EBJ 2.1 y 3
Como ya se habia mencionado antes; se cambia la utilización Como ya se habia mencionado antes; se cambia la utilización de POJOS, en lugar de extender de EJBHome y EJBObjectde POJOS, en lugar de extender de EJBHome y EJBObject
Se quitan las largas configuraciones; comoel antes mencionado Se quitan las largas configuraciones; comoel antes mencionado deployment descriptor deployment descriptor
Ademas de la mejora en el lenguaje de comunicacón EJBQLAdemas de la mejora en el lenguaje de comunicacón EJBQL
Diferencias entre EBJ 2.1 y 3Diferencias entre EBJ 2.1 y 3 Estas mejoras nos traen como ventajas las siguientes:Estas mejoras nos traen como ventajas las siguientes:
Es mas sencillo el realiza pruebas unitarias e integralesEs mas sencillo el realiza pruebas unitarias e integrales
Lo sencillo que se volvio persistir un objeto a través de Lo sencillo que se volvio persistir un objeto a través de anotacionesanotaciones
La curva de aprendizaje con EJB se reduce considerablementeLa curva de aprendizaje con EJB se reduce considerablemente
Ademas de un facil mantenimientoAdemas de un facil mantenimiento
Guia de inicio EJB 3.0Guia de inicio EJB 3.0Principios básicos de JEE
¿Qué es la especificación EJB?¿Qué es la especificación EJB?
EJB como ComponenteEJB como Componente
EJB como FrameworkEJB como Framework
Diferencias entre EJB 2.1 y EJB 3.0Diferencias entre EJB 2.1 y EJB 3.0
Tipos de EJBTipos de EJB
Tipos de EJBTipos de EJB Como ya se habia explicado, los componentes EJB tienen tres grupos principales:Como ya se habia explicado, los componentes EJB tienen tres grupos principales:
Session EJBSession EJB
Entity EJBEntity EJB
Message-Driven EJBMessage-Driven EJB
Session EJBSession EJB
Representa un proceso o una acción de negocioRepresenta un proceso o una acción de negocio
Representan sesiones interactivas con uno o más clientesRepresentan 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:Los session bean se dividen en dos grupos:
StatelessStateless
StatefulStateful
Session EJBSession EJB
Los stateless session bean, son aquellos que seran creados para Los stateless session bean, son aquellos que seran creados para transacciones concretastransacciones concretas
Los stateful session beans, tienen un ciclo de vida mas largo, ya 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 que este no será liberado hasta que el cliente le indique, aun si no tuviera transacciones que realizartuviera transacciones que realizar
De alguna manera el uso de stateful y stateless en una aplicación De alguna manera el uso de stateful y stateless en una aplicación requiere un análisis especial ya que el performance de la requiere un análisis especial ya que el performance de la
aplicación depende de estoaplicación depende de esto
Entity EJBEntity 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 Los Entity Beans son los encargado de viajar a la base de datos a través de la persistencia que provee JPAtravés de la persistencia que provee JPA
Message Driven EJBMessage Driven EJB
Estos beans permiten que las aplicaciones J2EE reciban mensajes Estos beans permiten que las aplicaciones J2EE reciban mensajes JMS de forma asíncronaJMS 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