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
•   Preludio
•   Plataforma J2EE
•   Tecnología Enterprise Java Beans
•   La Triada de EJB
     – HandsOn 1 – Hola Mundo con EJB,
       Session Bean




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




Preludio
• Java middleware
• application servers
• EJB servers




Glosario
• “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.




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




    Plataforma J2EE
• 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.




Tecnología EJB
• Componentes de
  Software.
• Corren en un EJB
  Container.
  – Gestiona todo aspecto del
    EJB.
  – Acceso Remoto
  – Seguridad
  – Persistencia
  – TX
  – Concurrencia
  – Pooling

Contenedor EJB
•   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




Porque se necesitarían?
• Session Bean
• Entity Beans
• Message Driven Beans

• Timer Service




La Triada + 1
• 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




Session 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



Entity 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.




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

• Interfaz Remota
• Interfaz Home
• Clase Bean




Componentes del EJB
• 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.

Interfaces Remotas y
Home
• No mantienen estado conversacional
• Toda invocacion tiene que ser con
  parametros.

• @Remote
• @Local

• Cada parametro que se reciba deba ser
  Serializable




Stateless Session Bean
• 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




Stateless Session EJB
• Provee una vista al entorno del
  contenedor EJB
• Se puede obtener información del
  usuario que esta ejecutando el
  EJB




SessionContext
Ciclo de Vida
• Hello World




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




Hands On 2.
• La calculadora sin estado




Taller
• 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




Statefull Session Bean
Ciclo de Vida
• Carrito de Compras




Hands On
• Carrito de Compras Web




Taller
• Soportan el procesamiento
  asincrono desde un proveedor
  JMS.
• Todos los proveedores de EJB
  3.0 deben soportar un servidor
  JMS.




Message Driven Beans
• Hola Mundo Asincrono




Hands On
Taller

Desarrollo Componentes J2EE

  • 1.
    Desarrollo por Componentes para J2EE EnterpriseJava Beans v.3.0 Lenin David Lozano Argel Director de Ingeniería – Avansoft S.A. Especialista en Desarrollo de Software EAFIT
  • 2.
    Preludio • Plataforma J2EE • Tecnología Enterprise Java Beans • La Triada de EJB – HandsOn 1 – Hola Mundo con EJB, Session Bean Outline
  • 3.
    • Los aspectosde diseño y selección de herramientas son retos mas importantes en el trabajo con EJB. Preludio
  • 4.
    • Java middleware •application servers • EJB servers Glosario
  • 5.
    • “Una parteabstracta 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. Componentes de Software
  • 6.
    Define un mecanismo estándar para las aplicaciones J2EE. • Provee un modelo transaccional, multinivel y distribuido para aplicaciones empresariales. Plataforma J2EE
  • 7.
    • Es unaespecificación. • Define una arquitectura sistemas basados en componentes. • Definen contratos entre los diferentes proveedores de contenedores EJB. • La meta asegurar portabilidad entre proveedores. Tecnología EJB
  • 8.
    • Componentes de Software. • Corren en un EJB Container. – Gestiona todo aspecto del EJB. – Acceso Remoto – Seguridad – Persistencia – TX – Concurrencia – Pooling Contenedor EJB
  • 9.
    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 Porque se necesitarían?
  • 10.
    • Session Bean •Entity Beans • Message Driven Beans • Timer Service La Triada + 1
  • 11.
    • Usados paramanejar 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 Session Bean
  • 12.
    • Uno delos 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 Entity Bean
  • 13.
    • EJB paraprocesar mensajes asíncronos. • JMS Listener • No son accedidos a través de interfaces. • Se usan cuando se requieren procesos asíncronos. Message Driven Bean
  • 14.
    • Son accedidaspor las aplicaciones cliente en la red a través de interfaces. • Interfaz Remota • Interfaz Home • Clase Bean Componentes del EJB
  • 15.
    • Representan elbean. • 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. Interfaces Remotas y Home
  • 16.
    • No mantienenestado conversacional • Toda invocacion tiene que ser con parametros. • @Remote • @Local • Cada parametro que se reciba deba ser Serializable Stateless Session Bean
  • 17.
    • Se debenatrapar 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 Stateless Session EJB
  • 18.
    • Provee unavista al entorno del contenedor EJB • Se puede obtener información del usuario que esta ejecutando el EJB SessionContext
  • 19.
  • 20.
  • 21.
    • Consumiéndolo – Desde Web – Desde StandAlone – Desde Otro EJB Hands On 2.
  • 22.
    • La calculadorasin estado Taller
  • 23.
    • Dedicado aun cliente por el ciclo de vida de la instancia del bean • No manejan pool de instancias • Mantienen el estado conversacional • No son persistentes Statefull Session Bean
  • 24.
  • 25.
    • Carrito deCompras Hands On
  • 26.
    • Carrito deCompras Web Taller
  • 27.
    • Soportan elprocesamiento asincrono desde un proveedor JMS. • Todos los proveedores de EJB 3.0 deben soportar un servidor JMS. Message Driven Beans
  • 28.
    • Hola MundoAsincrono Hands On
  • 29.