Desarrollo Componentes J2EE

29
Desarrollo por Componentes para J2EE Enterprise Java Beans v.3.0 Lenin David Lozano Argel Director de Ingeniería – Avansoft S.A. Especialista en Desarrollo de Software EAFIT

description

Esto desde 2001.... Esto si que huele a rancio..... y todavia lo ven como "lo novedoso"

Transcript of Desarrollo Componentes J2EE

Page 1: Desarrollo Componentes J2EE

Desarrollo por Componentes para J2EE

Enterprise Java Beans v.3.0

Lenin David Lozano ArgelDirector de Ingeniería – Avansoft S.A.

Especialista en Desarrollo de Software EAFIT

Page 2: Desarrollo Componentes J2EE

Outline

• Preludio

• Plataforma J2EE

• Tecnología Enterprise Java Beans

• La Triada de EJB– HandsOn 1 – Hola Mundo con EJB,

Session Bean

Page 3: Desarrollo Componentes J2EE

Preludio

• Los aspectos de diseño y selección de herramientas son retos mas importantes en el trabajo con EJB.

Page 4: Desarrollo Componentes J2EE

Glosario

• Java middleware

• application servers

• EJB servers

Page 5: Desarrollo Componentes J2EE

Componentes de Software

• “Una parte abstracta de algo”. WorlNet – Princenton University.

• Es una pieza de código escrito para manifestar un comportamiento especifico.

• Auto contenido.• Puede ser reutilizado.• Viva independiente.• Aplicaciones Compuestas.

Page 6: Desarrollo Componentes J2EE

Plataforma J2EE

• Define un mecanismo estándar para las aplicaciones J2EE.• Provee un modelo transaccional, multinivel y distribuido para

aplicaciones empresariales.

Page 7: Desarrollo Componentes J2EE

Tecnología EJB

• Es una especificación.• Define una arquitectura sistemas basados en

componentes.• Definen contratos entre los diferentes

proveedores de contenedores EJB.• La meta asegurar portabilidad entre

proveedores.

Page 8: Desarrollo Componentes J2EE

Contenedor EJB

• Componentes de Software.

• Corren en un EJB Container. – Gestiona todo aspecto del

EJB.– Acceso Remoto– Seguridad– Persistencia– TX– Concurrencia– Pooling

Page 9: Desarrollo Componentes J2EE

Porque se necesitarían?

• Aglutinador entre clientes y servidores.• Escalabilidad• Estándares• One Stop Shop (Plataformas Integrales).• Productividad• OOP en el servidor• Arquitectura de Componentes Abierta• Java en la capa media• Soporte a otros lenguajes y CORBA

Page 10: Desarrollo Componentes J2EE

La Triada + 1

• Session Bean

• Entity Beans

• Message Driven Beans

• Timer Service

Page 11: Desarrollo Componentes J2EE

Session Bean

• Usados para manejar transacciones.– Session Beans– Entity Beans– Acceso a recursos

• No son objetos persistentes como los entity beans.

• No representan datos en la base de datos.• Encapsulan la lógica de negocio de una

arquitectura a tres niveles.• 2 Tipos

– Stateless– Statefull

Page 12: Desarrollo Componentes J2EE

Entity Bean

• Uno de los 2 tipos principales de EJB

• Usados para representar datos en la base de datos.

• 2 Tipos– Container-Managed Persistence

(CMP), and Bean-Managed Persistence (BMP)

• Mapeo Objeto Relacional

Page 13: Desarrollo Componentes J2EE

Message Driven Bean

• EJB para procesar mensajes asíncronos.

• JMS Listener

• No son accedidos a través de interfaces.

• Se usan cuando se requieren procesos asíncronos.

Page 14: Desarrollo Componentes J2EE

Componentes del EJB

• Son accedidas por las aplicaciones cliente en la red a través de interfaces.

• Interfaz Remota

• Interfaz Home

• Clase Bean

Page 15: Desarrollo Componentes J2EE

Interfaces Remotas y Home

• Representan el bean.• El EJB Container encapsula el

bean.• El contenedor maneja toda petición

al bean.• Home: Representa el ciclo de vida

del componente.• Remote: Representa los métodos

de negocio del bean.

Page 16: Desarrollo Componentes J2EE

Stateless Session Bean

• No mantienen estado conversacional• Toda invocacion tiene que ser con

parametros.

• @Remote• @Local

• Cada parametro que se reciba deba ser Serializable

Page 17: Desarrollo Componentes J2EE

Stateless Session EJB

• Se deben atrapar las excepciones y lanzar una EJBException

• Lo primero que se nota es la anotacion @Stateless

• Para hacer binding con JNDI se hacer por medio de:– EJBName/remote o EJBName/local

Page 18: Desarrollo Componentes J2EE

SessionContext

• Provee una vista al entorno del contenedor EJB

• Se puede obtener información del usuario que esta ejecutando el EJB

Page 19: Desarrollo Componentes J2EE

Ciclo de Vida

Page 20: Desarrollo Componentes J2EE

Hands On

• Hello World

Page 21: Desarrollo Componentes J2EE

Hands On 2.

• Consumiéndolo– Desde Web– Desde StandAlone– Desde Otro EJB

Page 22: Desarrollo Componentes J2EE

Taller

• La calculadora sin estado

Page 23: Desarrollo Componentes J2EE

Statefull Session Bean

• Dedicado a un cliente por el ciclo de vida de la instancia del bean

• No manejan pool de instancias

• Mantienen el estado conversacional

• No son persistentes

Page 24: Desarrollo Componentes J2EE

Ciclo de Vida

Page 25: Desarrollo Componentes J2EE

Hands On

• Carrito de Compras

Page 26: Desarrollo Componentes J2EE

Taller

• Carrito de Compras Web

Page 27: Desarrollo Componentes J2EE

Message Driven Beans

• Soportan el procesamiento asincrono desde un proveedor JMS.

• Todos los proveedores de EJB 3.0 deben soportar un servidor JMS.

Page 28: Desarrollo Componentes J2EE

Hands On

• Hola Mundo Asincrono

Page 29: Desarrollo Componentes J2EE

Taller