次の方法で共有


IBM ミッドレンジ・システム上の COBOL および RPG プログラムを Azure Logic Apps の標準ワークフローと統合する

適用対象: Azure Logic Apps (Standard)

Azure Logic Apps の標準ワークフローから IBM ミッドレンジ・システム上の COBOL および RPG プログラムにアクセスして実行するには、 IBM i Program Call 組み込みのサービス・プロバイダー・ベースのコネクターを使用できます。 IBM i オペレーティング・システムは、分散プログラム呼び出し (DPC) サーバーを提供します。 このコネクターは IBM i DPC サーバーと通信し、TCP/IP を使用して COBOL および RPG プログラムを実行します。 IBM i コネクタは、21Vianet が運営する Azure Government と Microsoft Azure を除くすべての Azure Logic Apps リージョンで使用できます。

この記事では、IBM i コネクタに関する次の側面について説明します。

  • Azure Logic Apps で IBM i コネクタを使用するためのシナリオ
  • IBM i コネクタを使用するための前提条件とセットアップ
  • 標準ロジック アプリ ワークフローに IBM i コネクタ アクションを追加する手順

コネクタの使用シナリオを確認する

IBM は、50 年以上前に最初のミッドレンジ システムをリリースしました。 IBM は、「サイズが小さく、価格が小さく、パフォーマンスが大きい」と宣伝しました。 今のところ、そして将来のためのシステムです。長年にわたり、ミッドレンジ システムは進化し、中規模企業や大企業でメインフレーム環境を拡張するために普及しました。 IBM i (通常は Power Systems) を実行するミッドレンジ・システムは、TCP/IP および SNA をサポートします。

IBM i システムには DPC サーバー機能が含まれています。これにより、ほとんどの IBM i アプリケーションは、最小限の変更でクライアントによって開始される要求/応答パターンを使用して、Azure Logic Apps などのクライアントと対話できます。 DPC は、IBM i システムでのプログラム間統合をサポートする文書化されたプロトコルであり、クライアント・アプリケーションは TCP/IP ネットワーク・プロトコルを使用して簡単にアクセスできます。

Microsoft Host Integration Server (HIS) は、TCP/IP と APPC LU6.2 を使用して IBM i システムへの接続を提供します。 長年にわたり、お客様は HIS トランザクション インテグレーターを使用して、オンプレミスの IBM i システムと Windows を統合してきました。 IBM i プログラム呼び出しコネクターは、TCP/IP プログラミング・モデルを使用して IBM i COBOL および RPG プログラムと対話します。

次の図は、IBM i コネクターが IBM i システムと対話する方法を示しています。

概念図は、IBM i プログラム呼び出しコネクターが IBM ミッドレンジ・システムとどのように連携するかを示しています。

これらのハイブリッド クラウド シナリオを拡張するために、標準ワークフローの IBM i コネクタは HIS Designer for Logic Apps と連携します。このデザイナーを使用して、COBOL または RPG プログラムのプログラム定義 または プログラム マップ を作成できます。 このタスクでは、HIS デザイナーは、ミッドレンジとワークフローの間のデータ交換の特性を決定する プログラミング モデル を使用します。 HIS デザイナーは、その情報を、ワークフローでアクションを実行するときに IBM i コネクタが使用するメタデータに変換します。

HIS デザイナーからホスト統合デザイナー XML (HIDX) ファイルとしてメタデータ ファイルを生成した後、そのファイルをマップ成果物として Standard ロジック アプリ リソースに追加できます。 こうすることで、IBM i コネクタ アクションを追加するときに、ワークフローからアプリのメタデータにアクセスできます。 コネクタは、ロジック アプリ リソースからメタデータ ファイルを読み取り、ワークフロー内の IBM i コネクタで使用するパラメーターを動的に提示します。 その後、ホスト アプリケーションにパラメーターを指定すると、コネクタによってワークフローに結果が返されます。 その結果、レガシ アプリを、Azure Logic Apps でサポートされている Azure、Microsoft、その他のアプリ、サービス、システムと統合できます。

