Azure Logic Apps でワークフローを使用して B2B 統合用の RosettaNet メッセージを交換する。

適用対象: Azure Logic Apps (従量課金)

Azure Logic Apps を使用して作成したワークフローで RosettaNet メッセージを送受信するために、RosettaNet コネクタを使用できます。これは、RosettaNet 標準に従う通信を管理およびサポートするアクションを提供します。 RosettaNet は、ビジネス情報を共有するための標準プロセスを確立した非営利コンソーシアムです。 これらの標準は、サプライチェーン プロセスで一般的に使用されており、半導体、エレクトロニクス、および物流業界に広まっています。 RosettaNet コンソーシアムは、一般的なビジネス プロセス定義をすべての RosettaNet メッセージ交換に提供する Partner Interface Processes (PIP) の作成と管理を担っています。 RosettaNet は、XML に基づいており、メッセージ ガイドライン、ビジネス プロセスのインターフェイス、企業間通信の実装フレームワークを定義します。 詳細については、RosettaNet サイトにアクセスしてください。

コネクタは RosettaNet Implementation Framework (RNIF) バージョン 2.0.01 に基づいていて、このバージョンで定義されているすべての PIP をサポートしています。 RNIF は、ビジネス パートナーが共同作業によって RosettaNet PIP を実行できるようにするオープン ネットワーク アプリケーション フレームワークです。 このフレームワークは、メッセージ構造、受信確認の必要性、Multipurpose Internet Mail Extensions (MIME) エンコード、およびデジタル署名を定義します。 パートナーとの通信は、同期または非同期にできます。 このコネクタが提供する機能は次のとおりです。

  • RosettaNet メッセージを受信またはデコードする。
  • RosettaNet メッセージを送信またはエンコードする。
  • 応答、および障害通知の生成を待ちます。

この攻略ガイドでは、次のタスクを実行することで、Azure Logic Apps と RosettaNet コネクタを使用して、ワークフローで RosettaNet メッセージを送受信する方法を示します。

  • PIP プロセス構成がまだない場合は、追加する。
  • RosettaNet 契約を作成する。
  • RosettaNet メッセージを受信またはデコードするアクションを追加する。
  • RosettaNet メッセージを送信またはエンコードするアクションを追加する。

RosettaNet の概念

次の概念と用語は RosettaNet 仕様に固有であり、RosettaNet ベースの統合ワークフローを構築するときに知っておくことが重要です。

  • PIP

    RosettaNet 組織は、一般的なビジネス プロセス定義をすべての RosettaNet メッセージ交換に提供する PIP を作成して管理します。 各 PIP 仕様では、ドキュメント型定義 (DTD) ファイルとメッセージ ガイドライン ドキュメントを提供します。 DTD ファイルは service-content メッセージ構造を定義します。 人間が判読できる HTML ファイルであるメッセージ ガイドライン ドキュメントでは、要素レベルの制約の仕様を定めています。 これらのファイルを合わせて、ビジネス プロセスの完全な定義が提供されます。

    PIP は、高レベルのビジネス機能 (クラスター) とサブ機能 (セグメント) によって分類されます。 たとえば、"3A4" は注文書の PIP であり、"3" は注文管理機能、"3A" は見積もりと受注のサブ機能です。 詳細については、RosettaNet サイトにアクセスしてください。

  • 操作

    PIP の一部であるアクション メッセージは、パートナー間で交換されるビジネス メッセージです。

  • シグナル

    PIP の一部であるシグナル メッセージは、アクション メッセージへの応答で送信される受信確認です。

  • シングル アクションとダブル アクション

    シングル アクション PIP の場合、唯一の応答は受信確認シグナル メッセージです。 ダブル アクション PIP の場合、イニシエーターは応答メッセージを受信し、シングル アクション メッセージ フローのほか、受信確認を返信します。

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

RosettaNet コネクタは、従量課金ロジック アプリ ワークフローでのみ使用できます。

ロジック アプリ 環境 コネクタのバージョン
従量課金プラン マルチテナント Azure Logic Apps デザイナーの [Standard] ラベルの下に表示される、マネージド コネクタ。 RosettaNet コネクタはアクションのみを提供しますが、シナリオに適した任意のトリガーを使用できます。 詳細については、次のドキュメントを確認してください。

- RosettaNet コネクタ操作
- メッセージ サイズの B2B プロトコルの制限
- Azure Logic Apps のマネージド コネクタ

RosettaNet 操作

RosettaNet コネクタにはトリガーがありません。 メッセージを送信するときにセキュリティと信頼性を確立するために RosettaNet コネクタによって提供されるアクションについて次の表で説明します:

