Datos de usuario de mensajes de agente de escucha mejorado TCP

El modelo de datos de usuario de mensajes de agente de escucha mejorado (ELM) TCP permite pasar datos y parámetros directamente entre TI y el método de procesamiento de transacciones del 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.
Resumen del flujo de trabajo del modelo de programación de datos de usuario ELM TCP

Modelo de programación de datos de usuario ELM TCP

El modelo de programación de datos de usuario ELM TCP funciona de la siguiente manera:

  1. Una aplicación invoca un método en un objeto .NET de TI.

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

  3. El proxy de TI realiza las siguientes acciones:

    1. Lee el ensamblado y los metadatos que creó anteriormente el Diseñador del integrador de transacciones.

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

      A continuación, el proxy de TI realiza estas acciones:

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

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

    5. 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.

  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 TI 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 de servidor simultáneo (la aplicación de ejemplo Mscmtics.cbl) que ha identificado TRANID en el modelo ELM que usa EXEC CICS Start.

    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 estándar 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 TI. 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. 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.

  1. Una vez que se ejecuta el servidor simultáneo, lee el mensaje inicial de transacción (TIM) enviado por el agente de escucha estándar.

    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 TI y el encabezado del mensaje de cliente que usa el servidor simultáneo para personalizar su comportamiento de ejecución.

  2. El servidor simultáneo envía el mensaje TRM a TI y espera los datos de solicitud de la aplicación.

  3. TI evalúa el mensaje TRM y pasa los datos directamente al programa de servidor simultáneo (Mscmtics.cbl). TI también envía el apagado del socket y, a continuación, TI espera los datos de respuesta.

  4. Una vez recibidos los datos, el método de procesamiento de transacciones del servidor 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.

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

  6. El servidor simultáneo cierra el socket

  7. El proxy de TI recibe los datos de respuesta y procesa dicha respuesta. El proxy de TI realiza las siguientes acciones:

    1. Recibe el mensaje del componente de transporte TCP.

    2. Lee el búfer de mensajes.

      El proxy de TI realiza las siguientes acciones:

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

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

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

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

    Para obtener información sobre cómo configurar el equipo central y escribir aplicaciones de servidor para TCP/IP, consulte TCP/IP V3R2 para MVS: Guía de interfaz de sockets TCP/IP de CICS (documento de IBM SC31-7131).

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