SlideShare une entreprise Scribd logo
1  sur  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
•   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

Contenu connexe

En vedette

Amadeu Iglesias, Sector Arquitectura, COAC
Amadeu Iglesias, Sector Arquitectura, COACAmadeu Iglesias, Sector Arquitectura, COAC
Amadeu Iglesias, Sector Arquitectura, COACSector Arquitectura
 
Red Museística lugo. Museo San Paio de Narla
Red Museística lugo. Museo San Paio de NarlaRed Museística lugo. Museo San Paio de Narla
Red Museística lugo. Museo San Paio de NarlaEncarna Lago
 
Said
SaidSaid
Saidsaid
 
Presentacion Nelly
Presentacion NellyPresentacion Nelly
Presentacion Nellymacalix
 
Agefac présentation
Agefac présentationAgefac présentation
Agefac présentationSarah Instar
 
Formato Para Estrategia De BúSqueda
Formato Para Estrategia De BúSquedaFormato Para Estrategia De BúSqueda
Formato Para Estrategia De BúSquedamacalix
 
Programa escolar torre narla-2015
Programa escolar torre narla-2015Programa escolar torre narla-2015
Programa escolar torre narla-2015Encarna Lago
 
Geografia Presentacion
Geografia PresentacionGeografia Presentacion
Geografia Presentacionfhhgg
 
ReunióN Juvenil Cgs 3 Sep 2009
ReunióN Juvenil Cgs 3 Sep 2009ReunióN Juvenil Cgs 3 Sep 2009
ReunióN Juvenil Cgs 3 Sep 2009casagrandesur2
 
Acta concejo de cetem version final
Acta concejo de cetem   version finalActa concejo de cetem   version final
Acta concejo de cetem version finalPedro Romero
 
Programa escolar museomar-2015
Programa escolar museomar-2015Programa escolar museomar-2015
Programa escolar museomar-2015Encarna Lago
 
A revolta dos irmandiños
A revolta dos irmandiñosA revolta dos irmandiños
A revolta dos irmandiñosEncarna Lago
 
Videos%20tutoriales[1]
Videos%20tutoriales[1]Videos%20tutoriales[1]
Videos%20tutoriales[1]Dario Fernando
 

En vedette (20)

Amadeu Iglesias, Sector Arquitectura, COAC
Amadeu Iglesias, Sector Arquitectura, COACAmadeu Iglesias, Sector Arquitectura, COAC
Amadeu Iglesias, Sector Arquitectura, COAC
 
Red Museística lugo. Museo San Paio de Narla
Red Museística lugo. Museo San Paio de NarlaRed Museística lugo. Museo San Paio de Narla
Red Museística lugo. Museo San Paio de Narla
 
Glosario
GlosarioGlosario
Glosario
 
Cursos De Sistemas
Cursos De SistemasCursos De Sistemas
Cursos De Sistemas
 
Said
SaidSaid
Said
 
Presentacion Nelly
Presentacion NellyPresentacion Nelly
Presentacion Nelly
 
19066 14676-omar-socorro
19066 14676-omar-socorro19066 14676-omar-socorro
19066 14676-omar-socorro
 
Agefac présentation
Agefac présentationAgefac présentation
Agefac présentation
 
Expres artee
Expres arteeExpres artee
Expres artee
 
Milagrost
MilagrostMilagrost
Milagrost
 
Formato Para Estrategia De BúSqueda
Formato Para Estrategia De BúSquedaFormato Para Estrategia De BúSqueda
Formato Para Estrategia De BúSqueda
 
Programa escolar torre narla-2015
Programa escolar torre narla-2015Programa escolar torre narla-2015
Programa escolar torre narla-2015
 
Geografia Presentacion
Geografia PresentacionGeografia Presentacion
Geografia Presentacion
 
ReunióN Juvenil Cgs 3 Sep 2009
ReunióN Juvenil Cgs 3 Sep 2009ReunióN Juvenil Cgs 3 Sep 2009
ReunióN Juvenil Cgs 3 Sep 2009
 
Acta concejo de cetem version final
Acta concejo de cetem   version finalActa concejo de cetem   version final
Acta concejo de cetem version final
 
Power Point 2007
Power Point 2007Power Point 2007
Power Point 2007
 
Programa escolar museomar-2015
Programa escolar museomar-2015Programa escolar museomar-2015
Programa escolar museomar-2015
 
A revolta dos irmandiños
A revolta dos irmandiñosA revolta dos irmandiños
A revolta dos irmandiños
 
