J2EE Enterprise JavaBeans J2EE Enterprise JavaBeans Modelos Orientados por Objetos Javier Azabache...

47
J2EE Enterprise JavaBeans J2EE Enterprise JavaBeans Modelos Orientados por Objetos Javier Azabache Jesus De Oliveira Sergio Aguilera Febrero 2004 Universidad Simon Bolivar CI4822 – Sistemas de Operacion III Enero – Marzo 2004

Transcript of J2EE Enterprise JavaBeans J2EE Enterprise JavaBeans Modelos Orientados por Objetos Javier Azabache...

Page 1: J2EE Enterprise JavaBeans J2EE Enterprise JavaBeans Modelos Orientados por Objetos Javier Azabache Jesus De Oliveira Sergio Aguilera Febrero 2004 Universidad.

J2EEEnterprise JavaBeans

J2EEEnterprise JavaBeans

Modelos Orientados por Objetos

Javier Azabache

Jesus De Oliveira

Sergio AguileraFebrero 2004

Universidad Simon Bolivar

CI4822 – Sistemas de Operacion III

Enero – Marzo 2004

Page 2: J2EE Enterprise JavaBeans J2EE Enterprise JavaBeans Modelos Orientados por Objetos Javier Azabache Jesus De Oliveira Sergio Aguilera Febrero 2004 Universidad.

J2EEEnterprise JavaBeans

Contenido Introduccion a la plataforma J2EE

¿Que es J2EE?

Componentes y Capas

Motivacion

Aplicaciones

Enterprise JavaBeans

Concepto y Caracteristicas

Tipos

Comunicacion

Servicios de la plataforma J2EE

Seguridad

Manejo de transacciones

Servicios de Directorio

Ensamblaje y despliegue de aplicaciones

Page 3: J2EE Enterprise JavaBeans J2EE Enterprise JavaBeans Modelos Orientados por Objetos Javier Azabache Jesus De Oliveira Sergio Aguilera Febrero 2004 Universidad.

J2EEEnterprise JavaBeans

Introduccion a J2EE

Page 4: J2EE Enterprise JavaBeans J2EE Enterprise JavaBeans Modelos Orientados por Objetos Javier Azabache Jesus De Oliveira Sergio Aguilera Febrero 2004 Universidad.

J2EEEnterprise JavaBeans

¿Que es J2EE?

La Java 2 Platform, Enterprise Edition (J2EE) es un

conjunto de especificaciones y prácticas coordinadas

que juntas permiten soluciones para el desarrollo,

implantación y administración de aplicaciones de

múltiples capas con un servidor centralizado. Añade

las capacidades necesarias para proveer una

plataforma Java completa, estable, segura y rápida a

un nivel empresarial. Provee valor al reducir

significativamente el costo y complejidad del

desarrollo e implantación de soluciones de múltiples

capas, lo que resulta en servicios que pueden ser

rápidamente implementados y fácilmente

aumentados.

Page 5: J2EE Enterprise JavaBeans J2EE Enterprise JavaBeans Modelos Orientados por Objetos Javier Azabache Jesus De Oliveira Sergio Aguilera Febrero 2004 Universidad.

J2EEEnterprise JavaBeans

Componentes de J2EE

La especificación del J2EE define

las siguientes capas de una

aplicación:

Capa de cliente. Corre en la

máquina cliente.

Capa de web. Corre en el

servidor J2EE.

Capa de negocio. Corre en el

servidor J2EE.

Capa de Sistema de

Información Empresarial (EIS).

Corre en el servidor EIS.

Page 6: J2EE Enterprise JavaBeans J2EE Enterprise JavaBeans Modelos Orientados por Objetos Javier Azabache Jesus De Oliveira Sergio Aguilera Febrero 2004 Universidad.

J2EEEnterprise JavaBeans

Capa de cliente Clientes web. Consisten de dos partes: páginas web dinámicas y un

navegador web. Se les conoce como "clientes livianos" (thin client)

porque no hacen querys a bases de datos, ni ejecutan reglas complejas

de negocio, ni se conectan a aplicaciones heredadas. Dichas