コネクタに関するテクニカル リファレンス

現時点では、IBM i コネクターに対して 1 つの操作 ( IBM i プログラムを呼び出す) を使用できます。 次の表は、このアクションの使用方法をまとめたものです。

パラメーター 必須 タイプ 説明
HIDX 名 イエス 使用する IBM i HIDX ファイルを選択します。
メソッド名 イエス 使用する HIDX ファイル内のメソッドを選択します。
高度なパラメーター いいえ 場合により異なる この一覧は、選択したメソッドで使用する他のパラメーターを追加できるように、メソッドを選択した後に表示されます。 使用できるパラメーターは、HIDX ファイルと選択した方法によって異なります。

この操作には、メソッドを選択した後に表示される高度なパラメーターも含まれ、選択したメソッドを選択して使用できます。 これらのパラメーターは、HIDX ファイルと選択する方法によって異なります。

[前提条件]

  • Azure アカウントとサブスクリプション。 Azure サブスクリプションがない場合は、無料の Azure アカウントにサインアップしてください。

  • IBM i システムをホストするミッドレンジ・サーバーへのアクセス。

  • ミッドレンジ プログラムを実行するために IBM i Program Call コネクタに必要なメタデータを提供するホスト統合デザイナー XML (HIDX) ファイル。

    この HIDX ファイルを作成するには、 AZURE Logic Apps 用 HIS デザイナーをダウンロードしてインストールします。 唯一の前提条件は Microsoft .NET Framework 4.8 です

    ミッドレンジ プログラムを呼び出すには、ワークフローでミッドレンジ プログラムの型、パラメーター、および戻り値を理解する必要があります。 IBM i コネクタは、このプロセスとデータ変換を管理します。 これらの必要な変換は、ワークフローからミッドレンジ プログラムへの入力データを提供し、ミッドレンジ プログラムから生成された出力データをワークフローに送信します。 コネクタには、表形式のデータ定義とコード ページ変換も用意されています。 このプロセスでは、Azure Logic Apps では、この情報をメタデータとして指定する必要があります。

    このメタデータを作成するには、 LOGIC Apps 用 HIS デザイナーを使用します。 このツールを使用すると、ワークフローで使用するメソッド、パラメーター、および戻り値を手動で作成できます。 この情報を提供する COBOL または RPG プログラム定義 (コピーブック) をインポートすることもできます。

    このツールは、コネクタに必要なメタデータを提供する Host Integration Designer XML (HIDX) ファイルを生成します。 HIS を使用している場合は、HIS トランザクション インテグレーター (TI) デザイナーを使用して HIDX ファイルを作成できます。

  • IBM i システムと統合する標準ロジック・アプリ・ワークフロー。

    IBM i コネクタにはトリガーがないため、 繰り返し トリガーや 要求 トリガーなど、トリガーを使用してワークフローを開始します。 その後、IBM i コネクタアクションを追加できます。 開始するには、Standard ロジック アプリ リソースに空のワークフローを作成します。

制限事項

現時点では、IBM i コネクタでは、統合アカウントではなく、HIDX ファイルを Standard ロジック アプリ リソースに直接アップロードする必要があります。

メタデータの定義と生成

Azure Logic Apps 用 HIS デザイナーをダウンロードしてインストールした後、 次の手順に従ってメタデータ成果物から HIDX ファイルを生成します。

HIDX ファイルをアップロードする

ワークフローで HIDX ファイルを使用するには、次の手順に従います。

  1. HIDX ファイルを保存したフォルダーに移動し、ファイルをコピーします。

  2. Azure portal で、Standard ロジック アプリ リソースを開きます。

  3. ロジック アプリ メニューの [ 成果物] で、 HIDX ファイルをロジック アプリ リソースへのマップとしてアップロードします

  4. 次のセクションに進み、 ワークフローに IBM i アクションを追加します