Videos%20tutoriales[1]
Videos%20tutoriales[1]Videos%20tutoriales[1]
Videos%20tutoriales[1]
 
para visitar
para visitarpara visitar
para visitar
 

Similaire à Desarrollo Componentes J2EE

Seminario de programación Java, con Apache Maven, J2EE, JPA, Primefaces
Seminario de programación Java, con Apache Maven, J2EE, JPA, PrimefacesSeminario de programación Java, con Apache Maven, J2EE, JPA, Primefaces
Seminario de programación Java, con Apache Maven, J2EE, JPA, PrimefacesAlejandro Bolaños Ussa
 
01 jee5-componentes
01 jee5-componentes01 jee5-componentes
01 jee5-componentesUTN
 
Persistencia de datos_hibernate_arquitecturas_de_software
Persistencia de datos_hibernate_arquitecturas_de_softwarePersistencia de datos_hibernate_arquitecturas_de_software
Persistencia de datos_hibernate_arquitecturas_de_softwareJose Luis Bugarin Peche
 
1/9 Curso JEE5, Soa, Web Services, ESB y XML
1/9 Curso JEE5, Soa, Web Services, ESB y XML1/9 Curso JEE5, Soa, Web Services, ESB y XML
1/9 Curso JEE5, Soa, Web Services, ESB y XMLJuan Carlos Rubio Pineda
 
Modulo Jee Intro Pos Fp Une
Modulo Jee Intro  Pos Fp UneModulo Jee Intro  Pos Fp Une
Modulo Jee Intro Pos Fp UneMarcos Jara
 
Curso Java Avanzado 1 IntroduccióN Al Desarrollo Web
Curso Java Avanzado   1 IntroduccióN Al Desarrollo WebCurso Java Avanzado   1 IntroduccióN Al Desarrollo Web
Curso Java Avanzado 1 IntroduccióN Al Desarrollo WebEmilio Aviles Avila
 
OpenProdoc Visión General
OpenProdoc Visión GeneralOpenProdoc Visión General
OpenProdoc Visión Generaljhierrot
 
Persistencia de datos en Java
Persistencia de datos en JavaPersistencia de datos en Java
Persistencia de datos en JavaIker Canarias
 
Construyendo las aplicaciones del futuro con visual studio 11 y .net framewor...
Construyendo las aplicaciones del futuro con visual studio 11 y .net framewor...Construyendo las aplicaciones del futuro con visual studio 11 y .net framewor...
Construyendo las aplicaciones del futuro con visual studio 11 y .net framewor...Andrés Iturralde
 
WebLogic Bridge JMS
WebLogic Bridge JMSWebLogic Bridge JMS
WebLogic Bridge JMSjin_group
 
Introducción al desarrollo web moderno
Introducción al desarrollo web modernoIntroducción al desarrollo web moderno
Introducción al desarrollo web modernoSebastián Rocco
 
Oracle-Developer-Day-Colombia_MySQL-Feb27_12
Oracle-Developer-Day-Colombia_MySQL-Feb27_12Oracle-Developer-Day-Colombia_MySQL-Feb27_12
Oracle-Developer-Day-Colombia_MySQL-Feb27_12Mysql Latinoamérica
 
[ES] Introducción a Java EE 7
[ES] Introducción a Java EE 7[ES] Introducción a Java EE 7
[ES] Introducción a Java EE 7Eudris Cabrera
 
MySQL de 1995 a 5.5
MySQL de 1995 a 5.5MySQL de 1995 a 5.5
MySQL de 1995 a 5.5juliomacr
 

Similaire à Desarrollo Componentes J2EE (20)

Curso Java Avanzado 5 Ejb
Curso Java Avanzado   5 EjbCurso Java Avanzado   5 Ejb
Curso Java Avanzado 5 Ejb
 
Seminario de programación Java, con Apache Maven, J2EE, JPA, Primefaces
Seminario de programación Java, con Apache Maven, J2EE, JPA, PrimefacesSeminario de programación Java, con Apache Maven, J2EE, JPA, Primefaces
Seminario de programación Java, con Apache Maven, J2EE, JPA, Primefaces
 
Modulo 1 java ee platform
Modulo 1   java ee platformModulo 1   java ee platform
Modulo 1 java ee platform
 
01 jee5-componentes
01 jee5-componentes01 jee5-componentes
01 jee5-componentes
 
Persistencia de datos_hibernate_arquitecturas_de_software
Persistencia de datos_hibernate_arquitecturas_de_softwarePersistencia de datos_hibernate_arquitecturas_de_software
Persistencia de datos_hibernate_arquitecturas_de_software
 