operaciones son manejadas por el servidor J2EE.

Applets. ES una pequeña aplicación cliente escrita en Java que es

ejecutada por la máquina virtual de Java instalada en el navegador web.

Clientes de aplicación. Son aplicaciones que corren en la máquina

cliente y permiten a los usuarios manejar tareas que requieren una

interfaz más rica que la que es otorgada por html o xml. Generalmente

tienen una interfaz gráfica (GUI) creada usando Swing o Abstract

Window Toolkit (AWT). También es posible usar un intérprete de

comandos.

Page 7: J2EE Enterprise JavaBeans J2EE Enterprise JavaBeans Modelos Orientados por Objetos Javier Azabache Jesus De Oliveira Sergio Aguilera Febrero 2004 Universidad.

J2EEEnterprise JavaBeans

Capa de cliente (cont.)

JavaBeans. Los clientes pueden tener componentes

basados en JavaBeans para el manejo de flujo de

datos entre un cliente de aplicación o applet y los

componentes que corren en el servidor J2EE o entre

componentes del servidor y una base de datos.

Dichos JavaBeans no se consideran componentes del

J2EE.

Comunicaciones con el Servidor J2EE. El cliente se

comunica con el componente de negocio ya sea

directamente o a través de páginas JSP o servlets que

corren en el componente web.

Page 8: J2EE Enterprise JavaBeans J2EE Enterprise JavaBeans Modelos Orientados por Objetos Javier Azabache Jesus De Oliveira Sergio Aguilera Febrero 2004 Universidad.

J2EEEnterprise JavaBeans

Capa de cliente (cont.)

Page 9: J2EE Enterprise JavaBeans J2EE Enterprise JavaBeans Modelos Orientados por Objetos Javier Azabache Jesus De Oliveira Sergio Aguilera Febrero 2004 Universidad.

J2EEEnterprise JavaBeans

Capa Web

Servlets: Son clases del lenguaje Java que procesan

solicitudes y construyen respuestas de forma

dinámica.

Páginas JSP: Son documentos de texto que son

ejecutados como servlets pero permiten un

acercamiento más natural a la creación de contenido

estático.

Applets y Páginas html estáticas. Son usadas por los

componentes web pero no se consideran

componentes de J2EE. Lo mismo ocurre con clases

utilitarias y JavaBeans del lado del servidor.

Page 10: J2EE Enterprise JavaBeans J2EE Enterprise JavaBeans Modelos Orientados por Objetos Javier Azabache Jesus De Oliveira Sergio Aguilera Febrero 2004 Universidad.

J2EEEnterprise JavaBeans

Capa Web (cont.)

Page 11: J2EE Enterprise JavaBeans J2EE Enterprise JavaBeans Modelos Orientados por Objetos Javier Azabache Jesus De Oliveira Sergio Aguilera Febrero 2004 Universidad.

J2EEEnterprise JavaBeans

Capa del Negocio

Es toda la parte lógica que resuelve o satisface las necesidades

de un dominio de negocio particular como la banca, finanzas,

ventas, etc. Dicha lógica es manejada por Enterpise JavaBeans.

Hay tres tipos de enterprise beans: beans de sesión, beans de

entidad y beans manejados por mensajes.

Page 12: J2EE Enterprise JavaBeans J2EE Enterprise JavaBeans Modelos Orientados por Objetos Javier Azabache Jesus De Oliveira Sergio Aguilera Febrero 2004 Universidad.

J2EEEnterprise JavaBeans

Capa del Negocio

Maneja el software del sistema de información empresarial

Maneja sistemas de infraestructura empresariales como

planificación de recursos empresariales (ERP), procesamiento de

transacciones del mainframe, sistemas de bases de datos, y otros

sistemas de información heredados.

Page 13: J2EE Enterprise JavaBeans J2EE Enterprise JavaBeans Modelos Orientados por Objetos Javier Azabache Jesus De Oliveira Sergio Aguilera Febrero 2004 Universidad.

J2EEEnterprise JavaBeans

Motivacion

Reutilización: Liberar al programador de “reinventar la rueda”

en cada aplicación. El programador solo se dedica a

