다음을 통해 공유


IBM i Distributed Program Calls

IBM i DPC(원격 명령 및 분산 프로그램 호출) 프로그래밍 모델을 사용하면 대부분의 IBM i 애플리케이션이 최소 수정으로 요청-회신 방식으로(클라이언트 시작만) TI와 상호 작용할 수 있습니다. DPC는 TCP/IP 네트워킹 프로토콜을 사용하여 PC 기반 애플리케이션에서 쉽게 액세스할 수 있는 IBM i의 프로그램 통합을 지원하는 문서화된 프로토콜입니다.

참고

이 인터페이스는 HIP(호스트 시작 처리)를 지원하지 않습니다. IBM i 통합은 클라이언트 시작 호출에만 해당됩니다.

다음 그림에서는 클라이언트, 기본 DPC Server 및 IBM i 트랜잭션 프로그램 간에 발생하는 워크플로를 요약합니다. 괄호 안의 숫자는 이벤트가 발생하는 대략적인 순서를 나타냅니다. 이벤트에 대한 자세한 설명은 그림 뒤에 나옵니다.

IBM i 모델 흐름을 보여 주는 이미지입니다.
IBM i 모델 흐름

IBM i DPC 프로그래밍 모델에 대한 요약 워크플로 다이어그램

IBM i DPC 프로그래밍 모델은 다음과 같이 작동합니다.

  1. 애플리케이션은 구성 요소 서비스 또는 .NET Framework에 구성된 TI 구성 요소에서 메서드를 호출합니다.

  2. TI 런타임에서 TI 자동화 프록시를 호출합니다.

  3. 애플리케이션이 COM+ 구성 요소인 경우 TI 자동화 프록시는 다음을 수행합니다.

    1. TI 디자이너에서 이전에 만든 형식 라이브러리를 읽습니다.

    2. 자동화 데이터 형식을 IBM i RPG 데이터 형식에 매핑합니다.

      애플리케이션이 .NET Framework 어셈블리인 경우 TI 자동화 프록시는 다음을 수행합니다.

    3. TI 디자이너에서 이전에 만든 어셈블리 및 메타데이터를 읽습니다.

    4. .NET Framework 데이터 형식을 IBM i RPG 데이터 형식에 매핑합니다.

      그런 다음, TI 자동화 프록시는 다음을 수행합니다.

    5. 변환 루틴을 호출하여 애플리케이션 데이터를 IBM i RPG 형식으로 변환합니다.

    6. RPG PLIST를 나타내는 매개 변수화된 메시지 버퍼를 빌드합니다.

    7. IBM i DPC 전송 구성 요소에 메시지를 전달합니다.

  4. TI TCP 전송은 IBM i 컴퓨터의 IP(인터넷 프로토콜) 주소와 서버의 포트 주소를 사용하여 DPC Server 시스템에 연결 요청을 보냅니다. 그러면 TI TCP 전송이 회신을 기다립니다.

  5. IBM의 DPC Server i는 세션 요청을 수락하고 수신을 발급합니다. 그런 다음 DPC 서버는 시작 서버 요청을 기다립니다.

  6. TI 자동화 프록시는 DPC Server에 시작 서버 요청을 보내고 수신을 실행합니다. 그러면 TI TCP 전송이 시작 서버 회신을 기다립니다.

  7. DPC 서버는 시작 서버 요청을 처리하고 시작 서버 회신을 보낸 다음 수신을 실행합니다. 그런 다음 DPC 서버는 교환 특성 요청을 기다립니다.

  8. TI 런타임은 시작 서버 회신을 처리하고 특성 요청을 보낸 다음 수신을 실행합니다. 이후 TI 런타임은 교환 특성 회신을 기다립니다.

  9. DPC 서버는 교환 특성 요청을 처리하고 교환 특성 회신을 보낸 다음 수신을 실행합니다. 그런 다음 DPC는 원격 프로그램 호출 요청을 기다립니다.

  10. TI 런타임은 교환 특성 회신을 처리한 다음 원격 프로그램 호출 요청을 보내고 이후 즉시 원격 프로그램 호출 회신과 변환된 데이터를 보냅니다.

  11. DPC 서버는 요청을 처리하고 원격 프로그램 호출 회신과 원격 프로그램 호출 매개 변수 및 데이터를 보냅니다.

  12. TI 자동화 프록시는 회신 데이터를 받고 회신을 처리합니다. TI 자동화 프록시는 다음을 수행합니다.

    1. TCP 전송 구성 요소에서 메시지를 받습니다.

    2. 메시지 버퍼를 읽습니다.

      애플리케이션이 COM+ 구성 요소인 경우 TI 자동화 프록시는 다음을 수행합니다.

    3. IBM i 데이터 형식을 자동화 데이터에 매핑합니다.

    4. 변환 루틴을 호출하여 IBM i RPG 형식을 애플리케이션 데이터로 변환합니다.

      애플리케이션이 .NET 어셈블리인 경우 TI 자동화 프록시는 다음을 수행합니다.

    5. IBM i 데이터 형식을 .NET Framework 데이터 형식에 매핑합니다.

    6. 변환 루틴을 호출하여 IBM i RPG 형식을 애플리케이션 데이터로 변환합니다.

  13. TI 런타임은 메서드를 호출한 .NET Framework 애플리케이션 또는 COM에 변환된 데이터를 다시 보냅니다.

    참고

    메시지의 최대 크기는 필드 헤더와 데이터를 포함하여 32,767바이트입니다.

    참고

    RMTPGMCALL은 최대 35개 매개 변수를 IN 또는 OUT으로 전달하거나 모든 조합에서 IN/OUT으로 전달할 수 있습니다.

    Host Integration Server에는 IMS Connect 프로그래밍 모델을 구현하는 방법을 보여 주는 샘플 코드가 포함되어 있습니다. 샘플 코드는 \installation directory\SDK\Samples\AppInt에 있습니다. Microsoft Visual Studio를 시작하고 사용하려는 자습서를 연 다음, 추가 정보의 지침을 따릅니다.

    IBM IBM용 메인프레임 구성 및 서버 애플리케이션 작성에 대한 자세한 내용은 ILE RPG/400 프로그래머 가이드 버전 4(IBM 문서 #SC09-2507-02) 및 ILE RPG/400 참조 버전 3(IBM 문서 #SC09-2077-01)을 참조하세요.

참고 항목

트랜잭션 통합자 구성 요소
RPG에서 Automation으로 데이터 형식 변환
Automation에서 RPG로 데이터 형식 변환
IBM i Security
COMTIContext 인터페이스
TI 런타임
적절한 프로그래밍 모델 선택
프로그래밍 모델