Download SEMINARIO DE PROGRAMACION WEB (TECNOLOGIA JAVA)

Document related concepts
no text concepts found
Transcript
J2EE
Enterprise JavaBeans
Daniel Fernández Lanvin
Arquitectura Web en Aplicaciones
Empresariales Java/J2EE
www.dflanvin.com/docencia/arquitectura
EJBs: Introducción


Tecnología por excelencia para el desarrollo de componentes en la
parte servidora con la plataforma J2EE
Deben de conformar a la especificación de J2EE y sólo se pueden
ejecutar en un contenedor de EJBs


Última especificación EJB 2.1 disponible en:
http://java.sun.com/products/ejb/docs.html
Los contenedores de EJBs son lo que hacen a esta tecnología tan
atractiva, ya que ofrecen soporte para:



Transacciones
Seguridad
Persistencia
Daniel Fernández Lanvin
Arquitectura Web en Aplicaciones
Empresariales Java/J2EE
www.dflanvin.com/docencia/arquitectura
Beneficios de EJBs

Aplicaciones basadas en EJBs son difíciles de desarrollar (tecnología
difícil de asimilar), sin embargo:




Aplicaciones basadas en EJBs nos permiten concentrarnos en la lógica de
negocio, sin preocuparnos de transacciones y connection pooling provista
por contenedor
Los EJBs son componentes  REUTILIZACIÓN
Clara separación entre desarrollo, explotación y administración de una
aplicación EJB
El contenedor de EJBs gestiona transacciones, detalles de manejo de
estado, multi-threading, connection pooling, seguridad y otros detalles de
bajo nivel que el desarrollador no necesita conocer.
Daniel Fernández Lanvin
Arquitectura Web en Aplicaciones
Empresariales Java/J2EE
www.dflanvin.com/docencia/arquitectura
Puesto de EJB container en una aplicación de
empresa
Web
Container
Browser
Web
Application
EJB
Container
Enterprise
Bean
Database
Daniel Fernández Lanvin
Arquitectura Web en Aplicaciones
Empresariales Java/J2EE
www.dflanvin.com/docencia/arquitectura
La gran pregunta:
¿Cuando usar EJBs?



No siempre, para simples aplicaciones web con
servlets y JSPs sobra.
Son una posible solución para alta disponibilidad y
escalabilidad.
Cuando el sistema debe manejar transacciones
distribuidas
Daniel Fernández Lanvin
Arquitectura Web en Aplicaciones
Empresariales Java/J2EE
www.dflanvin.com/docencia/arquitectura
Categorías de EJBs

3 tipos de Enterprise JavaBeans:



Entity Beans: representan entidades de negocio y proveen acceso a
datos a través de métodos. Se basan en la idea del mapeo
objeto/relacional
Session Beans: pensados para modelar procesos de negocio que
son accedidos de manera síncrona
Message-driven Beans: pensados para modelar procesos de
negocio que son accedidos de manera asíncrona, permiten el uso
de JMS desde EJBs
Daniel Fernández Lanvin
Arquitectura Web en Aplicaciones
Empresariales Java/J2EE
www.dflanvin.com/docencia/arquitectura
Entity EJBs

Dos tipos:

BMP (Bean Managed Persistence)


CPM (Container Managed Persistence)



Se delega en el desarrollador las tareas de persistir, buscar y recuperar
las entidades.
La persistencia la gestiona el contenedor de forma que el desarrollador
no se preocupa de las sentencias SQL de inserción, recuperación, etc.
Un Entity EJB representa en cada momento a una entidad en
base de datos. Muy académicos
Presentan problemas de rendimiento.
Daniel Fernández Lanvin
Arquitectura Web en Aplicaciones
Empresariales Java/J2EE
www.dflanvin.com/docencia/arquitectura
Session EJBs

Dos tipos:

Stateful (Con estado)


El contenedor garantiza el mantenimiento del estado del
componente entre distintas invocaciones (se serializan y
deserializan)
Stateless (Sin estado)

El contenedor de EJBs no garantiza que un mismo EJB guarde
su estado entre dos invocaciones del mismo cliente. Son
“pooleables” y más ligeros que los Stateful
Daniel Fernández Lanvin
Arquitectura Web en Aplicaciones
Empresariales Java/J2EE
www.dflanvin.com/docencia/arquitectura
Message Driven Beans




Incorporados en la especificación 2.0.
Pensados para mensajería asíncrona.
Funcionan sobre JMS (manejo de colas de mensajes,
publish & subscribe/p2p, etc.)
Interesantes para integración de sistemas.
Daniel Fernández Lanvin
Arquitectura Web en Aplicaciones
Empresariales Java/J2EE
www.dflanvin.com/docencia/arquitectura
Contenedores de EJBs

JBoss: http://www.jboss.org




Contenedor más popular en el mundo y open source
Download: http://prdownloads.sourceforge.net/jboss/jboss3.2.3.zip?download
Documentación: http://www.jboss.org/modules/html/docs/jbossj2ee.pdf
Otros muy conocidos y muy usados comercialmente: Bea WebLogic,
IBM Websphere o Oracle9i
Daniel Fernández Lanvin
Arquitectura Web en Aplicaciones
Empresariales Java/J2EE
www.dflanvin.com/docencia/arquitectura
Referencias
•
•
•
•
www.javasoft.com
www.theserverside.com
Transparencias de
Diego López de Ipiña:
http://paginaspersonales.deusto.es/dipina
Java Server Programming J2EE Edition (Wrox)
Daniel Fernández Lanvin
Arquitectura Web en Aplicaciones
Empresariales Java/J2EE
www.dflanvin.com/docencia/arquitectura