implementar la logica del negocio.

Escalabilidad: Agregar y distribuir componentes que conforman

una misma aplicación, a medida que sea necesario. Reutilizar

componentes ya escritos, desplegados en servidores alrededor

del mundo.Aplicaciones

Software empresarial de gran escala, de mision critica, con altos

requerimientos de seguridad y confiabilidad.

Page 14: J2EE Enterprise JavaBeans J2EE Enterprise JavaBeans Modelos Orientados por Objetos Javier Azabache Jesus De Oliveira Sergio Aguilera Febrero 2004 Universidad.

J2EEEnterprise JavaBeans

Enterprise JavaBeans

Page 15: J2EE Enterprise JavaBeans J2EE Enterprise JavaBeans Modelos Orientados por Objetos Javier Azabache Jesus De Oliveira Sergio Aguilera Febrero 2004 Universidad.

J2EEEnterprise JavaBeans

Concepto

Un EJB (Enterprise JavaBean) es un componente de la plataforma J2EE.

Pieza de software autocontenida que es parte de una aplicación orientada

por transacciones

Ejecuta dentro de un Container, el Servidor de Aplicaciones Empresarial

Proveen metodos que implementan ¨plomeria¨ de manera automatica

(persistencia, transacciones, seguridad, comunicación, etc.)

Representan objetos del negocio, de la aplicación a la que pertenecen

Pueden estar distribuidos

Se encuentran en la capa del negocio, en el modelo por capas de J2EE

Page 16: J2EE Enterprise JavaBeans J2EE Enterprise JavaBeans Modelos Orientados por Objetos Javier Azabache Jesus De Oliveira Sergio Aguilera Febrero 2004 Universidad.

J2EEEnterprise JavaBeans

Caracteristicas

Cada EJB es una clase Java normal, que implementa dos

interfaces: Interfaz home e interfaz remote.

La interfaz home extiende de javax.ejb.EJBHome

Esta interfaz se utiliza para manejar el ciclo de vida del bean

dentro del container (creacion, destruccion, busqueda, etc.)

A traves de esta interfaz, el container puede referirse a todos

sus beans como objetos del tipo EJBHome

La interfaz remote extiende de javax.ejb.EJBObject

La interfaz remote expone los metodos del negocio del bean a

sus clientes.

Permite la interaccion remota de los clientes con el bean.

Page 17: J2EE Enterprise JavaBeans J2EE Enterprise JavaBeans Modelos Orientados por Objetos Javier Azabache Jesus De Oliveira Sergio Aguilera Febrero 2004 Universidad.

J2EEEnterprise JavaBeans

Caracteristicas (cont.)

Page 18: J2EE Enterprise JavaBeans J2EE Enterprise JavaBeans Modelos Orientados por Objetos Javier Azabache Jesus De Oliveira Sergio Aguilera Febrero 2004 Universidad.

J2EEEnterprise JavaBeans

Tipos de EJBs

Existen 3 tipos de EJBs:

Session Beans: Representan a los clientes dentro del servidor

J2EE. Se encargan de realizar el trabajo por los clientes externos,

liberandolos de la complejidad de las reglas del negocio.

Entity Beans: Representan objetos persistentes de la capa del

negocio de la aplicación. Por ejemplo: Cliente, Persona, Factura,

Producto, Reservacion, etc.

Message-driven Beans: Parecidos a los Session Beans, pero son

manejados por mensajes. Reciben mensajes desde los clientes, el

Servidor de Aplicaciones, otros beans y a traves de JMS, y los

procesa de manera asincrona.

Page 19: J2EE Enterprise JavaBeans J2EE Enterprise JavaBeans Modelos Orientados por Objetos Javier Azabache Jesus De Oliveira Sergio Aguilera Febrero 2004 Universidad.

J2EEEnterprise JavaBeans

Tipos de EJBs – Session Beans

Son los representantes de los clientes dentro del servidor de

aplicaciones. Los clientes solicitan metodos a los session beans para

realizar transacciones especificas del negocio, y los session beans

se encargan del ¨trabajo sucio¨ internamente.

Actuan como una fachada, liberando al cliente del conocimiento de

