Compartir a través de


Vínculo de mensajes de agente de escucha mejorado TCP

El modelo de vínculo de mensajes de escucha mejorado (ELM) TCP permite pasar datos y parámetros entre TI y el método de procesamiento de transacciones del servidor mediante COMMAREA. El modelo también permite que un servidor simultáneo se vincule a un programa DPL de CICS. El agente de escucha mejorado se introdujo en la versión 1.4 del servidor de transacciones de CICS y su arquitectura aumenta la eficacia del entorno TCP/IP de CICS mediante la eliminación del mensaje TRM y la secuencia de respuesta de TRM. El agente de escucha mejorado acepta un encabezado y datos de solicitudes del cliente en la secuencia inicial. Además, elimina la necesidad de que la aplicación de servidor entregue una respuesta independiente antes de que los datos de la aplicación estén disponibles. El agente de escucha mejorado requiere las siguientes acciones por parte del cliente:

  • Construir y enviar un único flujo de datos compuesto de un encabezado de solicitud seguido de los datos de solicitudes de la aplicación al programa de aplicación de servidor.

  • Recibir un único flujo de datos, que conste de un encabezado de respuesta y datos de la aplicación, del programa de la aplicación de servidor.

    En la imagen siguiente se resume el flujo de trabajo entre el cliente, el agente de escucha de CICS mejorado, el servidor simultáneo y el programa de transacciones del equipo central. Los números entre paréntesis indican el orden aproximado en el que se producen los eventos. Después de la ilustración se muestra una descripción más detallada de los eventos.

    Imagen que muestra el flujo de trabajo que se produce entre el cliente, el agente de escucha CICS mejorado, el servidor simultáneo y el programa de transacciones del sistema central.

