La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Enterprise Java Beans Rubén Trujillo Sept-Dic 2008.

Presentaciones similares


Presentación del tema: "Enterprise Java Beans Rubén Trujillo Sept-Dic 2008."— Transcripción de la presentación:

1 Enterprise Java Beans Rubén Trujillo Sept-Dic 2008

2 Enterprise Java Beans Es una tecnología para desarrollar componentes de una aplicación J2EE basada en componentes. Es una tecnología para desarrollar componentes de una aplicación J2EE basada en componentes. Un componente Enterprise JavaBeans (también llamado Enterprise Bean) es un componente del lado del servidor que encapsula la lógica de negocios de una aplicación. Un componente Enterprise JavaBeans (también llamado Enterprise Bean) es un componente del lado del servidor que encapsula la lógica de negocios de una aplicación.

3 Beneficios Los Enterprise Beans simplifican el desarrollo de aplicaciones, ya que: Los Enterprise Beans simplifican el desarrollo de aplicaciones, ya que: La lógica de negocios de la aplicación se encuentra en los Beans, de modo que el cliente solo debe encargarse de la presentación. Muy útil para dispositivos pequeños. La lógica de negocios de la aplicación se encuentra en los Beans, de modo que el cliente solo debe encargarse de la presentación. Muy útil para dispositivos pequeños. Son portables, pueden ser ejecutados en cualquier servidor que soporte J2EE. Son portables, pueden ser ejecutados en cualquier servidor que soporte J2EE.

4 Beneficios El programador de aplicaciones solo debe concentrarse en el desarrollo de la lógica de negocios, ya que el EJB Container provee rutinas a nivel de sistema para el manejo de transacciones, memoria virtual, entre otros servicios. El programador de aplicaciones solo debe concentrarse en el desarrollo de la lógica de negocios, ya que el EJB Container provee rutinas a nivel de sistema para el manejo de transacciones, memoria virtual, entre otros servicios.

5 EJB Container Es un runtime enviroment para los Enterprise Beans. Maneja la operación de los beans dentro del servidor, actuando como intermediario entre la lógica de la aplicación y el servidor. Es un runtime enviroment para los Enterprise Beans. Maneja la operación de los beans dentro del servidor, actuando como intermediario entre la lógica de la aplicación y el servidor.

6 Servicios del EJB Container Manejo de Transacciones: Inicio de transacciones, commiting y rollback. Manejo de Transacciones: Inicio de transacciones, commiting y rollback. Manejo de Instancias: Maneja grupos de instancias activas e inactivas, moviendo instancias de un estado a otro según convenga. Manejo de Instancias: Maneja grupos de instancias activas e inactivas, moviendo instancias de un estado a otro según convenga. Sincronización de datos entre las variables de la instancia y sus correspondientes en almacenamiento persistente. Sincronización de datos entre las variables de la instancia y sus correspondientes en almacenamiento persistente.

7 Contenido de un Enterprise Bean Deployment descriptor: Un archivo XML con información acerca del tipo de persistencia y los tipos de transacciones. Deployment descriptor: Un archivo XML con información acerca del tipo de persistencia y los tipos de transacciones. La clase Enterprise Bean: La clase principal del bean, que implementa los métodos de las interfaces home y remote. La clase Enterprise Bean: La clase principal del bean, que implementa los métodos de las interfaces home y remote. Interfaces home y remote: Interfaces para la comunicación con el cliente remoto. La interfaz home provee los métodos de ciclo de vida del bean, y la interfaz remote los métodos de la lógica de la aplicación. Interfaces home y remote: Interfaces para la comunicación con el cliente remoto. La interfaz home provee los métodos de ciclo de vida del bean, y la interfaz remote los métodos de la lógica de la aplicación. Clases auxiliares como excepciones y otras clases utilitarias. Clases auxiliares como excepciones y otras clases utilitarias.

8 Tipos de Enterprise Beans Session Beans. Session Beans. Session beans con estado Session beans con estado Session beans sin estado Session beans sin estado Entity Beans. Entity Beans. Persistencia manejada por el Bean Persistencia manejada por el Bean Persistencia manejada por el Container Persistencia manejada por el Container Message-Driven Beans. Message-Driven Beans.

9 Session Beans Representan a un solo cliente dentro de un servidor J2EE. El cliente se comunica a través de los métodos de un session bean con una aplicación instalada en el servidor, simplificando el cliente al ejecutar la tareas de la aplicación en el servidor. Representan a un solo cliente dentro de un servidor J2EE. El cliente se comunica a través de los métodos de un session bean con una aplicación instalada en el servidor, simplificando el cliente al ejecutar la tareas de la aplicación en el servidor.

10 Session Beans con estado Mantienen el estado (los valores de las variables de la instancia) durante toda la sesión bean-cliente. Mantienen el estado (los valores de las variables de la instancia) durante toda la sesión bean-cliente. Ejemplo: Ejemplo: Aplicaciones de Shopping Cart en sitios de compras por internet. Aplicaciones de Shopping Cart en sitios de compras por internet.

11 Ciclo de Vida de un Session Bean con estado