1/9 Curso JEE5, Soa, Web Services, ESB y XML
1/9 Curso JEE5, Soa, Web Services, ESB y XML1/9 Curso JEE5, Soa, Web Services, ESB y XML
1/9 Curso JEE5, Soa, Web Services, ESB y XML
 
Modulo Jee Intro Pos Fp Une
Modulo Jee Intro  Pos Fp UneModulo Jee Intro  Pos Fp Une
Modulo Jee Intro Pos Fp Une
 
Frameworks JAVA EE 5 de marzo de 2.012
Frameworks JAVA EE 5 de marzo de 2.012Frameworks JAVA EE 5 de marzo de 2.012
Frameworks JAVA EE 5 de marzo de 2.012
 
Introducción a Enterprise Java Beans
Introducción a Enterprise Java BeansIntroducción a Enterprise Java Beans
Introducción a Enterprise Java Beans
 
Introduccion Java.ppt
Introduccion Java.pptIntroduccion Java.ppt
Introduccion Java.ppt
 
Curso Java Avanzado 1 IntroduccióN Al Desarrollo Web
Curso Java Avanzado   1 IntroduccióN Al Desarrollo WebCurso Java Avanzado   1 IntroduccióN Al Desarrollo Web
Curso Java Avanzado 1 IntroduccióN Al Desarrollo Web
 
Clase 14 intro ej bs
Clase 14  intro ej bsClase 14  intro ej bs
Clase 14 intro ej bs
 
OpenProdoc Visión General
OpenProdoc Visión GeneralOpenProdoc Visión General
OpenProdoc Visión General
 
Persistencia de datos en Java
Persistencia de datos en JavaPersistencia de datos en Java
Persistencia de datos en Java
 
Construyendo las aplicaciones del futuro con visual studio 11 y .net framewor...
Construyendo las aplicaciones del futuro con visual studio 11 y .net framewor...Construyendo las aplicaciones del futuro con visual studio 11 y .net framewor...
Construyendo las aplicaciones del futuro con visual studio 11 y .net framewor...
 
WebLogic Bridge JMS
WebLogic Bridge JMSWebLogic Bridge JMS
WebLogic Bridge JMS
 
Introducción al desarrollo web moderno
Introducción al desarrollo web modernoIntroducción al desarrollo web moderno
Introducción al desarrollo web moderno
 
Oracle-Developer-Day-Colombia_MySQL-Feb27_12
Oracle-Developer-Day-Colombia_MySQL-Feb27_12Oracle-Developer-Day-Colombia_MySQL-Feb27_12
Oracle-Developer-Day-Colombia_MySQL-Feb27_12
 
[ES] Introducción a Java EE 7
[ES] Introducción a Java EE 7[ES] Introducción a Java EE 7
[ES] Introducción a Java EE 7
 
MySQL de 1995 a 5.5
MySQL de 1995 a 5.5MySQL de 1995 a 5.5
MySQL de 1995 a 5.5
 

Desarrollo Componentes J2EE

  • 1. 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
  • 2. Preludio • Plataforma J2EE • Tecnología Enterprise Java Beans • La Triada de EJB – HandsOn 1 – Hola Mundo con EJB, Session Bean Outline
  • 3. • Los aspectos de 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 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
  • 6. Define un mecanismo estándar para las aplicaciones J2EE. • Provee un modelo transaccional, multinivel y distribuido para aplicaciones empresariales. Plataforma J2EE
  • 7. • 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
  • 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 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
  • 12. • 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
  • 13. • 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
  • 14. • Son accedidas por las aplicaciones cliente en la red a través de interfaces. • Interfaz Remota • Interfaz Home • Clase Bean Componentes del EJB
  • 15. • 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
  • 16. • No mantienen estado conversacional • Toda invocacion tiene que ser con parametros. • @Remote • @Local • Cada parametro que se reciba deba ser Serializable Stateless Session Bean
  • 17. • 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
  • 18. • Provee una vista al entorno del contenedor EJB • Se puede obtener información del usuario que esta ejecutando el EJB SessionContext
  • 21. • Consumiéndolo – Desde Web – Desde StandAlone – Desde Otro EJB Hands On 2.
  • 22. • La calculadora sin estado Taller
  • 23. • 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
  • 25. • Carrito de Compras Hands On
  • 26. • Carrito de Compras Web Taller
  • 27. • Soportan el procesamiento asincrono desde un proveedor JMS. • Todos los proveedores de EJB 3.0 deben soportar un servidor JMS. Message Driven Beans
  • 28. • Hola Mundo Asincrono Hands On