La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

ENTERPRISE JAVA BEANS (EJB’s)‏ Sistemas de Operación 3.

Presentaciones similares


Presentación del tema: "ENTERPRISE JAVA BEANS (EJB’s)‏ Sistemas de Operación 3."— Transcripción de la presentación:

1 ENTERPRISE JAVA BEANS (EJB’s)‏ Sistemas de Operación 3

2 Introducción a J2EE Es un estandar. Plataformas comerciales: IBM WebSphere, BEA Weblogic, Oracle9iAS o Sun ONE Es un estandar. Plataformas comerciales: IBM WebSphere, BEA Weblogic, Oracle9iAS o Sun ONE J2EE (Java2 Enterprise Edition) ofrece un conjunto de aplicaciones con especificaciones para diseñar, desarrollar, ensamblar y desplegar aplicaciones de negocio. J2EE (Java2 Enterprise Edition) ofrece un conjunto de aplicaciones con especificaciones para diseñar, desarrollar, ensamblar y desplegar aplicaciones de negocio. Provee una plataforma independiente, basada en componentes, distribuída, debilmente acoplada, confiable y segura en un ambiente de aplicaciones. Provee una plataforma independiente, basada en componentes, distribuída, debilmente acoplada, confiable y segura en un ambiente de aplicaciones.

3 Multitired = Multithread

4 Especificaciones de J2EE Las especificaciones de J2EE define los siguientes componentes: Application clients and applets are components that run on the client. Application clients and applets are components that run on the client. Java Servlet and JavaServer Pages (JSP ) technology components are Web components that run on the server. Java Servlet and JavaServer Pages (JSP ) technology components are Web components that run on the server. Enterprise JavaBeans (EJB ) components are business components that run on the server. Enterprise JavaBeans (EJB ) components are business components that run on the server. Componentes J2EE != Java Class en las especificaciones

5 Antes de seguir… ¿Enterprise JAVA Bean == JAVA Bean? ¿Enterprise JAVA Bean == JAVA Bean? No

6 JAVA Bean Componente utilizado en JAVA que permite agrupar funcionalidades que forman parte de una aplicación. Componente utilizado en JAVA que permite agrupar funcionalidades que forman parte de una aplicación. Un JAVA Bean puede agrupar información personal, datos sobre un pedimento, requerimientos de órdenes, etc. Un JAVA Bean puede agrupar información personal, datos sobre un pedimento, requerimientos de órdenes, etc. Requiere ser integrado con otros componentes para ser funcional. Requiere ser integrado con otros componentes para ser funcional.

7 Enterprise JAVA Bean Agrupa funcionalidades para una aplicación. Agrupa funcionalidades para una aplicación. Es un componente de despliegue, es decir, que existe un ambiente de ejecución (Enterprise Java Bean Container). Es un componente de despliegue, es decir, que existe un ambiente de ejecución (Enterprise Java Bean Container). No requiere ser integrado, ya que puede ser activado mediante el Contenedor de los EJB No requiere ser integrado, ya que puede ser activado mediante el Contenedor de los EJB

8 Tipos de clientes en J2EE Web Client: contenido dinámico y browser Web Client: contenido dinámico y browser –Applets Application Clients Application Clients –JavaBeans Component Arquitecture: no J2EE –Server Communications

9 Componentes del Servidor

10 Servidor: Web Tier

11 Servidor: Business Tier y EIS Tier

12 Java Bean En general, un bean es una clase que obedece ciertas reglas: Un bean tiene que tener un constructor por defecto (sin argumentos) Un bean tiene que tener un constructor por defecto (sin argumentos) Un bean tiene que tener persistencia, es decir, implementar el interface Serializable. Un bean tiene que tener persistencia, es decir, implementar el interface Serializable.interface Un bean tiene que tener introspección. Los IDE reconocen ciertas pautas de diseño, nombres de las funciones miembros o métodos y definiciones de las clases, que permiten a la herramienta de programación mirar dentro del bean y conocer sus propiedades y su conducta. Un bean tiene que tener introspección. Los IDE reconocen ciertas pautas de diseño, nombres de las funciones miembros o métodos y definiciones de las clases, que permiten a la herramienta de programación mirar dentro del bean y conocer sus propiedades y su conducta.

