Visión general del despliegue de y EJB 3.1 EJB 3.1

Información sobre el modelo de despliegue Enterprise JavaBeans (EJB) 3.0 y 3.1 incluido el despliegue de Just-In-Time (JIT)

Todos los productos de servidor de aplicaciones Java™ Enterprise Edition (Java EE) tienen alguna forma de fase de despliegue EJB en la que la aplicación se personaliza para ejecutarse en esa determinada implementación del servidor de aplicaciones. Normalmente, esto lo realiza una herramienta de despliegue que es específica del servidor de aplicaciones y genera código para unir la interfaz EJB y el código de implementación a la implementación del servidor de aplicaciones para un contenedor EJB. Las herramientas de despliegue de algunos productos de servidor de aplicaciones modifican los códigos de bytes de las clases de aplicación, en lugar de generar código, pero el resultado final es similar.

Application Server une la interfaz EJB con la implementación generando código que encapsula las clases de implementación EJB, conectándolas al contenedor de EJBde Application Server. Esto permite al contenedor EJB contener los enterprise beans y proporcionarles servicios. Si uno o varios de los enterprise beans tienen interfaces remotas definidas, Application Server genera código adicional para proporcionar la función remota.

Para obtener más información sobre el empaquetado del módulo EJB, consulte el tema que describe la visión general del empaquetado de módulos EJB 3.x.

Herramienta EJBDeploy

Históricamente, el despliegue EJB del producto Application Server lo realizaba la herramienta EJBDeploy, que se incluye con WebSphere Application Server y se empaqueta con las herramientas de desarrollo para los productos WebSphere.

La herramienta EJBDeploy realiza una introspección de los enterprise beans en las interfaces externas, genera el código de envoltura como archivos .java y compila el código utilizando el compilador javac para producir archivos .class que se empaquetan en el módulo EJB con el código de aplicación. La herramienta EJBDeploy también ejecuta la herramienta rmic en las interfaces EJB remotas en la aplicación, produciendo archivos de clase stub y tie adicionales que interactúan con el ORB (Object Request Broker) de RMI-IIOP (Remote Method Invocation over Internet Inter-ORB Protocol), proporcionando soporte de objetos remotos.

Para módulos anteriores a EJB 3.0, la herramienta EJBDeploy se ejecutaba al instalar la aplicación en Application Server o antes de instalar la aplicación desde la herramienta de línea de mandatos o desde una herramienta de desarrollo.

Despliegue JIT (Just-In-Time)

El soporte de EJB 3.0 de Application Server presentaba una nueva característica denominada despliegue JIT.

Con el despliegue JIT, el contenedor EJB genera dinámicamente las clases wrapper, stub y tie en memoria cuando la aplicación está en ejecución. Adicionalmente, el contenedor web y los contenedores de cliente de aplicaciones generan dinámicamente la clase stub necesaria para las invocaciones EJB remotas.

En la práctica, esto significa que no es necesario procesar los módulos EJB 3.0 o 3.1, los módulos web que invocan beans EJB 3.0 o 3.1 o los módulos de cliente que invocan beans EJB 3.0 o 3.1 mediante la herramienta EJBDeploy antes de que los ejecute en Application Server.

Herramienta createEJBStubs

En la mayoría de los casos la característica de despliegue Just-In-Time puede generar dinámicamente las clases stub RMI-IIOP que son necesarias para la invocación de interfaces EJB remotas. Hay algunas instancias en las que estas clases stub no se generan dinámicamente. Para clientes EJB 3.0 o 3.1 que no se ejecutan dentro de un contenedor web, un contenedor EJB o un contenedor de cliente habilitados para EJB 3.x, deberá generar las clases stub con la herramienta createEJBStubs y asegurarse de que los apéndices generados están disponibles en la vía de acceso de clases del entorno de cliente. Normalmente, realizará esta tarea copiando los apéndices generados en la ubicación donde reside la clase de la interfaz empresarial del cliente.

La herramienta createEJBStubs se debe utilizar para generar apéndices en el lado del cliente para los entornos siguientes:
  • Clientes Java Standard Edition (SE) "básicos", donde una JVM (Java Virtual Machine) Java SE es el entorno de cliente.
  • Contenedores en entornos de Application Server anteriores a la Versión 7 en los que no se ha aplicado el Feature Pack for EJB 3.0.
  • Entornos que no son entornos de WebSphere Application Server.

Interoperatividad

Se pueden producir resultados inesperados si un producto de pila de WebSphere u otro producto que se ejecuta en una versión de Application Server que no soporta EJB 3.0 o 3.1 intenta invocar de manera remota un método en un enterprise bean que está en conformidad con EJB 3.x en un servidor independiente que ejecuta una versión de Application Server que soporta EJB 3.0 o 3.1. Si estos productos intentan invocar un método mediante la interfaz empresarial remota de EJB 3.x del enterprise bean, es posible que encuentren excepciones entradas en EJB 3.0 que se devolverán al entorno que no está en conformidad con EJB 3.x.

Este escenario también puede ser un problema para un administrador de un entorno que incluya una combinación de productos de pila que contienen una mezcla de instancias que están en conformidad con EJB 3.x y que no están en conformidad con EJB 3.x de Application Server.

A continuación se proporciona una lista de las clases de excepción presentadas en EJB 3.0:
  • javax.ejb.ConcurrentAccessException
  • javax.ejb.EJBAccessException
  • javax.ejb.EJBTransactionRequiredException
  • javax.ejb.EJBTransactionRolledbackException
  • javax.ejb.NoSuchEJBException

Consulte el paso de despliegue de módulo EJB para solucionar los problemas potenciales de interoperatividad.

Módulos EJB 2.x

Todos los archivos generados de WebSphere Application Server (incluidas las clases stub y tie) de los módulos EJB 2.x que se han convertido a módulos EJB 3.0 o EJB 3.1 se deben eliminar antes del despliegue de EJB en el producto Application Server.


Icon that indicates the type of topic Concept topic



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