Upload
lenin-lozano
View
288
Download
0
Embed Size (px)
DESCRIPTION
Esto desde 2001.... Esto si que huele a rancio..... y todavia lo ven como "lo novedoso"
Citation preview
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
Outline
• Preludio
• Plataforma J2EE
• Tecnología Enterprise Java Beans
• La Triada de EJB– HandsOn 1 – Hola Mundo con EJB,
Session Bean
Preludio
• Los aspectos de diseño y selección de herramientas son retos mas importantes en el trabajo con EJB.
Glosario
• Java middleware
• application servers
• EJB servers
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.
Plataforma J2EE
• Define un mecanismo estándar para las aplicaciones J2EE.• Provee un modelo transaccional, multinivel y distribuido para
aplicaciones empresariales.
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.
Contenedor EJB
• Componentes de Software.
• Corren en un EJB Container. – Gestiona todo aspecto del
EJB.– Acceso Remoto– Seguridad– Persistencia– TX– Concurrencia– Pooling
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
La Triada + 1
• Session Bean
• Entity Beans
• Message Driven Beans
• Timer Service
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
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
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.
Componentes del EJB
• Son accedidas por las aplicaciones cliente en la red a través de interfaces.
• Interfaz Remota
• Interfaz Home
• Clase Bean
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.
Stateless Session Bean
• No mantienen estado conversacional• Toda invocacion tiene que ser con
parametros.
• @Remote• @Local
• Cada parametro que se reciba deba ser Serializable
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
SessionContext
• Provee una vista al entorno del contenedor EJB
• Se puede obtener información del usuario que esta ejecutando el EJB
Ciclo de Vida
Hands On
• Hello World
Hands On 2.
• Consumiéndolo– Desde Web– Desde StandAlone– Desde Otro EJB
Taller
• La calculadora sin estado
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
Ciclo de Vida
Hands On
• Carrito de Compras
Taller
• Carrito de Compras Web
Message Driven Beans
• Soportan el procesamiento asincrono desde un proveedor JMS.
• Todos los proveedores de EJB 3.0 deben soportar un servidor JMS.
Hands On
• Hola Mundo Asincrono
Taller