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

Slides:



Advertisements
Presentaciones similares
CJ02 – Técnicas avanzadas en java 1.4 y 5.0
Advertisements

2010Ing. de Sistemas II Persistencia en EJB3 Pasos para crear entity beans.
JEE (EJB3) Configuración Ambiente de Desarrollo
JEE Introducción a Java Enterprise Edition (JEE) y el modelo Enterprise Java Beans (EJB)
JEE Entity Enterprise Beans Herencia. 2009Ing. de Sistemas II2 Herencia y Polimorfismo en Entity Beans Los Entity Beans son clases Java comunes que soportan.
Web Services.
Curso de Java “Java para Web” Rogelio Ferreira Escutia.
Curso de java básico (scjp)
CJ02 – Técnicas avanzadas en java 1.4 y 5.0
DESARROLLO DE SOLUCIONES EMPRESARIALES MOVILES USANDO TECNOLOGIA SUN APLICACIONES MOVILES CON J2ME RMS Ing. Ronald Criollo.
J2EE – Java 2 Enterprise Edition
Lenguaje de programación Java
Clases Extendidas La clase extendida hereda los campos y métodos de la clase de la cual extiende. La clase original se conoce como superclase y la clase.
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores.
"java del lado del servidor" Servlet y JSP Java Server Pages.
Unidad 6: EJB 3.0 David Rodríguez 1.
Arquitectura CLARO-TECNOTREE CAPITULO 4: Excepciones
Capitulo 4 Excepciones.
Siguiente Excepciones Introducción. AnteriorSiguiente Definición Una excepción es un evento que ocurre durante la ejecución de un programa que desestabiliza.
Java 2 Platform Enterprise Edition
RMI (Remote Method Invocation)
Aplicación del paradigma orientado a objetos
Diseño y programación de
Encapsulamiento y Abstracción
JAVA Persistence API (JPA)
Programación Orientada a Objetos en Java
Objetos Distribuidos – Aplicaciones RMI
PROGRAMACION DISTRIBUIDA
Excepciones y archivos Info 033. Exception El término Exception es la palabra corta para la frase "evento excepcional." Definition: Una excepción es un.
Tema 7: Polimorfismo Antonio J. Sierra. Índice Introducción. Sobrecarga de métodos. Objetos como parámetros. Paso de argumentos. Devolución de objetos.
Polimorfismo Lenguajes de Programación II Corporación Universitaria del Caribe CECAR.
INSTITUTO TECNOLOGICO DE TEHUACAN Ingeniería en sistemas computacionales Curso de apoyo a la titulación EXCEPCIONES EN JAVA Diciembre de 2008.
El patrón de diseño Proxy Raúl Heras Alberto Blasco José Manuel Arévalo.
Clases y objetos La unidad fundamental de programación OO son las clases. Conjunto de métodos y semántica Qué se va a hacer POO Clase: que define la implementación.
Tema 6: Clases Antonio J. Sierra.
1 Ingeniería del Software Ejercicios de Implementación  Caso de Uso Total Gasto (Junio 2003)  Caso de Uso Mejor Usuario (Septiembre 2003)  Caso de Uso.
1 TEMA 5. Seguridad en Java 1.Introducción a los Controladores de Seguridad 2.Decidir qué Métodos Sobreescribir del SecurityManager 3.Escribir un Controlador.
Enterprise JavaBeans Dr. Diego Lz. de Ipiña Gz. de Artaza
UNIDAD 2 CLASES Y OBJETOS. CLASE Elementos cabecera y cuerpo de la clase. Cabecera: aporta información fundamental sobre la clase en sí y constituye de.
Suponiendo que además en la clase U hay: import java.util.*; class U{ static Scanner teclado = new Scanner(System.in); static public int readInt(String.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Objetos.
Desarrollo de Aplicaciones Utilizando Java Edición Empresarial – JEE6
Patrones Creacionales
Introducción a Java (2ª parte) - excepciones, colecciones, i/o, … -
SPRING MVC.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Encapsulamiento.
Capítulo 5 - b: Hilos. 4.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th edition, Jan 23, 2005 Ejemplo de hilos: un applet Un.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Encapsulamiento.
Tema 6 - Enterprise JavaBeans Dr. Diego Lz. de Ipiña Gz. de Artaza
J2EE Java Enterprise edition eilin chang Matthew pabon Gabriel vega.
Tutor: Ing. Juan E. Talavera Horn 2010 GWT – EJB Patrones de diseño e integración.
ESB Víctor Cabrera Cañizares.
J2EE – Java 2 Enterprise Edition
ENTERPRISE JAVA BEANS (EJB’s)‏ Sistemas de Operación 3.
Herramientas de polimorfismo y herencia en C++
Enterprise Java Beans. EJBs Beans gestionados por un contenedor del servidor de aplicaciones para gestionar el acceso a recursos (bases de datos, colas.
Enterprise JavaBeans Arvelo, Yolife Ascanio, Eduardo Chacón, Johnny Quintana, Susana Unversidad Simón Bolívar Departamento de Computación y T.I Sistemas.
Sistemas Distribuidos
Contacta un Servlet o un JSP
Presentado por: PABLO ANDRES DIAZ SAIN HASSAM CAICEDO
Detalles Generales sobre Java
Enterprise JavaBeans Distributed Component Object Model
© Softtek Internal. Introducción a Spring Sesión 1: Introducción y teoría Juan Irungaray
Abstracción El concepto de abstracción es esencial en ciencias de la computación. Un programa es en sí mismo una abstracción, un modelo de la resolución.
Your Logo ING. FREDY ALEXANDER MARTINEZ. Here comes your footer  Page 2 Este patrón fue descrito por primera vez por Trygve Reenskaug en 1979, y la implementación.
Arquitecturas de Integración Mensajería
ENTERPRISE JAVA BEANS (EJB) DAVID VIRGIL NARANJO PROGRAMACIÓN AVANZADA INGENIERIA INFORMÁTICA.
Crear Aplicación Cliente para Conectarse a una Base de Datos.
Softlogia S.R.L. Formación de Recursos Humanos Hibernate Core Instructor: Martin R. Baspineiro.
ENTERPRISE JAVA BEANS. ACCESO AL EJB EJB_HOME. Accesible mediante JNDI. Permite crear y destruir EJB. EJB_OBJECT Expone los métodos del negocio del EJB.
Transcripción de la presentación:

Enterprise Java Beans Rubén Trujillo Sept-Dic 2008

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.

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.

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.

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.

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.

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.

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.

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.

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.

Ciclo de Vida de un Session Bean con estado

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.

Ciclo de Vida de un Session Bean sin estado

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

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) {} }

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.

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.

Ciclo de vida de un Entity Bean

Ejemplo public class HelloEntityEJB implements EntityBean { public String name; public String name; public String ; public String ; 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 get () { public String get () { return ; return ; } public void set (String ) { public void set (String ) { this. = ; this. = ; }}

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.

Ciclo de vida de un Message- Driven Bean

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();}}