アクション 説明
[RosettaNet のエンコード] アクション RosettaNet 標準に従うエンコードを使用して RosettaNet メッセージを送信します。
[RosettaNet のデコード] アクション RosettaNet 標準に従うエンコードを使用して RosettaNet メッセージを受信します。
[RosettaNet が応答を待機しています] アクション 受信側からの RosettaNet 応答またはシグナル メッセージをホストに待機させます。

前提条件

  • Azure アカウントとサブスクリプション。 サブスクリプションがない場合は、無料アカウントを作成します。

  • RosettaNet 操作を使用する従量課金ロジック アプリ リソースとワークフロー。

  • ご利用の契約およびその他の企業間 (B2B) 成果物を格納する統合アカウント

    重要

    連携するには、統合アカウントとロジック アプリ リソースの両方が、同じ Azure サブスクリプションと Azure リージョンに存在する必要があります。 ワークフローで統合アカウント成果物を使用するには、必ずロジック アプリ リソースを統合アカウントにリンクしてください。

  • 統合アカウントで定義され、Azure portal の [ビジネス ID]DUNS 修飾子を使用する 2 件以上のパートナー

    Note

    1 - D-U-N-S (Dun & Bradstreet) ではなく、[修飾子] 一覧の一番下付近に表示される DUNS を修飾子として選択してください。

  • 統合アカウントにアップロードするメッセージの暗号化、復号化、または署名のための証明書 (省略可能)。 証明書は、署名または暗号化を使用する場合にのみ必要です。

PIP プロセス構成を追加する

RosettaNet メッセージを送受信するには、統合アカウントに PIP プロセス構成が必要です (まだない場合)。 プロセス構成には、すべての PIP 構成特性が格納されます。 これでパートナーとの契約を作成するときにこの構成を参照できます。

  1. Azure portal で統合アカウントに移動します。

  2. 統合アカウントのナビゲーション メニューで、[設定][RosettaNet PIP] を選択します。

    Azure portal と統合アカウント ページのスクリーンショット。ナビゲーション メニューで、[RosettaNet PIP] が選択されています。

  3. [RosettaNet PIP] ページで、[追加] を選択します。 [Partner Interface Process の追加] ペインで、PIP の詳細を入力します。

    [追加] が選択されている [RosettaNet PIP] ページのスクリーンショット。[Partner Interface Process の追加] ペインには、名前、コード、およびバージョンのボックスがあります。

    プロパティ Required 内容
    件名 はい PIP 名。
    PIP コード はい 3 桁の PIP コード。 詳細については、RosettaNet PIP を参照してください。
    PIP バージョン はい 選択した PIP コードに応じた PIP バージョン番号。

    これらの PIP プロパティの詳細については、RosettaNet Web サイトを参照してください。

  4. 完了したら、[OK] を選択して PIP 構成を作成します。

  5. プロセス構成を表示または編集するには、PIP を選択し、[JSON として編集] を選択します。

    すべてのプロセス構成設定は PIP の仕様に由来します。 Azure Logic Apps は、ほとんどの設定に、これらのプロパティに対して最も一般的に使用される値である既定値を事前設定します。

    [JSON として編集] と [PIP] が選択されている [RosettaNet PIP] ページのスクリーンショット。[JSON として編集] の下に、エンコードされた PIP プロパティが表示されています。

  6. 設定が適切な PIP 仕様の値に対応しており、ビジネス ニーズを満たしていることを確認します。 必要に応じて、JSON 内の値を更新し、それらの変更を保存します。

