guia ejb deshabdig

24
Guia de inicio EJB 3.0 Guia de inicio EJB 3.0 Gustavo Pérez Juárez Gustavo Pérez Juárez DESARROLLO DE HABILIDADES DIGITALES DESARROLLO DE HABILIDADES DIGITALES

Upload: siegfriedg

Post on 09-Jun-2015

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 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

Page 2: Guia ejb deshabdig

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

Page 3: Guia ejb deshabdig

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.

Page 4: Guia ejb deshabdig

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.

Page 5: Guia ejb deshabdig

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.

Page 6: Guia ejb deshabdig

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

Page 7: Guia ejb deshabdig

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

Page 8: Guia ejb deshabdig

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.

Page 9: Guia ejb deshabdig

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. .

Page 10: Guia ejb deshabdig

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)

Page 11: Guia ejb deshabdig

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

Page 12: Guia ejb deshabdig

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

Page 13: Guia ejb deshabdig

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?

Page 14: Guia ejb deshabdig

Especificación Especificación EJB(Framework)EJB(Framework)

Page 15: Guia ejb deshabdig

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

Page 16: Guia ejb deshabdig

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

Page 17: Guia ejb deshabdig

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

Page 18: Guia ejb deshabdig

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

Page 19: Guia ejb deshabdig

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

Page 20: Guia ejb deshabdig

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

Page 21: Guia ejb deshabdig

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

Page 22: Guia ejb deshabdig

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

Page 23: Guia ejb deshabdig

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

Page 24: Guia ejb deshabdig

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