El modelo de programación de vínculos ELM TCP funciona de la siguiente manera:

  1. Una aplicación invoca un método en un componente de TI configurado en Servicios de componentes o en .NET Framework.

  2. El runtime de TI llama al proxy de Automation de TI.

  3. Si la aplicación es un componente COM+, el proxy de Automation de TI realiza las siguientes acciones:

    1. Lee en la biblioteca de tipos que creó anteriormente el diseñador de TI.

    2. Asigna los tipos de datos de automatización a tipos de datos COBOL.

      Si la aplicación es un ensamblado de .NET Framework, el proxy de Automation de TI realiza las siguientes acciones:

    3. Lee en el ensamblado y los metadatos que creó anteriormente el diseñador de TI.

    4. Asigna los tipos de datos de .NET Framework a los tipos de datos COBOL.

      A continuación, el proxy de Automation de TI realiza las siguientes acciones:

    5. Llama a las rutinas de conversión para convertir los datos de la aplicación en tipos COBOL del equipo central.

    6. Compila el búfer del flujo de datos sin formato que representa el cuaderno de copia o la declaración de COBOL.

    7. Pasa el mensaje al componente de transporte TCP.

  4. El transporte TCP de TI envía una solicitud de conexión al agente de escucha mejorado mediante la dirección IP (Protocolo de Internet) del equipo central y la dirección de puerto del agente de escucha.

  5. El agente de escucha mejorado acepta la solicitud de conexión e indica al runtime de TI que envíe el modelo ELM. A continuación, el agente de escucha mejorado espera el modelo ELM.

    El modelo ELM es un registro de datos con formato que identifica el método de procesamiento de transacciones del servidor que se va a invocar mediante su TRANID. El método de procesamiento de transacciones del agente de escucha de CICS proviene del equipo central especial, cuya función principal es recibir las invocaciones de procesamiento de transacciones de servidor que envían las aplicaciones cliente que ejecutan TCP/IP. El usuario define el TRANID del método de procesamiento de transacciones del agente de escucha mejorado proporcionado por IBM.

  6. El runtime de TI da formato al modelo ELM y lo envía al agente de escucha mejorado. A continuación, TI omite la lógica de transporte que espera una respuesta de ELM y envía inmediatamente los datos de solicitud de la aplicación después del encabezado de solicitud. A continuación, TI espera la respuesta de ELM.

  7. El agente de escucha mejorado recibe el modelo ELM de 35 bytes y, a continuación, lee el contenido del encabezado de ELM. El agente de escucha mejorado coloca los 35 bytes en el mensaje inicial de la transacción (TIM), pero no interviene en su contenido.

    El mensaje TIM describe el entorno TCP/IP en el que se ejecuta el servidor y contiene la información de socket TCP/IP que usa el servidor simultáneo para comunicarse con el transporte TCP de COMTI y el encabezado del mensaje de cliente que usa el servidor simultáneo para personalizar su comportamiento de ejecución. El encabezado contiene el nombre del programa de servidor al que se va a vincular.

  8. El agente de escucha mejorado inicia el programa de procesamiento de transacciones del servidor simultáneo (aplicación de ejemplo Mscmtics.cbl) que está definido en la definición del agente de escucha.

    Mscmtics.cbl es el archivo de procesamiento de transacciones de ejemplo de Microsoft que se usa para pasar datos entre TI y el método de procesamiento de transacciones del servidor mediante COMMAREA. Microsoft desarrolla el método de procesamiento de transacciones de ejemplo Mscmtics.cbl y se proporciona como parte del software de Host Integration Server. Se encuentra en $\Microsoft Host Integration Server\SDK\Samples\Comti\ProgrammingSpecifics\Tcp. Antes de usar este modelo, debe compilarse, vincularse e instalarse en el equipo central.

    Nota

    Si el agente de escucha mejorado no puede iniciar el servidor simultáneo, el agente de escucha da formato a un mensaje de error y lo devuelve al transporte TCP de COMTI. Estos son algunos de los motivos por los que es posible que el agente de escucha no pueda iniciarse:

    • Se rechazó la conexión debido a recursos de CICS limitados (por ejemplo, supera el número máximo de tareas CICS o tareas de servidor simultáneas).

    • El TRANID no es válido o está deshabilitado para el servidor simultáneo.

    • El programa de servidor simultáneo asociado al identificador de transacción no es válido, está deshabilitado o no se encuentra disponible.

    Nota

    El mensaje de error del agente de escucha de CICS se basa en caracteres y siempre comienza con las letras EZY. La longitud del mensaje de error es variable, y el final del mensaje viene determinado por el socket que cerró el agente de escucha de CICS.

  9. El agente de escucha mejorado llama a la interfaz del protocolo de aplicaciones (API) del socket en el entorno de host. Una vez que el agente de escucha mejorado haya emitido el comando start para la transacción del servidor simultáneo, el agente de escucha mejorado estará fuera del bucle de procesamiento de la aplicación y podrá escuchar otra solicitud entrante.

  10. El servidor simultáneo recupera el mensaje TIM, conecta el socket y lee el contenido del modelo ELM.

  11. TI pasa los datos de la aplicación a través de CICS COMMAREA al programa de la aplicación de servidor que contiene la lógica de negocios mediante una llamada de vínculos EXEC CICS estándar. El runtime de TI también emite un apagado para el socket de envío 1/2 y, a continuación, espera los datos de respuesta.

  12. El método de procesamiento de transacciones del servidor recibe los datos de la aplicación, procesa la solicitud y realiza la lógica de negocios en los datos. Toda la lógica de negocios se define en el método de procesamiento de transacciones del servidor.

  13. El servidor simultáneo envía el encabezado de respuesta de ELM a TI a través de COMMAREA.

  14. El método de procesamiento de transacciones del servidor prepara los datos de respuesta y, a continuación, envía la respuesta al cliente a través de COMMAREA.

  15. El flujo de datos de respuesta de la aplicación consta de dos partes. La primera es una respuesta de ELM que informa al transporte sobre el éxito o el error de la solicitud. El transporte TCP consumirá la respuesta de ELM de la secuencia y, a continuación, si la respuesta de ELM indica que la llamada se ha realizado correctamente, recibirá los datos de respuesta de la aplicación hasta que el servidor simultáneo cierre el socket.

  16. El servidor simultáneo cierra los sockets

  17. El proxy de Automation de TI recibe los datos de respuesta y procesa la respuesta. El proxy de Automation de TI realiza las siguientes acciones:

    1. Recibe el mensaje del componente de transporte TCP.

    2. Lee el búfer de mensajes.

      Si la aplicación es un componente COM+, el proxy de Automation de TI realiza las siguientes acciones:

    3. Asigna los tipos de datos COBOL a los datos de automatización.

    4. Llama a las rutinas de conversión para convertir los tipos COBOL del equipo central en los datos de la aplicación.

      Si la aplicación es un ensamblado de .NET, el proxy de Automation de TI realiza las siguientes acciones:

    5. Asigna los tipos de datos COBOL a los tipos de datos de .NET Framework.

    6. Llama a las rutinas de conversión para convertir los tipos COBOL del equipo central en los datos de la aplicación.

  18. El runtime de TI devuelve los datos convertidos a la aplicación COM o .NET Framework que invocó el método.

    Para implementar este modelo, debe proporcionar a TI una dirección IP, un número de puerto y un nombre de programa CICS para ejecutar la aplicación pasada por el programa de servidor simultáneo (Mscmtics.cbl).

    Host Integration Server incluye código de ejemplo que muestra cómo implementar el modelo de programación TCP ELM Link. El código de ejemplo se encuentra en \installation directory\SDK\Samples\AppInt. Inicie Microsoft Visual Studio, abra el tutorial que prefiera y siga las instrucciones del archivo Léame.

Consulte también

Componentes del Integrador de transacciones
Mensajes de solicitud de transacciones
Convertir tipos de datos de Automation a z/OS COBOL]
Conversión de tipos de datos de COBOL de z/OS a Automation
Componentes de CICS
Runtime de TI
Selección del modelo de programación adecuado
Modelos de programación