toda la capa del negocio de la aplicación.

Existen 2 tipos:

Con estado: Estan acoplados a un cliente en especifico. Mantienen el

valor de las variables de la instancia entre diferentes llamadas.

Sin estado: Pueden ser compartidos entre varios clientes. Son

llamados, realizan su trabajo, devuelven el resultado y se olvidan del

cliente.

Page 20: J2EE Enterprise JavaBeans J2EE Enterprise JavaBeans Modelos Orientados por Objetos Javier Azabache Jesus De Oliveira Sergio Aguilera Febrero 2004 Universidad.

J2EEEnterprise JavaBeans

Tipos de EJBs – Session Beans (cont.)

Sin estado: Con estado:

Page 21: J2EE Enterprise JavaBeans J2EE Enterprise JavaBeans Modelos Orientados por Objetos Javier Azabache Jesus De Oliveira Sergio Aguilera Febrero 2004 Universidad.

J2EEEnterprise JavaBeans

Tipos de EJBs – Entity Beans

Representan objetos persistentes de la capa de aplicación, que por lo

general estan almacenados en una base de datos. La informacion

que manejan los entity beans es mantenida aun cuando el entity

bean sea destruido

Los cambios que hagan los clientes u otros beans a las propiedades

de los entity beans se ven reflejados persistentemente.

Existen 2 tipos:

Container Managed Persistence: El contenedor se encarga

automaticamente del manejo de la persistencia. El contenedor decide

como almacenar en el mecanismo persistente la informacion del bean.

Bean Managed Persistence: El propio bean se encarga de especificar

como debe ser almacenado persistentemente.

Page 22: J2EE Enterprise JavaBeans J2EE Enterprise JavaBeans Modelos Orientados por Objetos Javier Azabache Jesus De Oliveira Sergio Aguilera Febrero 2004 Universidad.

J2EEEnterprise JavaBeans

Tipos de EJBs – Entity Beans (cont.)

Page 23: J2EE Enterprise JavaBeans J2EE Enterprise JavaBeans Modelos Orientados por Objetos Javier Azabache Jesus De Oliveira Sergio Aguilera Febrero 2004 Universidad.

J2EEEnterprise JavaBeans

Tipos de EJBs – Message-driven Beans

Son receptores de mensajes en un entorno de Java

Messaging Servicie

Parecidos a los session beans, representan ¨procesos¨ u

operaciones

Son asincronos, reciben mensajes y los procesan poco a

poco, no dejan esperando al cliente (emisor) por un

valor de retorno

Reciben mensajes de otros EJBs, de los clientes y de

cualquier otra aplicación que utilice JMS.

Page 24: J2EE Enterprise JavaBeans J2EE Enterprise JavaBeans Modelos Orientados por Objetos Javier Azabache Jesus De Oliveira Sergio Aguilera Febrero 2004 Universidad.

J2EEEnterprise JavaBeans

Tipos de EJBs – Message-driven Beans (cont.)

Page 25: J2EE Enterprise JavaBeans J2EE Enterprise JavaBeans Modelos Orientados por Objetos Javier Azabache Jesus De Oliveira Sergio Aguilera Febrero 2004 Universidad.

J2EEEnterprise JavaBeans

Servicios de la Plataforma J2EE

Page 26: J2EE Enterprise JavaBeans J2EE Enterprise JavaBeans Modelos Orientados por Objetos Javier Azabache Jesus De Oliveira Sergio Aguilera Febrero 2004 Universidad.

J2EEEnterprise JavaBeans

¿Qué tipo de servicios provee el Contenedor J2EE?

Seguridad

Transaccionalidad

Servicio de Nombres

Conectividad Remota

Servicios de la Plataforma

Page 27: J2EE Enterprise JavaBeans J2EE Enterprise JavaBeans Modelos Orientados por Objetos Javier Azabache Jesus De Oliveira Sergio Aguilera Febrero 2004 Universidad.

J2EEEnterprise JavaBeans

Seguridad

Objetivos de la seguridad en J2EE

Portabilidad

Transparencia

Aislamiento

Extensibilidad