13 Más sobre los EJB´s Un EJB es un conjunto de código que contiene campos y métodos para la implementación de módulos en una lógica de negocio. Un EJB es un conjunto de código que contiene campos y métodos para la implementación de módulos en una lógica de negocio. Puede pensarse en un EJB como un bloque de construcción que puede ser empleado de manera independiente o en conjunto con otros EJB’s para la ejecución de una lógica de negocio en un servidor J2EE. Puede pensarse en un EJB como un bloque de construcción que puede ser empleado de manera independiente o en conjunto con otros EJB’s para la ejecución de una lógica de negocio en un servidor J2EE.

14 J2EE Technology Architecture Server platform JTSJMAPIJNDIJMSJDBCJAXPJAAS Enterprise Java Beans Components Java Server pages Servlets Application clients Web clients IIOP html

15 Elementos que lo componen

16

17 Aplicación con múltiples EJBs WebClient ApplClient EJB1 EJB2 EJB3 EJB4 EJB5 EJB6

18 Enterprise Java Bean(EJB)‏ An enterprise bean is a server-side component that contains the business logic of an application. At runtime, the application clients execute the business logic by invoking the enterprise bean's methods. An enterprise bean is a server-side component that contains the business logic of an application. At runtime, the application clients execute the business logic by invoking the enterprise bean's methods. Main goal of Enterprise Java Bean (EJB) architecture is to free the application developer from having to deal with the system level aspects of an application. This allows the bean developer to focus solely on the logic of the application Main goal of Enterprise Java Bean (EJB) architecture is to free the application developer from having to deal with the system level aspects of an application. This allows the bean developer to focus solely on the logic of the application

19 Roles in EJB Development Bean developer: Develops bean component. Bean developer: Develops bean component. Application assembler: composes EJBs to form applications Application assembler: composes EJBs to form applications Deployer: deploys EJB applications within an operation environment. Deployer: deploys EJB applications within an operation environment. System administrator: Configures and administers the EJB computing and networking infrastructure. System administrator: Configures and administers the EJB computing and networking infrastructure. EJB Container Provider and EJB server provider: Vendors specializing in low level services such as transactions and application mgt. EJB Container Provider and EJB server provider: Vendors specializing in low level services such as transactions and application mgt.

20 ¿Cuándo usarlos? Debe considerarse la opción de emplearlos cuando la aplicación a desarrollarse cumple con alguno de los siguientes requerimientos: Debe considerarse la opción de emplearlos cuando la aplicación a desarrollarse cumple con alguno de los siguientes requerimientos: Si la aplicación debe ser escalable. Si la aplicación debe ser escalable. –Para adaptarse al crecimiento en el número de usuarios podría ser necesario distribuir los componentes de la aplicación en diversas máquinas. Los EJB no sólo pueden ser ejecutados de distintas máquinas sino que su ubicación permanece transparente para los usuarios.

21 ¿Cuándo usarlos? Si debe asegurarse la integridad de datos en transacciones. Si debe asegurarse la integridad de datos en transacciones. –Los EJB soportan las transacciones así como mecanismos que controlan el acceso concurrente a los objetos compartidos. Si la aplicación tendrá una variedad de clientes. Si la aplicación tendrá una variedad de clientes. –Con solo unas cuántas líneas de código, clientes remotos pueden localizar fácilmente los EB. Estos clientes pueden ser pocos, varios o numerosos.

22 ¿Por qué usarlos? Porque simplifican el desarrollo de grandes aplicaciones distribuidas. Porque simplifican el desarrollo de grandes aplicaciones distribuidas. El contenedor de EJB provee servicios a nivel de sistema para los EJB, el bean de desarrollo puede concentrarse en resolver problemas de negocios. El contenedor del EJB es el responsable por los servicios a nivel de sistema tales como manejo de transacciones y seguridad de autorización. El contenedor de EJB provee servicios a nivel de sistema para los EJB, el bean de desarrollo puede concentrarse en resolver problemas de negocios. El contenedor del EJB es el responsable por los servicios a nivel de sistema tales como manejo de transacciones y seguridad de autorización.

23 ¿Por qué usarlos? Los beans contienen las aplicaciones de la lógica de negocios y el desarrollador de interfaz puede concentrarse en la presentación al cliente. El desarrollador no tiene que codificar las rutinas que implementan las reglas de negocio o los accesos a bases de datos. Como resultado, las interfaces (o clientes) pueden ser tan ligeros como sea necesario; beneficio particularmente importante para clientes que ejecutan en dispositivos pequeños.

24 ¿Por qué usarlos? Debido a que son componentes portables, el ensamblador de la aplicación puede construir nuevas aplicaciones partiendo de beans existentes (reuso) las cuales pueden ejecutarse en cualquier servidor de J2EE.

