Unidad 6: EJB 3.0 David Rodríguez drodriguez@tecsup.edu.pe 1.

Slides:



Advertisements
Presentaciones similares
2010Ing. de Sistemas II Persistencia en EJB3 Pasos para crear entity beans.
Advertisements

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.
Las aplicaciones requieren datos persistentes
Programación orientada a objetos en Visual Basic .NET
Fernando Alonso Blázquez Sesiones 06 de Mayo de 2004.
Acceso a Bases de Datos con Java
Curso de java básico (scjp)
CJ02 – Técnicas avanzadas en java 1.4 y 5.0
J2EE – Java 2 Enterprise Edition
Lenguaje de programación Java
JAVA PERSISTENCE API (jpa)
Lección 2 Encapsulamiento
Aplicación de diseño de clases y generación de código, orientado hacia la arquitectura multicapas y el mapeo objeto/relacional Juan Timoteo Ponce Ortiz.
Teoría de los lenguajes Proyecto SIGU Equipo Nº3 Universidad Argentina J. F. Kennedy Sede: Don Bosco Integrantes: Irene Arias Fernández Mariana Pacheco.
Siguiente Excepciones Introducción. AnteriorSiguiente Definición Una excepción es un evento que ocurre durante la ejecución de un programa que desestabiliza.
RMI Remote Method Invocation
Java 2 Platform Enterprise Edition
RMI (Remote Method Invocation)
JAVA Persistence API (JPA)
Sesión en Servlets 31 de Marzo de Índice ¿Por qué seguir la trayectoria de usuarios? Formas de seguir la trayectoria de usuarios –Cookies –Reescritura.
PROGRAMACIÓN EN JAVA Curso-taller inicial de programación en JAVA Facultad de Estadística e Informática TEMA II.
Archivos Contenido: Archivos de Texto Archivos de Acceso Aleatorio
Enterprise Java Beans Rubén Trujillo Sept-Dic 2008.
Tema 7: Polimorfismo Antonio J. Sierra. Índice Introducción. Sobrecarga de métodos. Objetos como parámetros. Paso de argumentos. Devolución de objetos.
Java Persistance API JPA.
Lic. Rosemary Torrico Bascopé
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.
Diseño de Sistemas. Patrones de Diseño. Geronimo Manso.
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.
Patrón Observador Un patrón de diseño es una descripción de clases y objetos comunicándose entre si adaptada para resolver un problema de diseño general.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Objetos.
Desarrollo de Aplicaciones Utilizando Java Edición Empresarial – JEE6
Propósito: * Mostrar indicativos porcentuales de los diversos microorganismos con los que se alimentan el camarón en un manejo semi-intensivo aplicado.
Servicios Web. Servicios web Son programas con funcionalidad accesible a través de protocolo http que permiten la ejecución remota de métodos y funciones.
Programación Orientada a Aspectos (POA)
Patrones Creacionales
Práctica J2EE Dr. Diego Lz. de Ipiña Gz. de Artaza
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Encapsulamiento.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Encapsulamiento.
J2EE – Java 2 Enterprise Edition
Mapeo Objeto – Relacional JPA – Java Persistence Api
Enterprise Java Beans. EJBs Beans gestionados por un contenedor del servidor de aplicaciones para gestionar el acceso a recursos (bases de datos, colas.
EJB 3.0 Transacciones y seguridad Tutor: Ing. Juan E. Talavera Horn 2010.
Frameworks de Persistencia Java Prof. Ing. Esteban Ramírez
Módulo 7: Programación Orientada a Objetos en Visual Basic 2005.
JavaBeans Fernando Romero Contreras Francisco Javier Sigler Gómez.
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
Curso de Java y Aplicaciones Web Facultad Politécnica – U.N.A. Ing. Esteban Ramírez Persistencia Java.
Enterprise JavaBeans Distributed Component Object Model
Introducción a UML Departamento de Informática Universidad de Rancagua
Conceptos. -Programación orientada a eventos. -Instancias de clase. -Atributo de los objetos. -Método main, get y set. -Ejemplo de la declaración de.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS GUI.
Acceso a Datos Erick López Ovando Licenciado en Informática.
Programación Orientada a Objetos: CLASES Y OBJETOS
Arquitecturas de Integración Mensajería
Servicios Web Conjunto de aplicaciones o de tecnologías con capacidad para interoperar en la Web. Estas aplicaciones o tecnologías intercambian datos entre.
ENTERPRISE JAVA BEANS (EJB) DAVID VIRGIL NARANJO PROGRAMACIÓN AVANZADA INGENIERIA INFORMÁTICA.
Programación orientada a objetos La programación orientada a objetos o POO (OOP según sus siglas en inglés) es un paradigma de programación que usa objetos.
Temario Java 2 Enterprise Edition Arquitectura Especificación Servlets Contenedores Cookies Sesiones.
Programación en Java Introducción a Java. Reseña histórica Surge en 1991 por Sun Microsystems Desarrollado para electrodomésticos Se buscaba un código.
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.
Programación en Java Introducción a Java. Reseña histórica Surge en 1991 por Sun Microsystems Desarrollado para electrodomésticos Se buscaba un código.
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:

Unidad 6: EJB 3.0 David Rodríguez drodriguez@tecsup.edu.pe 1

Introducción Los Enterprise JavaBeans son una de las API que forman parte del estándar de construcción de aplicaciones empresariales Java EE . El modelo de programación propuesto por la versión 2.1 de EJB conllevaba una serie de inconvenientes que limitaron mucho el uso de esta especificación y conllevó la aparición de soluciones open source que suplían las carencias que presentaba EJB 2.1. El objetivo de Enterprise JavaBeans (EJB) 3.0 es simplificar el desarrollo de aplicaciones Java y estandarizar el API de persistencia para la plataforma Java. En esta unidad se detallan los EJB’s de sesión stateless y stateful. 2

Anotaciones Característica de Java 5 Solución a la meta-data Javadoc, XDoclet, Bean Info y Deployment descriptors Programación declarativa Decoradores de código Ejemplo: @Overrides, @Deprecated Extensibilidad 3

El estado de los datos La mayoría de las aplicaciones Java EE que tienen interfaces de usuario requieren mantener el estado de los datos. Ejemplos típicos de datos que deben ser retenidos son formularios de múltiples páginas y carritos de compra. El estado de los datos puede ser almacenado en diferentes lugares: 4

Historia de los EJB EJB 2.1 EJB 3.0 5 archivos para definir el componente (8 con los DD). Mucha complejidad. Existencia de Entity Beans (BMP y CMP) EJB 3.0 3 Archivos Menos complejidad Uso intensivo de anotaciones Persistencia a través del API JPA. 5

EJB - Estructura Interface Implementación Deployment descriptor Remota Local Implementación Deployment descriptor 6

Tipos de EJB PARA CARRITO DE COMPRAS DAO 7

Clasificación de los Session Beans Un session bean es un recurso cliente del lado del servidor. Los session beans esencialmente funcionan como una fachada de servicio, habilitando servicios del lado del servidor al cliente. Lo Session beans se clasifican en: Stateful session beans Stateless session beans Un stateful session bean mantiene el estado del cliente entre diferentes invocaciones a los métodos del bean. Un stateless session bean no mantiene el estado del cliente. 8

Clasificación de los Session Beans 9

Stateless Session Bean 10

Stateless Session Bean Son EJB sin estado, no contienen atributos, para utilizarlos en distintas llamadas de los métodos del EJB. @Remote public interface POJIHello { public void dimeAlgo(); } @Stateless public class POJOHello implements POJIHello { public void dimeAlgo() { System.out.println("Algo"); 11

Stateful Session Bean 12

Stateful Session Bean La principal diferencia es que un Stateful Session Bean estará siempre firmemente vinculada a la ejecución del cliente, es decir, este tipo de beans tiene atributos que pueden ser accedidos, modificados, etc en las distintas llamadas al bean. @Stateful public class CestaBean implements CestaRemote { protected Vector<Producto> cesta= new Vector<Producto>(); public void insertarProducto(Producto producto) throws CestaException { if (producto== null) { throw new CestaException("Cesta ist null"); } producto setUnidadesPedidas(best.getUnidades()); cesta.add(producto); } public Vector<Producto> getProductos() { return cesta; } 13

Message Driven Bean 14

Message Driven Bean Son unos beans con una estrecha relación con JMS (Java Messaging Service). De hecho la mayoría de los MDB son consumidores de mensajes JMS. Los Message Driven Beans carecen de estado. La comunicación entre un cliente y un Message-driven Bean siempre se produce mediante JMS. 15 15

Entity Beans Un Entity Bean es una clase Java normal que representa con sus atributos las columnas de una tabla de una base de datos, si se necesita crear una nueva fila en base de datos, se crea una nueva instancia del entity bean si se desea modificar alguna columna de base de datos, se establece el atributo. Una instancia de un Entity Bean representa una fila de una tabla de base de datos. Los Entity Beans forman parte del estándar EJB 3.0 para la persistencia de datos (es decir JPA). 16

Entity Beans @Entity @Table(name = "categoria") public class Categoria implements Serializable{ @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "id_categoria") private Integer idCategoria; @Column(name = "nombre") private String nombre; @Column(name = "descripcion") private String descripcion; // AQUÍ VAN LOS MÉTODOS SET Y GET } 17

JPA Es el API de persistencia desarrollada para la plataforma Java EE e incluida en el estándar EJB 3 (Enterprise Java Beans) . El objetivo que persigue el diseño de esta API es no perder las ventajas de la orientación a objetos al interactuar con una base de datos, y permitir usar objetos regulares conocidos como POJOS (Plain Old Java Object ) Consta de: Java Persistence API Query Language Object relational mapping metadata 18

JPA Ciclo de vida Entity Beans El control real de un Entity Bean reside en el EntityManager, cuando se produce un evento en un entity bean, el EntityManager llama a los métodos lifecycle- callback si la clase los ha implementado. Métodos LifeCycle-Callbacks PrePersist PostPersist PreRemove PostRemove PreUpdate PostUpdate PostLoad 19

JPA EntityManager Los Entity Beans son clases Java normales enriquecidos con metainformación para que el EntityManager se encuentre en posición de mantener sus atributos sincronizados con la base de datos. EntityManager supervisará cada modificación en los atributos y decidirá a lo largo de la transacción lo que es necesario para mantener la consistencia entre los datos en memoria de los Entity Beans con los datos en base de datos. Persistence Unit Son todos los Entity Beans que controla el EntityManager. Persistence Context Es la suma de todos los Entity Beans que controla el EntityManager y el estado en el que se encuentran, es decir, se encuentra definido por la transacción en la que se encuentra en un momento determinado. EntityManager Factory Las aplicaciones crean instancias de EntityManager en esos casos mediante el método createEntityManager de javax.persistence.EntityManagerFactory. 20

JPA Multi-tables Mappings En una base de datos relacional surgen inevitablemente una gran variedad de relaciones entre tablas de la base de datos. Por ejemplo en una tabla de pedidos, habrá una referencia al id del usuario que hace el pedido, y no puede existir ningún pedido por un usuario que no exista. @JoinColumn @PrimaryKeyJoinColumn @PrimaryKeyJoinColumns @OneToOne @OneToMany @ManyToOne @ManyToMany 21

Bibliografía Enterprise JavaBeans Technology: Implementing Session Beans and Java Persistence (WJ-3512-EE5) Diego Mornacco y Sergio Gianazza. Workshop EJB 3.0 HRCS. EJB 3.0 - JPA 22