RosettaNet 契約を作成する

  1. Azure portal で統合アカウントに移動します。

  2. 統合アカウントのナビゲーション メニューで、[設定][契約] を選択します。

    統合アカウント ページが開いている Azure portal を示すスクリーンショット。ナビゲーション メニューで、契約オプションが選択されています。

  3. [契約] ページで、[追加] を選択します。 [追加] で、契約の詳細を入力します。

    [追加] オプションが選択された [契約] ページを示すスクリーンショット。[追加] という名前のペインに、契約の名前と種類用と、パートナー情報用のボックスが表示されます。

    プロパティ Required 内容
    件名 はい 契約の名前。
    契約の種類 はい 契約の種類。 RosettaNet を選択します。
    ホスト パートナー はい 契約を構成している組織。 契約には、ホストとゲストの両方のパートナーが必要です。
    ホスト ID はい ホスト パートナーの ID。
    ゲスト パートナー はい ホスト パートナーと取引している組織。 契約には、ホストとゲストの両方のパートナーが必要です。
    ゲスト ID はい ゲスト パートナーの ID。
    受信設定 場合により異なる ホスト パートナーが受信するすべてのメッセージに適用されるプロパティ。
    送信の設定 場合により異なる ホスト パートナーが送信するすべてのメッセージに適用されるプロパティ。
    RosettaNet PIP 参照 はい 契約の PIP 参照。 すべての RosettaNet メッセージには PIP 構成が必要です。
  4. ゲスト パートナーからメッセージを受信するために契約をセットアップするには、 [Receive Settings](受信設定) を選択します。

    1. 受信メッセージの署名または暗号化を有効にするには、[メッセージ] で、[メッセージに署名を付ける] または [メッセージを暗号化する] をそれぞれ選択します。

      プロパティ Required 説明
      メッセージに署名してください いいえ 選択した証明書で受信メッセージに署名するオプション
      [MSSQLSERVER のプロトコルのプロパティ] はい (署名が有効な場合) 署名に使用する証明書
      メッセージの暗号化を有効にしてください いいえ 選択した証明書で受信メッセージを暗号化するオプション
      [MSSQLSERVER のプロトコルのプロパティ] はい (暗号化が有効な場合) 暗号化に使用する証明書
    2. 各選択の下で、署名または暗号化に使用する、ご使用の統合アカウントの証明書を選択します。

    メッセージの署名と暗号化、証明書の入力のオプションがある [受信設定] ページのスクリーンショット。

  5. ゲスト パートナーにメッセージを送信するための契約を設定するには、 [Send Settings](送信設定) を選択します。

    1. 送信メッセージの署名または暗号化を有効にするには、[メッセージ] で、[メッセージの署名を有効にしてください] または [メッセージの暗号化を有効にしてください] をそれぞれ選択します。 各選択の下で、署名または暗号化に使用する、ご使用の統合アカウントのアルゴリズムと証明書を選択します。

      プロパティ Required 説明
      メッセージの署名を有効にしてください いいえ 選択した署名アルゴリズムと証明書を使用して送信メッセージに署名するオプション
      署名アルゴリズム はい (署名が有効な場合) 使用する署名アルゴリズム (選択した証明書に基づきます)
      [MSSQLSERVER のプロトコルのプロパティ] はい (署名が有効な場合) 署名に使用する証明書
      メッセージの暗号化を有効にしてください いいえ 選択した暗号化アルゴリズムと証明書を使用して送信メッセージを暗号化するオプション
      暗号化アルゴリズム はい (暗号化が有効な場合) 使用する暗号化アルゴリズム (選択した証明書に基づきます)
      [MSSQLSERVER のプロトコルのプロパティ] はい (暗号化が有効な場合) 暗号化に使用する証明書
    2. [エンドポイント] で、アクション メッセージと受信確認の送信に使用する必須の URL を指定します。

      プロパティ Required 説明
      アクション URL はい アクション メッセージの送信に使用する URL。 この URL は、同期メッセージと非同期メッセージの両方で必須のフィールドです。
      Acknowledgment URL (受信確認 URL) はい 受信確認メッセージの送信に使用する URL。 この URL は非同期メッセージで必須のフィールドです。

    [送信設定] ページを示すスクリーンショット。メッセージの署名と暗号化、およびアルゴリズム、証明書、エンドポイントの入力のオプションが表示されています。

  6. パートナー用の RosettaNet PIP 参照を契約に設定する場合、 [RosettaNet PIP references](RosettaNet PIP 参照) を選択します。 [PIP 名] で、前に作成した PIP の名前を選択します。

    1 つの行がある PIP 情報の表を示すスクリーンショット。この行には、既定値が含まれています (選択されている MyPIPConfig という名前を除く)。

    選択すると、統合アカウントに設定した PIP に基づいて、残りのプロパティが事前設定されます。 必要な場合、 [PIP Role](PIP ロール) を変更できます。

    PIP 情報を含むテーブルを示すスクリーンショット。MyPIPConfig という名前の PIP の行には、正確な情報が表示されます。

これらの手順を完了したら、RosettaNet メッセージを送受信する準備ができています。