25 Entidades de negocio, Procesos y Reglas Las aplicaciones de EJB agrupan las reglas de negocio en componentes. Las aplicaciones de EJB agrupan las reglas de negocio en componentes. Los componentes usualmente representan una entidad o proceso de negocio. Los componentes usualmente representan una entidad o proceso de negocio. Entidad: es un objeto representando alguna información relevante para la empresa. Posee un “estado” que puede ser o no persistente. Algunos ejemplos son: Cliente, orden, empleado. Entidad: es un objeto representando alguna información relevante para la empresa. Posee un “estado” que puede ser o no persistente. Algunos ejemplos son: Cliente, orden, empleado. Dependencia: es una relación definida entre dos entidades. Dependencia: es una relación definida entre dos entidades.

26 Proceso Es un objeto que típicamente encapsula la interacción de un usuario con las entidades de negocio. Es un objeto que típicamente encapsula la interacción de un usuario con las entidades de negocio. Un proceso usualmente actualiza y cambia los estados de las entidades. Un proceso usualmente actualiza y cambia los estados de las entidades. Un proceso de negocio puede tener su propio estado, el cual puede existir sólo mientras exista el proceso. Cuando se completa el proceso su estado deja de existir. Un proceso de negocio puede tener su propio estado, el cual puede existir sólo mientras exista el proceso. Cuando se completa el proceso su estado deja de existir. El estado de un proceso puede ser transitorio o permanente. El estado de un proceso puede ser transitorio o permanente.

27 Reglas de negocio Las reglas de negocio se definen según los componentes sobre los que aplica: Las reglas que refieren a las entidades deben ser implementadas en el componente que representa a la entidad. Las reglas que refieren a las entidades deben ser implementadas en el componente que representa a la entidad. Las reglas que aplican a los procesos deben ser implementadas en los componentes que representan a los procesos. Las reglas que aplican a los procesos deben ser implementadas en los componentes que representan a los procesos.

28 Middleware Tipos Tipos  Middleware explícito: ofrece servicios pero requiere que los desarrolladores de data objects programen los puntos de acceso a dichos servicios.

29 Middleware Explícito

30 Middleware Tipos (cont.)‏  Middleware implícito: el soporte para estos servicios es intrínseco. Los puntos de acceso son provistos por la especificación de los componentes, de manera que los desarrolladores solo deben cumplir con la especificación de la lógica del proceso de negocio. El middleware implícito genera receptores de peticiones que proveen acceso automático a los servicios de middleware.

31 Middleware Implícito

32 Servicios Implícitos Vs. Explícitos Usualmente los servicios como transacciones, seguridad, drivers de base de datos, etc. se incluían en el código de punto de acceso, obligando a cada programador a entender los detalles de todos los posibles servicios necesarios en una aplicación. Usualmente los servicios como transacciones, seguridad, drivers de base de datos, etc. se incluían en el código de punto de acceso, obligando a cada programador a entender los detalles de todos los posibles servicios necesarios en una aplicación. Ahora podemos decidir qué servicios dejamos llevar a cabo por el contenedor. Ahora podemos decidir qué servicios dejamos llevar a cabo por el contenedor. La declaración de estos servicios se hace a través de un XML deployment descriptor. La declaración de estos servicios se hace a través de un XML deployment descriptor.

33 Tipos de EJB Existen 3 tipos de EJB: Existen 3 tipos de EJB: –Beans de sesión Con estado Con estado Sin estado Sin estado –Beans de entidad –Beans dirigido por mensaje

34 Tipos de EJB Actúa como un “message listener”, procesando los mensajes que recibe de manera asíncrona. Dirigido por Mensaje Representa un objeto de la entidad de negocios que existe en una unidad de almacenaje permanente. Entidad Realiza una tarea para un cliente. Resuelve la lógica de negocio. Sesión PropósitoTipo

35 Beans de sesión Representan a un solo cliente dentro del servidor J2EE. Representan a un solo cliente dentro del servidor J2EE. Para acceder a una aplicación el cliente invoca los métodos del bean. Para acceder a una aplicación el cliente invoca los métodos del bean. El Bean ejecuta el trabajo para su cliente, excluyéndolo de la complejidad al ejecutar las tareas de negocio dentro del servidor. El Bean ejecuta el trabajo para su cliente, excluyéndolo de la complejidad al ejecutar las tareas de negocio dentro del servidor. Es similar a una sesión interactiva. Es similar a una sesión interactiva. No compartido. Sólo puede tener un cliente. No compartido. Sólo puede tener un cliente. No es persistente. No es persistente. Cuando el cliente termina, su bean de sesión finaliza y anula su asociación con el cliente. Cuando el cliente termina, su bean de sesión finaliza y anula su asociación con el cliente.