Flexibilidad

Independencia

Testing de Compatibilidad

Interoperabilidad segura

Page 28: J2EE Enterprise JavaBeans J2EE Enterprise JavaBeans Modelos Orientados por Objetos Javier Azabache Jesus De Oliveira Sergio Aguilera Febrero 2004 Universidad.

J2EEEnterprise JavaBeans

Seguridad – Tipos de seguridad

Declarativa: Especificación de la estructura de seguridad y de

los mecanismos en un descriptor de despliegue

Programática: Decisiones de seguridad tomadas por

aplicaciones "security-aware". Es útil cuando la seguridad

declarativa no es suficiente para especificar el modelo de

seguridad de la aplicación.

o isCallerInRole(String name)

o isUserinRole(String name)

Page 29: J2EE Enterprise JavaBeans J2EE Enterprise JavaBeans Modelos Orientados por Objetos Javier Azabache Jesus De Oliveira Sergio Aguilera Febrero 2004 Universidad.

J2EEEnterprise JavaBeans

Seguridad – Roles

Roles de seguridad: categorías de usuarios relevantes a una

aplicación con acceso a determinados EJB.

Son creados sobre el archivo JAR o WAR del bean en

particular dentro de la aplicación

Cuando se despliega una aplicación se mapean los roles a

identidades de seguridad (principales)

Grupos J2EE: grupos de usuarios con mayor alcance que los

roles. Designado para el servidor J2EE entero y no sólo para

una aplicación en el mismo.

Page 30: J2EE Enterprise JavaBeans J2EE Enterprise JavaBeans Modelos Orientados por Objetos Javier Azabache Jesus De Oliveira Sergio Aguilera Febrero 2004 Universidad.

J2EEEnterprise JavaBeans

Seguridad – Capas

Capa Web: Protección de recursos Web especificando

Restricciones de seguridad.

Restricciones de seguridad Colección Recursos Web

lista de patrones URL y metodos HTTP que describen un

conjunto de recursos a proteger

Mecanismos de autenticación del contenedor Web:

HTTP basic authentication

Form-based authentication

Client-certificate authentication

Uso de SSL

Page 31: J2EE Enterprise JavaBeans J2EE Enterprise JavaBeans Modelos Orientados por Objetos Javier Azabache Jesus De Oliveira Sergio Aguilera Febrero 2004 Universidad.

J2EEEnterprise JavaBeans

Seguridad – Capas

Capa Web

Uso de seguridad programática. Los servlets usan los

applets para tomar decisiones en base a los usuarios y sus

roles. Métodos de la interfaz HttpServletRequest

o getRemoteUser

o isUserInRole

o getUserPrincipal

java.security.Principal

Recursos sin protección

Page 32: J2EE Enterprise JavaBeans J2EE Enterprise JavaBeans Modelos Orientados por Objetos Javier Azabache Jesus De Oliveira Sergio Aguilera Febrero 2004 Universidad.

J2EEEnterprise JavaBeans

Seguridad – Capas

Capa EJB: Protección de recursos de los EJB. (métodos)

Seguridad declarativa: especificación de permisos de

método. (roles que pueden invocarlo)

Seguridad Programática: métodos de la interfaz

EJBContext:

o isCallerInRole

o getCallerPrincipal

java.security.Principal

Uso del rol “ANYONE” por defecto. Mapeo automático del

usuario “guest”

Page 33: J2EE Enterprise JavaBeans J2EE Enterprise JavaBeans Modelos Orientados por Objetos Javier Azabache Jesus De Oliveira Sergio Aguilera Febrero 2004 Universidad.

J2EEEnterprise JavaBeans

Seguridad – Capas

Capa Aplicación: Similar a Web y EJB.

Los clientes pueden usar JAAS (Java Authentication and

Authorization Service) framework standard PAM

(Pluggable Authenticaction Module)

Uso de la interfaz

javax.security.auth.callback.CallbackHandler

Page 34: J2EE Enterprise JavaBeans J2EE Enterprise JavaBeans Modelos Orientados por Objetos Javier Azabache Jesus De Oliveira Sergio Aguilera Febrero 2004 Universidad.

