Llamadas de programa distribuido de IBM i

El modelo de programación ibm i Remote Command y Distributed Program Calls (DPC) permite que la mayoría de las aplicaciones de IBM i interactúen con TI en modo de solicitud-respuesta (solo iniciado por el cliente) con modificaciones mínimas. DPC es un protocolo documentado que admite la integración de programas en un IBM i, al que se puede acceder fácilmente desde aplicaciones basadas en PC mediante el protocolo de red TCP/IP.

Nota:

Esta interfaz no admite el procesamiento iniciado por el host (HIP); La integración de IBM i es solo para llamadas iniciadas por el cliente.

En la ilustración siguiente se resume el flujo de trabajo que se produce entre el cliente, el servidor DPC predeterminado y el programa de transacciones ibm i. 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 del modelo ibm i.
Flujo de modelos de IBM i

Diagrama de flujo de trabajo de resumen para el modelo de programación de IBM i DPC

El modelo de programación ibm i DPC 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 las bibliotecas de tipos que creó anteriormente el diseñador de TI.

    2. Asigna los tipos de datos de automatización a los tipos de datos IBM i RPG.

      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 IBM i RPG.

      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 a tipos IBM i RPG.

    6. Compila el búfer de mensajes parametrizado que representa RPG PLIST.

    7. Pasa el mensaje al componente de transporte ibm i DPC.

  4. El transporte TCP de TI envía una solicitud de conexión al sistema del servidor DPC mediante la dirección de Protocolo de Internet (IP) del equipo IBM i y la dirección de puerto del servidor. A continuación, el transporte TCP de TI espera una respuesta.

  5. El servidor DPC de IBM i acepta la solicitud de sesión y emite una recepción. A continuación, el servidor DPC espera la solicitud del servidor de inicio.

  6. El proxy de automatización de TI envía al servidor DPC una solicitud de servidor de inicio y emite una recepción. A continuación, el transporte TCP de TI espera una respuesta del servidor de inicio.

  7. El servidor DPC procesa la solicitud del servidor de inicio, envía una respuesta del servidor de inicio y, a continuación, emite una recepción. A continuación, el servidor DPC espera una solicitud de atributos de intercambio.

  8. El runtime de TI procesa la respuesta del servidor de inicio, envía la solicitud de atributos y emite una recepción. A continuación, el runtime de TI espera una respuesta de atributos de intercambio.

  9. El servidor DPC procesa la solicitud de atributos de intercambio, envía una respuesta de atributos de intercambio y, a continuación, emite una recepción. A continuación, DPC espera una solicitud de llamada de programa remoto.

  10. El runtime de TI procesa la respuesta de atributos de intercambio y, a continuación, envía la solicitud de llamada de programa remoto seguida inmediatamente de la respuesta de llamada de programa remoto y los datos convertidos.

  11. El servidor DPC procesa la solicitud, envía una respuesta de llamada de programa remoto seguida de datos y parámetros de llamada de programa remoto.

  12. 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 de IBM i a los datos de automatización.

    4. Llama a las rutinas de conversión para convertir los tipos ibm i RPG 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 de IBM i a los tipos de datos de .NET Framework.

    6. Llama a las rutinas de conversión para convertir los tipos ibm i RPG en los datos de la aplicación.

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

    Nota:

    El tamaño máximo de un mensaje es 32 767 bytes, incluidos los datos y encabezados de campo.

    Nota

    RMTPGMCALL puede transmitir un máximo de 35 parámetros como IN o OUT o como IN/OUT en cualquier combinación.

    Host Integration Server incluye código de ejemplo que muestra cómo implementar el modelo de programación de IMS Connect. El código de ejemplo se encuentra en el \directorio de instalación\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 sistema central y escribir aplicaciones de servidor para IBM IBM ie, consulte la Guía de programadores ILE RPG/400 Versión 4 (IBM Document #SC09-2507-02) y ILE RPG/400 Reference Version 3 (IBM Document #SC09-2077-01).

Consulte también

Componentes del Integrador de transacciones
Conversión de tipos de datos de RPG a Automation
Conversión de tipos de datos de Automation a RPG
IBM i Security
Interfaz COMTIContext
Runtime de TI
Selección del modelo de programación adecuado
Modelos de programación