36 Tipos de beans de sesión Bean de sesión sin estado Bean de sesión sin estado –Las variables de la instancia pueden mantener un estado pero solo mientras dure la invocación. –Soporta múltiples usuarios. –Mayor escalabilidad. –Mejor desempeño.

37 Ciclo de Vida (Sin estado)‏

38 Tipos de beans de sesión Bean de sesión con estado Bean de sesión con estado –Las variables instanciadas representan el estado. –También se le conoce como “Estado Conversacional”. –El estado se mantiene durante toda la sesión y desaparece cuando el cliente se desconecta o finaliza la sesión.

39 Ciclo de Vida (Con estado)‏

40 ¿Cuándo emplearlos? Si tengo un cliente el cual solo tendrá acceso a una instancia del bean. Si tengo un cliente el cual solo tendrá acceso a una instancia del bean. Cuando el estado no sea persistente (sólo existira en un corto periodo de tiempo, algunas horas). Cuando el estado no sea persistente (sólo existira en un corto periodo de tiempo, algunas horas). (Estado) Si el estado representa una interacción entre el bean y un cliente específico (Estado) Si el estado representa una interacción entre el bean y un cliente específico (Estado) Si se requiere mantener la información del cliente a través de la invocación de métodos (Estado) Si se requiere mantener la información del cliente a través de la invocación de métodos (Estado) Si el bean es un intermediario entre el cliente y otros métodos de la aplicación presentándole una vista simplificada (Estado) Si el bean es un intermediario entre el cliente y otros métodos de la aplicación presentándole una vista simplificada

41 ¿Cuándo emplearlos? (Estado) El Bean controla el manejo del flujo de trabajo de varios EJB. (Estado) El Bean controla el manejo del flujo de trabajo de varios EJB. (Sin estado) El estado del bean no tiene datos para un cliente específico. (Sin estado) El estado del bean no tiene datos para un cliente específico. (Sin estado) El bean realiza una tarea genérica para todos los clientes. Por ejemplo, se puede usar un bean sin sesión para enviar un correo que confirme una orden en línea. (Sin estado) El bean realiza una tarea genérica para todos los clientes. Por ejemplo, se puede usar un bean sin sesión para enviar un correo que confirme una orden en línea. (Sin estado) El bean busca en una BD un conjunto de datos de solo-lectura que es frecuentemente usado por los clientes. Tal bean podría, por ejemplo, recuperar las filas de la tabla que representan los productos que están en venta este mes. (Sin estado) El bean busca en una BD un conjunto de datos de solo-lectura que es frecuentemente usado por los clientes. Tal bean podría, por ejemplo, recuperar las filas de la tabla que representan los productos que están en venta este mes.

42 Beans de entidad Representa un objeto de negocios en un mecanismo de almacenaje persistente. Representa un objeto de negocios en un mecanismo de almacenaje persistente. Algunos ejemplos: clientes, órdenes, productos, etc. Algunos ejemplos: clientes, órdenes, productos, etc. Normalmente cada bean tiene una tabla y cada instancia del bean representa una línea en una tabla. Normalmente cada bean tiene una tabla y cada instancia del bean representa una línea en una tabla.

43 Beans de entidad Persistentes (el estado existe más allá del tiempo de vida de la aplicación o del proceso de la aplicación)‏ Persistentes (el estado existe más allá del tiempo de vida de la aplicación o del proceso de la aplicación)‏ Permiten acceso compartido Permiten acceso compartido Contienen claves primarias (identificador)‏ Contienen claves primarias (identificador)‏ Pueden interactuar con otros beans de entidad (p. ej. EstudianteBean con CursoBean). Pueden interactuar con otros beans de entidad (p. ej. EstudianteBean con CursoBean).

44 Ciclo de vida

45 ¿Cuándo usarlos? Cuando se representa una entidad de negocios y no un procedimiento. (p. ej. TarjetaCreditoBean será un bean de entidad mientras que VerificadorTarjetaCredito será un bean de sesión)‏ Cuando se representa una entidad de negocios y no un procedimiento. (p. ej. TarjetaCreditoBean será un bean de entidad mientras que VerificadorTarjetaCredito será un bean de sesión)‏ Cuando el estado deba ser persistente. Si la instancia termina o se apaga el servidor de la aplicación, el estado del bean existe en una BD. Cuando el estado deba ser persistente. Si la instancia termina o se apaga el servidor de la aplicación, el estado del bean existe en una BD.