J2EEEnterprise JavaBeans

Seguridad – Propagación de identidad

Se propaga al momento de despliegue

No hay forma de autenticar una identidad ya propagada

Page 35: J2EE Enterprise JavaBeans J2EE Enterprise JavaBeans Modelos Orientados por Objetos Javier Azabache Jesus De Oliveira Sergio Aguilera Febrero 2004 Universidad.

J2EEEnterprise JavaBeans

Manejo de transacciones

Transacciones: Conjunto de operaciones asociadas bajo un

orden y que cumplen las propiedades ACID

Tipos:

Transacciones manejadas por el contenedor

Transacciones manejadas por el componente (Bean)

Page 36: J2EE Enterprise JavaBeans J2EE Enterprise JavaBeans Modelos Orientados por Objetos Javier Azabache Jesus De Oliveira Sergio Aguilera Febrero 2004 Universidad.

J2EEEnterprise JavaBeans

Transacciones manejadas por el Contenedor

El contenedor establece los límites de las transacciones.

Simplifica el código no incluye declaraciones de inicio o final

de la transacción.

Típicamente el contenedor inicia una transacción

inmediatamente antes de iniciarse un método de un EJB y la

termina justo antes de que éste finalice.

Solamente se asocia una transacción por método. No se

permiten transacciones múltiples o anidadas

No todos los métodos requieren ser asociados a una

transacción.

Page 37: J2EE Enterprise JavaBeans J2EE Enterprise JavaBeans Modelos Orientados por Objetos Javier Azabache Jesus De Oliveira Sergio Aguilera Febrero 2004 Universidad.

J2EEEnterprise JavaBeans

Transacciones manejadas por el Contenedor

Atributos de transacción: Determinan el alcance de una

transacción. Especificados en el descriptor de despliegue.

Page 38: J2EE Enterprise JavaBeans J2EE Enterprise JavaBeans Modelos Orientados por Objetos Javier Azabache Jesus De Oliveira Sergio Aguilera Febrero 2004 Universidad.

J2EEEnterprise JavaBeans

Transacciones manejadas por el Contenedor

Atributos de transacción:

Required method-B se ejecuta dentro de la misma transacción del

cliente o se inicia una nueva en caso de no existir.

RequiresNew se suspende la transacción del cliente y se inicia

una nueva para method-B. Al terminar, se reinicia la ejecución del

cliente. Si el cliente no tiene transaccion es igual al atributo anteror.

Mandatory similar a required pero si el cliente no tiene

transacción, el contenedor lanza una

TransactionRequiredException.

Page 39: J2EE Enterprise JavaBeans J2EE Enterprise JavaBeans Modelos Orientados por Objetos Javier Azabache Jesus De Oliveira Sergio Aguilera Febrero 2004 Universidad.

J2EEEnterprise JavaBeans

Transacciones manejadas por el Contenedor

Atributos de transacción:

NotSupported si el cliente posee una transaccion se suspende y

se ejecuta method-B sin iniciar otra. Al terminar se reanuda.

Supports si el cliente tiene una transacción, method-B se ejecuta

dentro de ella. Si no, no se inicia ninguna nueva.

Never si el cliente no tiene una transacción, se ejecuta method-B

sin iniciar una nueva. En caso contrario, el contenedor lanza una

RemoteException.

Page 40: J2EE Enterprise JavaBeans J2EE Enterprise JavaBeans Modelos Orientados por Objetos Javier Azabache Jesus De Oliveira Sergio Aguilera Febrero 2004 Universidad.

J2EEEnterprise JavaBeans

Transacciones manejadas por el Contenedor Roll back

Excepción del sistema

Invocación de setRollBackOnly (EJBContext)

Sincronización de variables: Interfaz SessionSynchronization

afterBegin

beforeCompletion

afterCompletion

Métodos no permitidos: commit, setAutoCommit y rollback

(java.sql.connection); getUserTransaction (EJBContext)

y cualquier método de Javax.transacctionUserTransaction

