Implementación de aplicaciones EJB 3.x

Utilice esta tarea cuando implemente aplicaciones EJB (Enterprise JavaBeans) 3.x.

Acerca de esta tarea

Basándose en la especificación EJB (Enterprise JavaBeans), los enterprise beans son componentes Java™ que normalmente implementan la lógica empresarial de las aplicaciones J2EE (Java 2 Platform, Enterprise Edition) así como los datos de acceso. IBM® WebSphere Application Server proporciona un amplio soporte de enterprise beans, incluidas las especificaciones EJB 2.x y EJB 3.x. La especificación EJB 3 simplifica el desarrollo de la lógica empresarial y el manejo de datos para las aplicaciones empresariales. Puede ensamblar los beans en uno o varios módulos EJB 3.x utilizando una de las herramientas de ensamblaje.

De manera justificada, la especificación EJB 3.0 ha sido considerada como la actualización más importante del modelo de programación Java EE 5 (Java™ Platform, Enterprise Edition 5). La especificación EJB 3.0 representa la simplificación y optimización de la lógica empresarial y de los modelos de programación de persistencia utilizados en Java EE. Mientras que la sustitución de JPA (Java Persistence API) se denomina una clase de entidad, no se debe confundir con los enterprise beans de entidad. Una entidad JPA no es un enterprise bean ni es necesario que se ejecute en un contenedor EJB.

La especificación EJB sólo requiere que se dé soporte a vistas de cliente local para los EJB empaquetados en la misma aplicación. Esto incluye las factorías locales, las interfaces empresariales locals y la vista sin interfaz. WebSphere Application Server permite acceder a vistas del cliente local para los EJB empaquetados en una aplicación independiente con algunas restricciones:
  • La interfaz local y todos tipos de parámetros, devoluciones y excepciones que utiliza la interfaz local deben estar visibles para el cargador de clases tanto de la aplicación de llamada como de la aplicación de EJB de destino. Puede asegurarse de que sea así utilizando una biblioteca compartida asociada a un cargador de clases de servidor o mediante una biblioteca compartida aislada asociada a ambas aplicaciones. Lea el tema Creación de bibliotecas compartidas para obtener más información.
  • Cuando se detiene la aplicación EJB de destino, se deben renovar todas las referencias de memoria caché al EJB. Puede:
    • Reiniciar la aplicación de llamada. La solución más sencilla es reiniciar la aplicación de llamada cada vez que reinicie una aplicación EJB de destino en la que se basa.
    • Obtener una referencia nueva de JNDI. De forma predeterminada, las búsquedas JNDI desde el espacio de nombres java están en la memoria caché y la memoria caché debe estar inhabilitada o borrada para obtener una referencia nueva. Lea el tema Desarrollo de aplicaciones que utilizan el tema JNDI para obtener más información.

      Las invocaciones de método EJB emiten com.ibm.websphere.ejbcontainer.EJBStoppedException cuando se ha detenido la aplicación EJB de destino. Si ha almacenado en memoria caché la referencia de EJB en una variable de instancia utilizando la inyección @EJB o la búsqueda JNDI, podrá captar esta excepción y renovar la referencia EJB llevando a cabo una búsqueda no almacenada en memoria caché.

Complete el procedimiento siguiente si desea implementar aplicaciones EJB 3.x en WebSphere Application Server, incluidas las sugerencias de ajuste y resolución.

Procedimiento

  1. Migre el código de enterprise bean.
    1. No existen problemas de migración asociados con la utilización de beans EJB 3.x. Las aplicaciones existentes continúan ejecutándose tal cual y compilándose sin errores. Las especificaciones EJB 3.0 y 3.1 han dejado en desuso la utilización de los beans de entidad de tipo EJB 1.1. Se recomienda que inicie la migración a JPA (Java™ Persistence API) o JDBC como reemplazo de los beans de entidad.
  2. Desarrolle aplicaciones EJB 3.x.
    1. Diseñe una aplicación Java EE y los enterprise beans que necesita. Antes de desarrollar beans de entidad con CMP, lea el tema sobre el control de simultaneidad. Tenga en cuenta que los módulos EJB 3.x no dan soporte a los beans de entidad. Debe continuar colocando los beans de entidad en los módulos EJB de nivel 2.x.
  3. Ensamble aplicaciones EJB 3.x.
    1. Ensamble un módulo EJB 3.x para que contenga enterprise beans y artefactos de código relacionados. Agrupe los componentes web, el código de cliente y el código de adaptador de recursos en módulos distintos. Después de ensamblar el módulo EJB, instálelo como una aplicación autónoma o combínelo con otros módulos en una aplicación empresarial.
  4. Despliegue las aplicaciones EJB 3.x.
    1. Cuando despliegue un módulo EJB, instale dicho módulo en un servidor que se haya configurado para dar soporte a los módulos desplegados. Ensamble uno o más módulos EJB, ensamble uno o más módulos web y ensámblelos en una aplicación Java EE.
  5. Administre aplicaciones EJB 3.x.
    1. Gestione contenedores EJB, administre beans de sesión y beans de entidad.
  6. Proteja aplicaciones EJB 3.x.
    1. Puede proteger los métodos de enterprise bean asignando roles de seguridad a los mismos. Antes de asignar roles de seguridad, debe saber qué métodos EJB es necesario proteger y cómo protegerlos.
  7. Ajuste aplicaciones EJB 3.x.
    1. Si utiliza aplicaciones que afectan el tamaño de la memoria caché del contenedor EJB, es posible que el rendimiento de las aplicaciones se vea afectado por un valor de tamaño incorrecto. Es importante saber que los beans de entidad no están soportados en un módulo EJB 3.x. Uno de los pasos para ajustar el contenedor EJB a niveles de rendimiento óptimos es ajustar la memoria caché de EJB.
  8. Solucione los problemas de las aplicaciones EJB 3.x.
    1. Utilice estos consejos para la resolución de problemas en aquellos problemas relacionados con el acceso a los beans de empresa

Resultados

Ha implementado aplicaciones EJB 3.x en WebSphere Application Server.

Icon that indicates the type of topic Task topic



Timestamp icon Last updated: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tejb_implement_ejb3x_apps
File name: tejb_implement_ejb3x_apps.html