46 Beans dirigido por mensaje Permite a las aplicaciones de J2EE procesar mensajes de manera asíncrona. Permite a las aplicaciones de J2EE procesar mensajes de manera asíncrona. Actua como un “listener” de mensajes, similar a un “listener” de eventos. Actua como un “listener” de mensajes, similar a un “listener” de eventos. Los mensajes pueden ser enviados desde cualquier componente de J2EE u otra aplicación JMS que no emplee tecnología J2EE. Los mensajes pueden ser enviados desde cualquier componente de J2EE u otra aplicación JMS que no emplee tecnología J2EE. Pueden procesar mensajes JMS. Pueden procesar mensajes JMS.

47 Beans dirigido por mensaje Se ejecutan por un mensaje del cliente. Se ejecutan por un mensaje del cliente. Son invocados de manera asíncrona. Son invocados de manera asíncrona. Tienen un periodo de vida corto. Tienen un periodo de vida corto. No mantiene estado para un cliente específico. No mantiene estado para un cliente específico. Un Bean puede procesar mensajes de multiples clientes. Un Bean puede procesar mensajes de multiples clientes. Pueden ser transaction-aware. Pueden ser transaction-aware.

48 Ciclo de Vida

49 ¿Cuándo usarlos? Cuando no se desea saturar los recursos del sistema por el envío de mensajes de manera síncrona (beans de sesión y de entidad)‏ Cuando no se desea saturar los recursos del sistema por el envío de mensajes de manera síncrona (beans de sesión y de entidad)‏

50 Compilation and Deployment Compilation (building the executables) uses build tool such as Apache Ant. Compilation (building the executables) uses build tool such as Apache Ant.Apache Ant.Apache Ant. The components of the various tiers are packaged:.jar,.war,.ear The components of the various tiers are packaged:.jar,.war,.ear Declarative resources are added. Declarative resources are added. A deploy tool or management tool is used to deploy the packaged units into a J2EE server (container). A deploy tool or management tool is used to deploy the packaged units into a J2EE server (container).

51 Creating a EJB-jar file Local Interfaces Vendor Specific Files Remote Interfaces Deployment Descriptor Enterprise Bean Classes Home interfaces Ejb Jar file Jar file creator

52 Ejemplos de Usos Oferta de Subasta Participante de la subasta Pedido Formulario para el pedido Cuentas Tarjetas de Credito Autoriza la tarjete de Credito Cuentas BancariasCaja del Banco Entity beanSession bean

53 Escogiendo entre Entity o Session Bean Una entidad del negocio se implemente como entity bean Una entidad del negocio se implemente como entity bean Proceso de un negocio como session bean. Proceso de un negocio como session bean. Cualquier proceso que necesite persistencia es representado con un entity bean. Cualquier proceso que necesite persistencia es representado con un entity bean. Cuando un proceso o una entidad no tienen la necesidad de interactuar con otras aplicaciones, estos se implementas como objetos dependientes del bean. Cuando un proceso o una entidad no tienen la necesidad de interactuar con otras aplicaciones, estos se implementas como objetos dependientes del bean.

54 Partes de un EJB EJB class implementan los metodos del negocio y del ciclo de vida. EJB class implementan los metodos del negocio y del ciclo de vida. Client-view API: consiste en las interfaces locales y remotas del EJB. Client-view API: consiste en las interfaces locales y remotas del EJB. –Interfaz local: controla en ciclo de vida: invoca los metodos locales: create, remove, find methods –Interfaz Remota: invoca el metodo del EJB

55 Partes de un EJB Deployment Descriptor: un documento XML para el contenedor; Deployment Descriptor: un documento XML para el contenedor; –Declaraciones del EJB necesaria para modificar el bean al ambiente de operación. –Servicios del contenedor al momento de ejecución como: seguridad,distribución,balanceo de cargas, multihilos, presistencia, recuperación ante fallas, colas de recursos, manejo de estado, etc.

56 Partes de un EJB > AccountHome create()‏ find()‏ remove()‏ > Account debit()‏ credit()‏ getBalance()‏ AccountBean ejbCreate()‏ ejbFind()‏ ejbRemove()‏ debit()‏ credit()‏ getBalance()‏ Deployment Descriptor name = AccountEJB class = AccountBean home = AccountHome remote = Account type = Entity transaction = required …..