Page 41: J2EE Enterprise JavaBeans J2EE Enterprise JavaBeans Modelos Orientados por Objetos Javier Azabache Jesus De Oliveira Sergio Aguilera Febrero 2004 Universidad.

J2EEEnterprise JavaBeans

Transacciones manejadas por el Componente

Cada componente establece los límites de las transacciones.

No incluye las transacciones de los entity-beans

No se limita el numero de transacciones asociadas a un método

Tipos de transacciones:

JDBC

JTA

Page 42: J2EE Enterprise JavaBeans J2EE Enterprise JavaBeans Modelos Orientados por Objetos Javier Azabache Jesus De Oliveira Sergio Aguilera Febrero 2004 Universidad.

J2EEEnterprise JavaBeans

Transacciones manejadas por el Componente

Transacciones JDBC: Son controladas directamente por el

manejador de transacciones del DBMS. Se usan los métodos

commit y rollback. El comienzo de nuevas transacciones es

implícito.

Transacciones JTA: Java Transaction API. Permite demarcar

transacciones independientes de la implementación de

manejador de transacciones. Llama a métodos del JTS (Java

Transaction Servicie). Son controladas por el manejador de

transacciones de J2EE

Los beans sin estado deben hacer commit antes de retornar.

Métodos no permitidos: set y getRollbackOnly

Page 43: J2EE Enterprise JavaBeans J2EE Enterprise JavaBeans Modelos Orientados por Objetos Javier Azabache Jesus De Oliveira Sergio Aguilera Febrero 2004 Universidad.

J2EEEnterprise JavaBeans

Manejo de transacciones

Timeouts: El intervalo de timeout de las transacciones

manejadas por el contenedor se puede controlar con

transaction.timeout property en el archivo

default.properties.

Nivel de aislamiento: grado en el cual la data que se esta

cargando es visible a otras aplicaciones.

Web: Se puede demarcar transacciones sobre recursos web

con las interfaces java.sql.Connection o

javax.transaction.UserTransaction

Page 44: J2EE Enterprise JavaBeans J2EE Enterprise JavaBeans Modelos Orientados por Objetos Javier Azabache Jesus De Oliveira Sergio Aguilera Febrero 2004 Universidad.

J2EEEnterprise JavaBeans

Manejo de transacciones

Actualización de múltiples bases de datos: El manejador de

transacciones J2EE controla todas las transacciones de EJB

menos las de tipo JDBC.

Page 45: J2EE Enterprise JavaBeans J2EE Enterprise JavaBeans Modelos Orientados por Objetos Javier Azabache Jesus De Oliveira Sergio Aguilera Febrero 2004 Universidad.

J2EEEnterprise JavaBeans

Servicio de directorio JNDI (Java Naming Directory Interface)

API a través del cual los componentes J2EE encuentran los objetos, invocando el método lookup

Extensión de la plataforma Java que provee una interfaz unificada a los múltiples servicios de nombre y directorio.

Page 46: J2EE Enterprise JavaBeans J2EE Enterprise JavaBeans Modelos Orientados por Objetos Javier Azabache Jesus De Oliveira Sergio Aguilera Febrero 2004 Universidad.

J2EEEnterprise JavaBeans

Servicio de directorio

JNDI : (Java Naming ana Directory Interface)

Un nombre JNDI está atado a su objeto a través del servicio de

directorios y naming del servidor J2EE.

Ej: base de datos Coromoto jdbc/Coromoto

Acceso de un componente J2EE a un recurso fábrica de conexiones

(devuelve objetos java.sql.Connection )

Una referencia a recurso es un elemento de un descriptor de despliegue

que identifica el nombre en código del recurso. Este a su vez referencia a

una fábrica de conexiones para el recurso.

Page 47: J2EE Enterprise JavaBeans J2EE Enterprise JavaBeans Modelos Orientados por Objetos Javier Azabache Jesus De Oliveira Sergio Aguilera Febrero 2004 Universidad.

J2EEEnterprise JavaBeans

Servicio de directorio

Contexto de naming conjunto de ataduras nombre-a-objeto

Objeto context métodos para atar nombres a objetos, desatarlos,

renombrar objetos y listar ataduras.

Subcontextos estructura jerárquica