Un bean de empresa (EJB) es un conjunto de clases JavaTM e interfaces que implementan la especificación Enterprise JavaBeansTM (EJB). La especificación EJB es una parte de la especificación JavaTM 2 Platform, Enterprise Edition (J2EE). J2EE es un conjunto de tecnologías Java estandarizadas que amplían la plataforma estandarizada Java 2, Standard Edition (J2SE). A continuación se presentan algunas de las tecnologías incluidas en J2EE:
Las aplicaciones desarrolladas con las especificaciones J2EE pueden desplegarse fácilmente en cualquier servidor que proporcione soporte J2EE, como por ejemplo el servidor WebSphereR Application Server de IBMR.
La versión más reciente de la especificación EJB es 2.1. El entorno de trabajo soporta varias versiones de la especificación EJB, incluyendo 1.1, 2.0 y 2.1. En el entorno de trabajo verá referencias a los distintos niveles de especificación. Por ejemplo, al crear un bean de entidad gestionado por contenedor (CMP), puede seleccionar la CMP Versión 1.x o 2.x, que corresponde a las versiones EJB 1.1 ó 2.0/2.1, respectivamente.
Para obtener más información sobre las tecnologías J2EE y EJB, consulte estos sitios Web:
También encontrará información sobre la utilización de estas tecnologías en los temas siguientes del Centro de información:
La especificación EJB define lo siguiente:
En un servidor EJB (llamado también Enterprise Java Server) puede instalarse y ejecutarse una aplicación de empresa, como la proporcionada por WebSphereR Application Server. La tarea del servidor consiste en proporcionar un contenedor EJB en el que se ejecutan los beans de empresa. Un servidor de EJB y un contenedor funcionan conjuntamente para proporcionar los servicios siguientes:
Las aplicaciones de cliente no acceden directamente a los beans de empresa. En lugar de esto se proporcionan interfaces que listan los métodos del bean de empresa que están disponibles para el cliente. El contenedor proporciona la implementación de las interfaces en el bean de empresa.
Hay tres tipos de beans de empresa: beans de sesión, beans de entidad y beans gestionados por mensaje. Una aplicación EJB típica consta de varios beans de entidad más beans de sesión o gestionados por mensaje.
Los beans de entidad se utilizan para representar e interactuar con tablas de bases de datos relacionales. Un bean de entidad representa normalmente una fila en una tabla de base de datos, correspondiendo las columnas de la tabla a los campos del bean. La persistencia de datos hace referencia al almacenamiento permanente de datos en una base de datos o en otro formato. Los contenedores de EJB pueden manejar la persistencia para un bean de entidad (persistencia gestionada por contenedor o CMP), o bien el bean de entidad puede manejar su propia persistencia (persistencia gestionada por bean o BMP).
Los beans de sesión se utilizan para interactuar con beans de entidad. Normalmente proporcionan el proceso general o flujo de trabajo para una aplicación de cliente. Los beans de sesión pueden ser sin estado (no se guardan datos) o con estado (se guardan algunos datos). Normalmente un cliente de aplicación interactúa con beans de sesión que a su vez interactúan con beans de entidad.
Los beans gestionados por mensaje proporcionan un vehículo de comunicación para las aplicaciones que desean acceder a los beans de entidad. Puede utilizarse de la misma forma que los beans de sesión. La diferencia principal es la manera de invocarlos. Los beans de sesión (y los beans de entidad) se llaman de forma síncrona, mientras que los beans de entidad se llaman de forma asíncrona, Una llamada síncrona a un bean de sesión consiste en invocar directamente el bean de sesión. Una llamada asíncrona a un bean gestionado por mensaje significa enviar un mensaje que esté esperando el bean gestionado por mensaje. Java Messaging Service (JMS) es el vehículo de comunicaciones subyacente para beans gestionados por mensaje.
Puede encontrar más información sobre tipos de bean de empresa en el apartado Arquitectura EJB del centro de información.
Un bean de empresa contiene las clases y las interfaces siguientes:
Las interfaces de componentes local y remoto las utilizan las aplicaciones cliente para acceder a los beans de empresa. Estas interfaces listan los métodos de lógica empresarial en un bean de empresa. Un bean de empresa puede tener una interfaz remota, una interfaz local o ambas interfaces.
El rendimiento mejora cuando accede a un bean de empresa utilizando la interfaz local en lugar de la interfaz remota. Algunas de las razones de la mejora en el rendimiento son las siguientes:
La interfaz local se ha añadido a la especificación EJB 2.0 para mejorar el rendimiento. Es recomendable envolver los beans de entidad en una fachada de sesión para que los clientes accedan remotamente al bean de sesión pero el bean de sesión acceda al bean de entidad localmente. Esta práctica permite el acceso remoto de los clientes al tiempo que mejora el rendimiento.
La interfaz inicial de un bean de entidad también la utilizan las aplicaciones cliente para acceder al bean de empresa, pero los métodos disponibles a través de esta interfaz son métodos de ciclo de vida, incluyendo los métodos para buscar, crear y eliminar beans de entidad en el contenedor EJB. Las interfaces iniciales también pueden ser remotas o locales.
Las clases de bean de empresa contienen la lógica empresarial de la aplicación de empresa. Los métodos de las interfaces exponen los métodos correspondientes en la clase de bean a las aplicaciones de cliente.
Una clave primaria es un ID exclusivo asociado a una entrada específica en la base de datos. Por ejemplo, si tiene una base de datos de empleados, cada empleado tiene un ID de empleado exclusivo. Cada instancia de una clase de clave primaria corresponde a uno de los ID exclusivos de la base de datos.
La especificación J2EE define los archivos y la estructura de directorios de una aplicación de empresa. Además, especifica los tipos de archivo .war, .ear y .jar, cada tipo utilizado para propósitos específicos.
Un archivo EAR (Enterprise Archive) es el tipo de paquete para una aplicación de empresa. Contiene archivos WAR y JAR, así como un descriptor de despliegue de aplicaciones (application.xml) que contiene metadatos acerca de la aplicación de empresa.
Un archivo WAR (Web Archive) contiene archivos para una aplicación Web como por ejemplo, imágenes, archivos HTML, servlets y archivos JSP. También contiene metadatos en forma de descriptor de despliegue Web (web.xml).
Los archivos JAR (Java Archives) contienen clases Java. En las aplicaciones EJB, los archivos JAR pueden contener módulos EJB o pueden contener una aplicación de cliente EJB.
Los módulos EJB contienen los beans de empresa mismos, además de metadatos que incluyen un descriptor de despliegue EJB (ejb-jar.xml). Los módulos EJB desplegados en WebSphere Application Server también pueden contener metadatos que describan información de enlace y extensiones específica de IBM. Una aplicación cliente de EJB contiene los programas Java utilizados para acceder a una aplicación EJB, además de un descriptor de despliegue de cliente (application-client.xml).
Tipo de archivo | Significado | Tipo de aplicación | Descriptor de despliegue |
---|---|---|---|
.ear | Archivador de empresa | De empresa | application.xml |
.war | Archivador Web | Web | web.xml |
.jar | Archivador Java | EJB Cliente EJB |
ejb-jar.xml application-client.xml |
El editor visual utiliza el Lenguaje de modelado unificado (UML) para representar visualmente la estructura y el diseño de clases Java e interfaces, incluyendo los componentes EJB. Proporciona mecanismos para mostrar las relaciones entre clases, así como el flujo de trabajo. Utilizando las herramientas UML en el entorno de trabajo, puede editar visualmente clases e interfaces Java u otros componentes EJB. Puede iniciar la creación de un componente EJB directamente a partir de un diagrama de clase. El código subyacente se genera y se representa visualmente en el diagrama de clase, listo para editarse. Los cambios realizados en un diagrama de clase UML resultan en cambios del código subyacente. Los cambios en el código subyacente se reflejan en el diagrama de clases UML.
En el entorno de trabajo, un diagrama de clase UML está almacenado como un archivo con extensión .dnx.
UML 2 es una especificación estándar proporcionada por Object Management Group (OMG). El sitio Web OMG proporciona también una Introducción a UML.
El centro de información proporciona información pormenorizada acerca de estos temas:
Ahora está preparado para empezar el Ejercicio 1.2: Preparar el área de trabajo.