57 AccountHome Interface import java.rmi.RemoteException; import javax.ejb.CreateException; import javax.ejb.FinderException; import java.util.Collection; public interface AccountHome extends javax.ejb.EJBHome { //create methods Account create (String lastName, String firstName) throws RemoteException, CreateException, BadNameException; Account create (String lastName) throws RemoteException, CreateException; // find methods Account findByPrimaryKey (AccountKey primaryKey) throws RemoteException, FinderException; Collection findInActive(Date sinceWhen)‏ throws RemoteException, FinderException, BadDateException;

58 Account Interface import java.rmi.RemoteException; public interface Account extends javax.ejb.EJBObject { BigDecimal getBalance() throws RemoteException; void credit(BiGDecimal amount) throws RemoteException; Void debit(BigDecimal amount) throws RemoteException, InSufficientFundsException; }

59 AccountBean class public class AccountBean implements javax.ejb.EntityBean { // life cycle methods from home interface public AccountKey ejbCreate (String latName, String firstName) throws … {…} public AccountKey ejbCreate(String lastName) throws …{…} public AccountKey ejbFindByPrimaryKey(AccountKey primarykey)… {…} Public Collection ejbFindInactive( Data sinecWhen).. {…} // business methods from remote interface public BigDecimal getBalance() {….} public void credit(BigDecimal amt) {…} Public void debit(BigDecimal amt) throws InsufficientFundException {….} // container callbacks from EntityBean container public ejbRemove( ) throws RemoveException{ …} public void setEntityContext(EntityContext ec) {…} public unsetEntityContext(EntityContext ec) {…} public void ejbActivate() {…} public void ejbLoad() {….} public void ejbStore() {….} }

60 Deployment Descriptor … AccountEJB com.wombat.AccopuntHome com.wombat.Account com.wombat.AccountBean Bean com.wombat.AccountKey … AcoountEJB * required …

61

62 Empaquetado Una vez proporcionados los componentes, deben empaquetarse en un archivo EJB JAR (módulo que guarda al EB). Una vez proporcionados los componentes, deben empaquetarse en un archivo EJB JAR (módulo que guarda al EB). Este archivo es portable y puede ser empleado en diversas aplicaciones. Este archivo es portable y puede ser empleado en diversas aplicaciones. Para una aplicación J2EE se ensamblan uno o varios módulos Para una aplicación J2EE se ensamblan uno o varios módulos

63 Step 1: Retrieve Home Object reference using JNDI EJB Container/Server EJB Object Home Object Client code As servlets, applets Remote interface Enterprise Beans JNDI 1: Retrieve HomeObject Reference 2: Return Home Object Ref.

64 Step 2: Retrieve EJBObject using Home Interface and Objects EJB Container/Server EJB Object Home Object Client code As servlets, applets 1:create 2:Create EJBObject 3: Return EJBObject Reference Remote interface Enterprise Beans

65 Step 3: Invoke Business Methods Using Remote Interface and EJB Objects EJB Container/Server EJB Object Client code As servlets, applets Remote interface Enterprise Bean 1: call a method Transaction, Security, Persistence services 2: call middleware API 3: call a bean 4: method returns 5: return result

66 Contents of an Enterprise Bean Interfaces: The remote and home interface for remote access. Local and local home accesses for local access. Interfaces: The remote and home interface for remote access. Local and local home accesses for local access. Enterprise bean class: Implements the methods defined in the above interfaces. Enterprise bean class: Implements the methods defined in the above interfaces. Deployment descriptor: An XML file that specifies information about the bean such as its type, transaction attributes, etc. Deployment descriptor: An XML file that specifies information about the bean such as its type, transaction attributes, etc. Helper classes: non-bean classes needed by the enterprise bean class such as utility and exception classes. Helper classes: non-bean classes needed by the enterprise bean class such as utility and exception classes.

67 Naming Conventions LocalAccountLocal Local interface LocalAccountHomeLocal HomeLocal home interface Account Remote interface AccountHome HomeHome interface AccountBean BeanEnterprise bean class Account EJB JAR display name (DD)‏ Account-ear -earDirectory Name ExampleSyntaxItem

68 Más información… http://java.sun.com/products/ejb/docs.html http://java.sun.com/products/ejb/docs.html http://java.sun.com/products/ejb http://java.sun.com/products/ejb


Descargar ppt "ENTERPRISE JAVA BEANS (EJB’s)‏ Sistemas de Operación 3."

Presentaciones similares


Anuncios Google