12 Session Beans sin estado No mantienen el estado para un cliente particular, es decir, cuando un cliente llama a un método del bean, las variables de la instancia pueden tener valores, pero estos solo duran lo que dura la llamada al método. No mantienen el estado para un cliente particular, es decir, cuando un cliente llama a un método del bean, las variables de la instancia pueden tener valores, pero estos solo duran lo que dura la llamada al método. Ejemplo: Ejemplo: Un bean puede obtener de la base de datos de un sitio de compras por internet los productos en oferta y mostrarlos al cliente. Un bean puede obtener de la base de datos de un sitio de compras por internet los productos en oferta y mostrarlos al cliente.

13 Ciclo de Vida de un Session Bean sin estado

14 Requisitos de un session bean Debe implementar la interfaz SessionBean. Debe implementar la interfaz SessionBean. La clase debe ser definida como pública, y no puede ser definida como abstracta o final. La clase debe ser definida como pública, y no puede ser definida como abstracta o final. Debe implementar por lo menos un método ejbCreate(). Debe implementar por lo menos un método ejbCreate(). Debe contener un constructor público sin parámetros. Debe contener un constructor público sin parámetros. No debe definir el método finalize(). No debe definir el método finalize().

15 Ejemplo public class CartBean implements SessionBean { String customerName; String customerId; Vector contents; public void ejbCreate(String person) throws CreateException { if (person == null) { throw new CreateException("Null person not allowed."); } else { customerName = person; } customerId = "0"; contents = new Vector(); } public void addBook(String title) { contents.addElement(title);} public CartBean() {} public void ejbRemove() {} public void ejbActivate() {} public void ejbPassivate() {} public void setSessionContext(SessionContext sc) {} }

16 Entity Beans Representan objetos en un mecanismo de almacenamiento persistente, como una base de datos relacional. Representan objetos en un mecanismo de almacenamiento persistente, como una base de datos relacional. Por lo general, un entity bean representa una tabla en una base de datos y cada instancia un fila de esa tabla. Por lo general, un entity bean representa una tabla en una base de datos y cada instancia un fila de esa tabla. El manejo de la persistencia puede ser por el programador (Bean-managed) en donde el programador implementa los métodos para acceder a la base de datos, o por el contenedor (Container-managed) en donde el contenedor se encarga de todos los accesos a la base de datos. El manejo de la persistencia puede ser por el programador (Bean-managed) en donde el programador implementa los métodos para acceder a la base de datos, o por el contenedor (Container-managed) en donde el contenedor se encarga de todos los accesos a la base de datos.

17 Requisitos para un Entity Bean Al igual que para session bean, se debe implementar la interfaz correspondiente, en este caso la interfaz EntityBean. Al igual que para session bean, se debe implementar la interfaz correspondiente, en este caso la interfaz EntityBean. Debe implementar métodos finder que permiten al cliente localizar entity beans y métodos home que permiten al cliente aplicar rutinas a todas las instancias de un entity bean (por ejemplo en una aplicación bancaria, descontar el monto respectivo a todas las cuentas con balance menor a cierto monto). Debe implementar métodos finder que permiten al cliente localizar entity beans y métodos home que permiten al cliente aplicar rutinas a todas las instancias de un entity bean (por ejemplo en una aplicación bancaria, descontar el monto respectivo a todas las cuentas con balance menor a cierto monto). Además, debe cumplir con los requisitos usuales: La clase de ser definida publica, y nunca abstracta ni final, debe tener un constructor vacío, y no definir el método finalize. Además, debe cumplir con los requisitos usuales: La clase de ser definida publica, y nunca abstracta ni final, debe tener un constructor vacío, y no definir el método finalize.

18 Ciclo de vida de un Entity Bean

19 Ejemplo public class HelloEntityEJB implements EntityBean { public String name; public String name; public String email; public String email; public String ejbCreate(String name) { public String ejbCreate(String name) { this.name = name; this.name = name; return null; return null; } public void ejbPostCreate(String name) { public void ejbPostCreate(String name) { } public String getEmail() { public String getEmail() { return email; return email; } public void setEmail(String email) { public void setEmail(String email) { this.email = email; this.email = email; }}

20 Message-Driven Beans Permiten recibir mensajes JMS de forma asíncrona. Permiten recibir mensajes JMS de forma asíncrona. A diferencia de los entity beans y los session beans, no poseen interfaces, por tanto se componen solo de una clase bean. A diferencia de los entity beans y los session beans, no poseen interfaces, por tanto se componen solo de una clase bean.

21 Ciclo de vida de un Message- Driven Bean

22 Ejemplo public void onMessage(Message inMessage) { TextMessage msg = null; try { if (inMessage instanceof TextMessage) { msg = (TextMessage) inMessage; msg = (TextMessage) inMessage; System.out.println ("MESSAGE BEAN: Message received: " + msg.getText()); System.out.println ("MESSAGE BEAN: Message received: " + msg.getText()); } else { System.out.println ("Message of wrong type: " + inMessage.getClass().getName()); } } catch (JMSException e) { e.printStackTrace();mdc.setRollbackOnly(); } catch (Throwable te) { te.printStackTrace();}}


Descargar ppt "Enterprise Java Beans Rubén Trujillo Sept-Dic 2008."

Presentaciones similares


Anuncios Google