Menú Curso Java EJB's : BMP "Bean Managed Persistence"

Espacio (Anterior) Entity EJB's Espacio EAR's y "Deployment Descriptors" (Siguiente) Espacio

Definiciones en Bases de Datos.

El primer paso antes de diseñar un "Entity EJB" es conocer la información con que se va a interactuar en la Base de Datos, a continuación se muestra la tabla ( terminología SQL/Relacional ) que será utilizada con el "Entity EJB" diseñado en esta sección.

Cuenta Bancaria
Número Nombre Apellido Saldo
767656 Juan Araiza $39,654
545789 Alexia Veytia $57,434
965789 Hernan Espinoza $9,443

La tabla anterior contiene información acerca de cuentas bancarias, dicha tabla contiene cuatro columnas las cuales definen los respectivos datos acerca de "x" cuenta; la llave primaria ("primary key") para esta tabla será aquella información de la columna número; en el mundo relacional esta llave primaria es aquella que permite ubicar información inequívocamente en una tabla, y para una cuenta bancaria su número es un dato ideal.

La tabla anterior esta idealizada desde luego, en sistemas reales esta información puede residir en 2, 5 o más tablas, sin embargo, para este ejemplo una tabla idónea de información reduce la complejidad del "Entity EJB".

Creación de Interfases ("Home Interface" y "Remote Interface").

La creación de interfases es el primer paso después de haber realizado el respectivo análisis en UML ("Universal Markup Language") ; en ciertos diseños se opta por definir ciertas clases auxiliares para ser utilizadas con las interfases, estas clases por lo general son empleadas al generarse errores("Exceptions") con la intención de ofrecer mayor expresividad a posibles errores generados; el "Entity EJB" de esta sección utiliza la clase auxiliar SaldoInsuficiente para indicar esta excepción ("error").

Creación del EJB ("CuentaBancaria").

La estructura del "Entity EJB" en sí (como otro EJB) contiene la implementación de los métodos definidos en las interfases("Home" y "Remote") de éste, sin embargo, debido al comportamiento de un "Entity EJB" se deben implementar varias funciones que no son empleadas en Session Beans.

  • ejbLoad : Es un método utilizado para extraer información de la Base de Datos y utilizarla en el EJB, siempre es invocado al generar el EJB así como antes de iniciar algún método que manipule información crítica.

  • ejbStore : Este método es utilizado para guardar información del EJB en la Base de Datos, su principal uso es sincronizar información manipulada en el EJB para que sea reflejada en la Base de Datos.

  • find* : Debido al funcionamiento de "Entity EJB's" es posible que éstos -- EJB's -- sean reutilizados y es a través de uno o varios métodos de búsqueda que se realiza esta operación.

  • ejbPostCreate : Es un método empleado en "Entity EJB's" que es ejecutado inmediatamente después de ser creado el EJB. Generalmente no contiene ningún tipo de lógica, sin embargo, es necesario declararlo debido a que forma parte de un "Entity Bean".

  • setEntityContext y unsetEntityContext: Estos dos métodos aunque no exclusivos de un "Entity EJB" presentan un claro beneficio dentro de estos. Mediante lo que es denominado contexto en el mundo Java, es posible compartir varios recursos comunes entre diversas instancias de EJB's, el uso de contextos será descrito en la codificació de la Clase EJB.

Deployment Descriptor del EJB.

El Deployment Descriptor de un EJB es la última pieza necesaria para completar el EJB; como fue mencionado en la sección de "Session EJB's" este archivo XML describe diversos parámetros utilizados por el EJB; en el caso de Entity EJB's éste resulta sumamente extenso y aunque codificable manualmente típicamente se genera automáticamente por una herramienta proporcionada con el Application Server/"EJB Container" o bien un "IDE"(Integrated Development Environment).

Creación del Cliente.

Una vez que el EJB se encuentre activado en el "EJB Container" es necesario crear un Cliente para que éste interactúe con él, este cliente puede ser un JSP/Servlet o un simple programa en Java, a continuación se diseñan tres clientes para interactuar con el EJB.

Terminos Legales de Contenido ©2000-2011 Osmosis Latina

Diseñado bajo estándares : XHTML   CSS  

webmaster@osmosislatina.com