このガイドの後半で、 初めて IBM i Program Call コネクタ アクションをワークフローに追加すると、ワークフローとミッドレンジ システムの間に接続を作成するように求めるプロンプトが表示されます。 接続を作成したら、以前に追加した HIDX ファイル、実行するメソッド、および使用するパラメーターを選択できます。

IBM i アクションを追加する

IBM i アクションを追加し、必要なパラメーターを構成するには、次の手順に従います。

  1. Azure portal で、Standard ロジック アプリ リソースとワークフローをデザイナーで開きます。

  2. ワークフローを開始するトリガーがない場合は、 次の一般的な手順に従って、必要なトリガーを追加します。

    この例では、HTTP 要求を受信したときにという名前の要求トリガーを続行します。

    Azure portal、Standard ワークフロー デザイナー、要求トリガーを示すスクリーンショット。

  3. IBM i コネクター・アクションを追加するには、以下の一般的な手順に従って、IBM i プログラム呼び出し組み込みコネクター・アクション 「IBM i プログラムの呼び出し」を追加します。

  4. 接続の詳細ペインが表示されたら、ホスト・サーバー名や IBM i システム構成情報などの以下の情報を指定します。

    パラメーター 必須 価値 説明
    接続名 イエス <connection-name> 接続名
    サーバー証明書の共通名 いいえ <サーバー証明書共通名> 使用するトランスポート セキュリティ層 (TLS) 証明書の名前。
    コード ページ いいえ <code-page> テキストの変換に使用するコード ページ番号。
    パスワード いいえ <password> 接続認証用の省略可能なユーザー パスワード。
    ポート番号 イエス <port-number> 接続認証に使用するポート番号。
    [サーバー名] イエス <server-name> サーバー名。
    タイムアウト いいえ <タイムアウト> サーバーからの応答を待機している間のタイムアウト期間 (秒)。
    ユーザー名 いいえ <user-name> 接続認証の省略可能なユーザー名。
    TLS を使用する いいえ True または False トランスポート セキュリティ層 (TLS) を使用して接続をセキュリティで保護します。
    サーバー証明書の検証 いいえ True または False サーバーの証明書を検証します。

    例えば次が挙げられます。

    IBM i アクションの接続プロパティを示すスクリーンショット。

  5. 完了したら、[新規作成] を選択 します

  6. アクションの詳細ウィンドウが表示されたら、[ パラメーター ] セクションで、必要な情報を入力します。

    パラメーター 必須 価値 説明
    HIDX 名前 イエス <HIDX-file-name> 使用する IBM i HIDX ファイルを選択します。
    メソッド名 イエス <method-name> 使用する HIDX ファイル内のメソッドを選択します。
    高度なパラメーター いいえ 場合により異なる この一覧は、選択したメソッドで使用する他のパラメーターを追加できるように、メソッドを選択した後に表示されます。 使用できるパラメーターは、HIDX ファイルと選択した方法によって異なります。

    例えば次が挙げられます。

    HIDX ファイルと方法を選択する

    スクリーンショットは、選択した HIDX ファイルとメソッドを含む IBM i アクションを示しています。

    高度なパラメーターを選択する

    すべてのパラメーターを含む IBM i アクションを示すスクリーンショット。

  7. 完了したら、ワークフローを保存します。 デザイナーのツール バーで、 [保存] を選択します。

ワークフローのテスト

ワークフローを確認し、出力を確認するには、次の手順に従います。

  1. ワークフローを実行するには、デザイナーのツール バーの [ 実行>実行] を選択します。

    ワークフローの実行が完了すると、ワークフローの実行履歴が表示されます。 成功した手順ではチェック マークが表示され、失敗した手順では感嘆符 (!) が表示されます。

  2. 各ステップの入力と出力を確認するには、そのステップを展開します。

  3. 出力を確認するには、[ 未加工の出力を表示] を選択します。