Utilice las API de adaptador local optimizado WebSphere
(WOLA) para conectar un espacio de direcciones externo a un
servidor
Liberty e
invocar un bean de sesión sin estado local.
Antes de empezar
Para identificar su enterprise bean como destino potencial de una llamada de adaptador local optimizado, su aplicación
Enterprise JavaBean (EJB) debe implementar la interfaz com.ibm.websphere.ola.ExecuteLocalBusiness como interfaz empresarial local. La interfaz se halla en el archivo wlp/dev/api/ibm/com.ibm.websphere.appserver.api.zosLocalAdapters_1.0.0.jar.
Para los programas que se ejecutan bajo Customer Information
Control System (CICS), el programa de existencia de usuario (TRUE) relacionado con la tarea de los adaptadores locales optimizados
debe estar activado antes de se pueda realizar una conexión entre
CICS y el servidor
Liberty. Para obtener más
información, consulte Transacciones del servidor de Liberty para CICS: BBOC, BBO$ y BBO#.
El servidor
Liberty debe
estar activo en la misma imagen de
z/OS desde donde se origina
la solicitud de registro. Asegúrese de que ya se haya registrado el espacio de direcciones actual y e esté enlazado al grupo de adaptadores locales optimizados de destino utilizando la API Register. Para obtener más información sobre el registro de un espacio de direcciones externo, consulte Registro de un espacio de direcciones externo con un servidor Liberty local utilizando adaptadores locales optimizados.
Acerca de esta tarea
Este método de invocación de bean de sesión sin estado proporciona más flexibilidad y es para situaciones en que puede que no se sepa la longitud máxima del área de respuesta antes de la llamada. Para un método simplificado de invocación de bean cuando se conoce la longitud del área de respuesta, consulte
Utilización de la API de invocación de Liberty para llamar a un enterprise bean desde un espacio de direcciones externo.
Procedimiento
- Invoque la API Connection Get, BBOA1CNG, desde la aplicación de lenguaje nativo en un espacio de direcciones cliente, pasando el nombre del registro que se utilizó cuando se invocó la API Register, BBOA1REG. La llamada devuelve una gestión de conexiones que se deberá utilizar para todas las llamadas a API futuras.
- Invoque la API Send Request, BBOA1SRQ, desde una aplicación de lenguaje nativo en el espacio de direcciones cliente. Para el parámetro requestservicename, especifique el nombre de la vía de acceso a la interfaz empresarial local de JNDI
(Java Naming and Directory Interface) para el enterprise bean que desee invocar. Utilice el nombre JNDI en el espacio de nombres global de JNDI. El servidor
Liberty
invoca el método execute para la interfaz empresarial local que
implementa la aplicación EJB.
Si ha establecido el parámetro async de la API Send Request en 0, la API devolverá la longitud de respuesta y el valor de retorno. A continuación, podrá llamar directamente a la API Get Message Data.
Si ha establecido el parámetro async de la API Send Request en 1, el control volverá a la aplicación cliente de forma que podrá llamar a la API Receive Response Length.
- Si ha llamado a la API Send Request con el parámetro async establecido en 1, llame a la API Receive Response Length, BBOA1RCL, definiendo el parámetro async en 0 o 1. La aplicación cliente utiliza la longitud de respuesta que devuelve la API Receive Response Length para garantizar que tenga un área suficientemente grande para conservar los datos de respuestas.
Si ha establecido el parámetro async de la API Receive Response Length en 0, la API bloqueará la hebra hasta que se reciba una respuesta.
Si ha establecido el parámetro async de la API Receive Response Length en 1, se volverá inmediatamente a la API independientemente de si ha recibido una respuesta.
- Llame a la API Get Message Data, BBOA1GET, para copiar los datos de respuesta en el almacenamiento intermedio de la aplicación cliente.
- La aplicación cliente puede continuar enviando solicitudes y recibiendo datos de mensajes utilizando el mismo manejador de conexiones hasta que se envíen todas las solicitudes y esté lista para liberar la conexión. Para liberar la conexión, la aplicación llama a la API
Connection Release, BBOA1CNR. Los manejadores de conexiones deben liberarse para que puedan retenerse en una
llamada de API de obtención de conexión y puedan volverse a utilizar.