RosettaNet メッセージを受信またはデコードする

  1. Azure portal で、従量課金ロジック アプリのワークフローをデザイナーで開きます。

    ワークフローにはトリガーと、RosettaNet アクションを追加する前に実行するその他のアクションが既に存在しています。 ここでは、要求トリガーを例に進めます。

  2. トリガーまたはアクションで、[新しいステップ] を選択します。

    デザイナーのスクリーンショット。要求トリガーで、[新しいステップ] が選択されています。

  3. [操作を選択してください] の検索ボックスで、 [すべて] を選択します。 検索ボックスに「rosettanet」と入力します。 アクション リストで、[RosettaNet Decode] という名前のアクションを選択します。

    デザイナーのスクリーンショット。[操作を選択してください] 検索ボックスに rosettanet が含まれていて、RosettaNet Decode アクションが選択されています。

  4. アクションのプロパティの情報を入力します。

    メッセージ、ヘッダー、ロールにボックスを使用できる RosettaNet Decode アクションのスクリーンショット。

    プロパティ Required 説明
    メッセージ はい デコードする RosettaNet メッセージ
    ヘッダー はい バージョン (これは RNIF のバージョンです) と応答タイプ (パートナー間の通信の種類を示し、同期または非同期に設定できます) の値を提供する HTTP ヘッダー
    ロール はい PIP でのホスト パートナーのロール

    RosettaNet Decode アクションの出力には、[送信シグナル] が含まれます。 この出力をエンコードしてパートナーに返すことも、この出力に対して他のアクションを実行することもできます。

RosettaNet メッセージを送信またはエンコードする

  1. Azure portal で、従量課金ロジック アプリのワークフローをデザイナーで開きます。

    ワークフローにはトリガーと、RosettaNet アクションを追加する前に実行するその他のアクションが既に存在しています。 ここでは、要求トリガーを例に進めます。

  2. トリガーまたはアクションで、[新しいステップ] を選択します。

    デザイナーのスクリーンショット。要求トリガーで、[新しいステップ] が選択されています。

  3. [操作を選択してください] の検索ボックスで、 [すべて] を選択します。 検索ボックスに「rosettanet」と入力します。 アクション リストで、[RosettaNet Encode] という名前のアクションを選択します。

    デザイナーのスクリーンショット。[操作を選択してください] 検索ボックスに rosettanet が含まれていて、RosettaNet Encode アクションが選択されています。

  4. アクションのプロパティの情報を入力します。

    メッセージ、パートナー、PIP 情報、メッセージの種類、ロールのボックスが表示される RosettaNet Encode アクションのスクリーンショット。

    プロパティ Required 説明
    メッセージ はい エンコードする RosettaNet メッセージ
    Host Partner (ホスト パートナー) はい ホスト パートナーの名前
    Guest Partner (ゲスト パートナー) はい ゲスト パートナーの名前
    PIP code (PIP コード) はい PIP コード
    PIP version (PIP バージョン) はい PIP バージョン
    PIP instance identity (PIP インスタンス ID) はい この PIP メッセージの一意識別子
    Message type (メッセージの種類) はい エンコードするメッセージの種類
    ロール はい ホスト パートナーのロール

    エンコードされたメッセージをパートナーに送信する準備ができました。

  5. エンコードされたメッセージを送信するために、次の例では、HTTP - Send encoded message to partner という名前に変更される [HTTP] アクションを使用します。

    HTTP アクションの名前が HTTP - Send encoded message to partner に変更され、URI、ヘッダー、本文の値が入力されているデザイナーのスクリーンショット。

    RosettaNet の標準に従い、ビジネス トランザクションは、PIP で定義されているすべてのステップが完了した時点ではじめて、完了したと見なされます。

  6. エンコードしたメッセージをホストがパートナーに送信した後、ホストはシグナルと受信確認を待機します。 このタスクを完了するために、[RosettaNet wait for response] という名前のアクションを追加します。

    本文、PIP インスタンス ID、再試行回数、ロールのボックスを使用できる RosettaNet wait for response アクションのスクリーンショット。

    待機に使用する期間と再試行回数は、統合アカウントでの PIP 構成に基づきます。 応答が受信されない場合は、失敗の通知が生成されます。 再試行を処理するために、常に [エンコード] および [Wait for response](応答を待つ) アクションを [Until](期限) ループに配置します。

    デザイナーのスクリーンショット。Until ループには、メッセージのエンコードと送信、および応答の待機のためのアクションが含まれます。

RosettaNet テンプレート

開発を加速し、統合パターンを推奨するために、従量課金ロジック アプリ テンプレートを使用して、RosettaNet メッセージをデコードおよびエンコードできます。 従量課金ロジック アプリ ワークフローを作成するとき、デザイナーのテンプレート ギャラリーから選択できます。 これらのテンプレートは、Azure Logic Apps の GitHub リポジトリから検索することもできます。

デザイナーのスクリーンショット。RosettaNet メッセージをデコードおよびエンコードするために、[エンタープライズ統合] カテゴリ、およびテンプレートが選択されています。

次のステップ