Procesamiento iniciado por host
El procesamiento iniciado por host (HIP) permite a una aplicación host llamar a un método de un objeto COM o .NET, pasar parámetros al método y recibir parámetros del método. A medida que los datos viajan primero desde el host al cliente y, a continuación, desde el cliente al host, los datos se transforman de un formato comprensible por el host al formato adecuado para el cliente.
El procesamiento iniciado por el host se implementa en los pasos siguientes:
El proceso de servicio HIP, denominado aplicación, comienza a escuchar las conexiones entrantes en una lista de puntos de conexión especificados por una definición de entorno local.
La aplicación cliente, que se ejecuta en el host, inicia una conexión TCP a un sistema HIP mediante uno de los puntos de conexión.
El proceso del servicio HIP comprueba si hay una asociación establecida entre el punto de conexión y el nombre de host o la dirección IP de los clientes. Si no se encuentra ninguna asociación, se anula la conexión.
La asociación identifica de forma única el plan de trabajo que es una secuencia de flujos de trabajo que se van a realizar para completar la solicitud de los clientes. Hay tres tipos de planes de trabajo:
Punto de conexión
Mensaje de solicitud de transacción
Datos
Punto de conexión
El plan de trabajo del punto de conexión consta de un único flujo de trabajo final. La asociación se asigna directamente a un método de un objeto COM que se va a invocar para el procesamiento de solicitudes de los clientes. El flujo de trabajo del punto de conexión realiza lo siguiente:
Recibe datos de cliente
Desempaqueta los datos y rellena los parámetros para el método
Crea el objeto y llama al método .
Paquetes devueltos de parámetros en los datos del cliente
Envía datos de cliente
Cierra la conexión.
Mensaje de solicitud de transacción
El plan de trabajo De mensaje de solicitud de transacción (TRM) consta de dos flujos de trabajo: TRM y Flujo de trabajo final. El flujo de trabajo de TRM controla la parte inicial de la conversación cuando el cliente envía el TRM y el flujo de trabajo responde con la respuesta de TRM. Según el tipo de TRM, el flujo de trabajo de TRM puede usar uno de los tres controladores de TRM: Microsoft Concurrent Server, Microsoft Link, IBM Concurrent Server. El flujo de trabajo de TRM realiza lo siguiente:
Recibe y desempaqueta el TRM mediante el formato de entrada asignado.
Pasa el TRM al controlador asignado.
El controlador devuelve la información de resolución y la respuesta de TRM positiva.
La información de resolución, que se espera que sea datos de caracteres, se convierte en Unicode mediante la página de códigos asociada al entorno host.
El flujo de trabajo consulta la base de datos si hay una asignación a un método de un objeto definido para la información de resolución.
En caso de que no se encuentre la coincidencia, se llama al controlador para obtener la respuesta de TRM negativa.
La respuesta de TRM se empaqueta con el formato de salida asignado y se envía. En el caso negativo, se anula la conexión.
El flujo de trabajo pasa el control al flujo de trabajo final junto con la identidad del método encontrada.
data
El plan de trabajo determinante de datos consta de dos flujos de trabajo: Determinante de datos y Flujo de trabajo final. El flujo de trabajo determinante de datos preprocesa los datos de cliente que intentan encontrar una coincidencia con uno de los determinantes definidos para la asociación. Determinante incluye una cadena de caracteres y la posición de la cadena en los datos del cliente. Cada determinante se asigna a un método de un objeto . Al iniciar, los determinantes se convierten previamente en todas las páginas de códigos de hosts asociadas a determinantes. Las reglas se aplican que los determinantes de un punto de conexión: la asociación de host no está duplicada o un determinante no forma parte del otro. El flujo de trabajo sigue estos pasos:
La lista de determinantes para la combinación punto final – host dada se obtiene y ordena por la suma de la longitud y la posición en orden ascendente.
El primer determinante se toma de la lista
Se recibe una parte de los datos de cliente.
Los datos se comprueban si coincide con el determinante.
En caso de que no coincida con el siguiente determinante se toma de la lista, más datos de cliente recibidos si es necesario, datos en comparación con determinantes.
Cuando ningún determinante disponible coincide con los datos, se anula la conexión
Si se encuentra un determinante, el control se pasa al flujo de trabajo final junto con la identidad del método y los datos del cliente ya leídos. Podría haber una situación en la que los datos determinantes se encuentran dentro o incluso después de que los datos del cliente se asignen a los parámetros de los métodos.
Nota
Un cliente hip MVS debe realizar un apagado de socket inmediatamente después de un envío de socket y antes de recibir un socket. Si no se realiza un apagado inmediato del socket, el tiempo de ejecución de TI rechaza los datos, interrumpe la conexión y registra un mensaje de evento 808 (una aplicación HIP del integrador de transacciones recibió más datos de lo esperado). Además, el paquete que contiene los datos que se envían a la estación de trabajo puede parecer engañoso: Microsoft Network Monitor muestra los datos dentro del paquete y la longitud de los datos no son excesivos.