Você está na página 1de 13

Francisco Morero Peyrona Java Senior Engineer

Introduccin a EJB 3.0

2008 - Sun Microsystems

Introduccin a EJB 3.0

Contenidos
Servidores de Aplicaciones: Glassfish EJB 3.0: POJO, Annotations y EJB-QL Session Beans Entity Beans Message Beans Referencias Prcticas

Francisco Morero Peyrona Java Senior Engineer - 2008

Introduccin a EJB 3.0

Servidores de Aplicaciones
HTTP Server (Tomcat/Coyote) Conector (Grizzly) JSP Server (Jasper) AJAX (Phobos)

Servlets Server (Catalina)

Persistencia (TopLink)

Extensiones SOA (JAX-WS / BPEL / WSIT)

EJB Server

Francisco Morero Peyrona Java Senior Engineer - 2008

Introduccin a EJB 3.0

Java Persistence API (JPA)


Basada en Container Manager Persistence (vs. App.Mgr.Persistence) Estandariza el object-relational mapping Aade el EJB-QL Permite el uso de SQL estndar (va native query support) Permite Named queries Independencia del sustrato fsico (repositorio): portabilidad Incluye optimistic locking

Francisco Morero Peyrona Java Senior Engineer - 2008

Introduccin a EJB 3.0

EJB 3.0: POJO, Annotations y EJB-QL


Un EJB 3.0 es un POJO
Admiten herencia Puede serializarse -> sustituir a los DTO (no es buena prctica) Se definen interfaces locales y remotos

Y adems
Usa Annotations Utiliza motor de persistencia Permite despliegue simplificado
Francisco Morero Peyrona Java Senior Engineer - 2008

Introduccin a EJB 3.0

EJB 3.0: POJO, Annotations y EJB-QL


Annotations
Usos principales: Informacin para el compilador Informacin para el despliegue Informacin durante el run-time Run-time: Dependency Injection (AKA Inversion of Control)
@ClassPreamble( author="JohnDoe", date="3/17/2002", currentRevision=6, lastModified="4/12/2004", lastModifiedBy="JaneDoe" reviewers={"Alice","Bob","Cindy"}//Notearraynotation ) publicclassGeneration3ListextendsGeneration2List { Francisco Morero Peyrona //classcodegoeshere Java Senior Engineer - 2008 }

Introduccin a EJB 3.0

EJB 3.0: POJO, Annotations y EJB-QL


EJB - Query Language
Subconjunto de SQL-92 y con una sintxis simplificada Forman parte de la definicin de los Entity Beans Traducidas por el Motor de Persistencia: son portables

StringsQuery=SELECTa+ FROMApplicationEntitya+ WHEREa.idApplication=:idApplication Queryquery=em.createQuery(sQuery); query.setParameter(idApplication,639);


Francisco Morero Peyrona Java Senior Engineer - 2008

Introduccin a EJB 3.0

Session Beans
@Stateless

Implementan los procesos sncronos de la aplicacin

No hay instancia -> no se guarda el valor de los datos entre llamadas Por defecto los interfaces son local

@Stateless publicclassSessionStatelessBean { publicStringsayHello() { return"HelloWorld!"; } }


Francisco Morero Peyrona Java Senior Engineer - 2008

Introduccin a EJB 3.0

Session Beans
@Stateful

Implementan los procesos sncronos de la aplicacin

Se mantiene una instancia para cada usuario Admite callbacks (@PostConstruct, @PreDestroy, @Init, etc) El resto de lo dicho para los Stateless es aplicable @Stateful @Remote publicclassSessionStatefulBean { publicStringsayHello() { return"HelloWorld!"; } }

Francisco Morero Peyrona Java Senior Engineer - 2008

Introduccin a EJB 3.0

Entity Beans

Implementan el acceso a datos de la aplicacin


Se definen mediante la annotation @Entity Son Transacionales (incluso anidadamente) Object-relational Mapping (motor de persistencia) Necesita que se defina una PK Adminten callbacks (@Prepersist, @Postpoersist, etc.) Deben implementar hashCode (Collections (Hash)) Y tambin equals -> Operadores de comparacin -> Ordenaciones

Francisco Morero Peyrona Java Senior Engineer - 2007

Introduccin a EJB 3.0

Message Beans

Implementan los procesos asncronos de la aplicacin


Se definen mediante la annotation @MessageDriven implements MessageListener (el nico mtodo: onMessage()) Admite callbacks (@PostConstruct y @PreDestroy) Envo de mesajes: API JMS (las referencias se obtienen con lookup)

Francisco Morero Peyrona Java Senior Engineer - 2008

Introduccin a EJB 3.0

Referencias
J2EE 5 Tutorial: http://java.sun.com/javaee/5/docs/tutorial/doc/ JPA: http://java.sun.com/developer/technicalArticles/J2EE/jpa/ Annotations: http://java.sun.com/docs/books/tutorial/java/javaOO/annotations.html NetBeans: http://www.netbeans.org/ J2EE Design Patterns: http://java.sun.com/blueprints/patterns/catalog.html JSR 220 EJB 3.0: http://jcp.org/en/jsr/detail?id=220

email: francisco.morero@sun.com

Francisco Morero Peyrona Java Senior Engineer - 2008

Introduccin a EJB 3.0

Muchas gracias por la atencin prestada

http://www.sun.com
Francisco Morero Peyrona Java Senior Engineer - 2007
email: francisco.morero@sun.com

Você também pode gostar