IBM i リモート・コマンドおよび分散プログラム呼び出し (DPC) プログラミング・モデルを使用すると、ほとんどの IBM i アプリケーションは、要求/応答方式 (クライアント側からのみ開始) で TI と対話し、最小限の変更を加えることができます。 DPC は、IBM i 上のプログラム間の統合をサポートする文書化されたプロトコルであり、TCP/IP ネットワーク・プロトコルを使用して PC ベースのアプリケーションから簡単にアクセスできます。
注
このインターフェイスは、ホストによって開始される処理 (HIP) をサポートしていません。IBM i 統合は、クライアント開始呼び出し専用です。
次の図は、クライアント、デフォルトの DPC サーバー、および IBM i トランザクション・プログラムの間で発生するワークフローをまとめたものです。 かっこ内の数値は、イベントが発生するおおよその順序を示します。 この図の後に、イベントの詳細な説明を示します。
IBM i モデル・フロー
IBM i DPC プログラミング・モデルの概要ワークフロー図
IBM i DPC プログラミング モデルは次のように動作します。
アプリケーションは、コンポーネント サービスまたは .NET Framework で構成された TI コンポーネント内のメソッドを呼び出します。
TI ランタイムは、TI オートメーション プロキシを呼び出します。
アプリケーションが COM+ コンポーネントの場合、TI オートメーション プロキシは次のようになります。
TI デザイナーによって以前に作成されたタイプ ライブラリを読み取ります。
自動化データ・タイプを IBM i RPG データ・タイプにマップします。
アプリケーションが .NET Framework アセンブリの場合、TI オートメーション プロキシは次のようになります。
TI デザイナーによって以前に作成されたアセンブリとメタデータを読み取ります。
.NET Framework データ型を IBM i RPG データ型にマップします。
その後、TI Automation プロキシは次の操作を行います。
変換ルーチンを呼び出して、アプリケーション・データを IBM i RPG タイプに変換します。
RPG PLIST を表すパラメーター化メッセージ・バッファーをビルドします。
メッセージを IBM i DPC トランスポート・コンポーネントに渡します。
TI TCP トランスポートは、IBM i コンピューターのインターネット・プロトコル (IP) アドレスとサーバーのポート・アドレスを使用して、DPC サーバー・システムに接続要求を送信します。 その後、TI TCP トランスポートは応答を待機します。
IBM i 上の DPC サーバーはセッション要求を受け入れ、受信を発行します。 その後、DPC サーバーはサーバーの開始要求を待機します。
TI オートメーション プロキシは、DPC サーバーに開始サーバー要求を送信し、受信を発行します。 その後、TI TCP トランスポートはサーバーの開始応答を待機します。
DPC サーバーは、サーバーの開始要求を処理し、サーバーの開始応答を送信してから、受信を発行します。 その後、DPC サーバーは交換属性要求を待機します。
TI ランタイムは、サーバーの開始応答を処理し、属性要求を送信し、受信を発行します。 TI ランタイムは、exchange 属性の応答を待機します。
DPC サーバーは、交換属性要求を処理し、交換属性の応答を送信してから、受信を発行します。 その後、DPC はリモート プログラム呼び出し要求を待機します。
TI ランタイムは、交換属性の応答を処理し、リモート・プログラム呼び出し要求の直後にリモート・プログラム呼び出し応答と変換されたデータを送信します。
DPC サーバーは要求を処理し、リモート・プログラム呼び出し応答の後にリモート・プログラム呼び出しパラメーターとデータを送信します。
TI オートメーション プロキシは応答データを受信し、応答を処理します。 TI オートメーション プロキシ:
TCP トランスポート コンポーネントからメッセージを受信します。
メッセージ バッファーを読み取ります。
アプリケーションが COM+ コンポーネントの場合、TI オートメーション プロキシは次のようになります。
IBM i データ・タイプを自動化データにマップします。
変換ルーチンを呼び出して、IBM i RPG タイプをアプリケーション・データに変換します。
アプリケーションが .NET アセンブリの場合、TI オートメーション プロキシは次のようになります。
IBM i データ型を .NET Framework データ型にマップします。
変換ルーチンを呼び出して、IBM i RPG タイプをアプリケーション・データに変換します。
TI ランタイムは、変換されたデータを、メソッドを呼び出した COM または .NET Framework アプリケーションに送り返します。
注
メッセージの最大サイズは、フィールド ヘッダーとデータを含めて 32,767 バイトです。
注
RMTPGMCALL は、IN または OUT として、または任意の組み合わせで IN/OUT として最大 35 個のパラメーターを渡すことができます。
Host Integration Server には、IMS Connect プログラミング モデルを実装する方法を示すサンプル コードが含まれています。 サンプル コードは、 \installation ディレクトリ\SDK\Samples\AppInt にあります。 Microsoft Visual Studio を起動し、使用するチュートリアルを開き、 Readme の指示に従います。
IBM ie のメインフレームおよび書き込みサーバー・アプリケーションの構成については、ILE RPG/400 プログラマー・ガイド・バージョン 4 (IBM ドキュメント #SC09-2507-02) および ILE RPG/400 リファレンス・バージョン 3 (IBM ドキュメント #SC09-2077-01) を参照してください。
こちらもご覧ください
トランザクション インテグレーター コンポーネント
RPG から Automation へのデータ型の変換
自動化から RPG へのデータ・タイプの変換
IBM i セキュリティー
COMTIContext インターフェイス
TI ランタイム
適切なプログラミング モデルの選択
プログラミング モデル