Download SEMINARIO DE PROGRAMACION WEB (TECNOLOGIA JAVA)

Document related concepts
no text concepts found
Transcript
J2EE
Enterprise
JavaBeans
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
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.
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
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
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
Arquitectura Web en Aplicaciones
Empresariales Java/J2EE
www.dflanvin.com/docencia/arquitectura
Entity EJBs

Dos tipos:




BMP (Bean Managed Persistence)
 Se delega en el desarrollador las tareas de
persistir, buscar y recuperar las entidades.
CPM (Container Managed Persistence)
 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.
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
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.
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/jbossj2
ee.pdf
Otros muy conocidos y muy usados
comercialmente: Bea WebLogic, IBM
Websphere o Oracle9i
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)
Arquitectura Web en Aplicaciones
Empresariales Java/J2EE
www.dflanvin.com/docencia/arquitectura