適用対象: Azure Logic Apps (従量課金 + 標準)
Azure Logic Apps を使用して作成したワークフローで RosettaNet メッセージを送受信するには、 RosettaNet コネクタを使用します。 このコネクタは、RosettaNet 標準に従う通信をサポートおよび管理するアクションを提供します。 これらの標準は、サプライチェーン プロセスで一般的に使用されており、半導体、エレクトロニクス、および物流業界に広まっています。 RosettaNet は、XML に基づいており、メッセージ ガイドライン、ビジネス プロセスのインターフェイス、企業間通信の実装フレームワークを定義します。
RosettaNet コネクタには、次の機能があります。
- RosettaNet メッセージの受信とデコード。
- RosettaNet メッセージを送信およびエンコードします。
- 応答、および障害通知の生成を待ちます。
このガイドでは、RosettaNet の概要を簡単に説明し、RosettaNet のエンコードアクションとデコード アクションを既存のロジック アプリ ワークフローに追加する方法について説明します。 RosettaNet コネクタにはトリガーがないため、任意のトリガーを使用してワークフローを開始できます。 このガイドの例では、要求トリガーを使用します。
RosettaNet の概念を理解する
RosettaNet は、ビジネス情報を共有するための標準プロセスを確立した組織です。 この組織は、すべての RosettaNet メッセージ交換に共通のビジネス プロセス定義を提供するパートナー インターフェイス プロセス (PIP) を作成および管理します。 詳細については、 RosettaNet の Web サイトを参照してください。
RosettaNet コネクタは RosettaNet Implementation Framework (RNIF) バージョン 2.0.01 に基づいており、このバージョンで定義されているすべての PIP をサポートしています。 RNIF は、ビジネス パートナーが RosettaNet PIP を共同で実行できるようにするオープン ネットワーク アプリケーション フレームワークです。 このフレームワークは、メッセージ構造、受信確認の必要性、Multipurpose Internet Mail Extensions (MIME) エンコード、およびデジタル署名を定義します。 パートナー間の通信は、同期または非同期にすることができます。
次の表では、RosettaNet の概念と用語について説明します。
| 概念 | 説明 |
|---|---|
| PIP | PIP は、すべての RosettaNet メッセージ交換に共通のビジネス プロセス定義を提供します。 PIP は、高度なビジネス機能、 クラスター、サブ関数、またはセグメントによって分類 されます。 たとえば、"3A4" は注文書の PIP であり、"3" は注文管理機能、"3A" は見積もりと&受注のサブ機能です。 各 PIP 仕様では、ドキュメント型定義 (DTD) ファイルとメッセージ ガイドライン ドキュメントを提供します。 DTD ファイルは service-content メッセージ構造を定義します。 メッセージ ガイドライン ドキュメントは、要素レベルの制約を指定する人間が判読できる HTML ファイルです。 PIP ファイルと DTD ファイルを組み合わせることで、ビジネス プロセスの完全な定義が提供されます。 詳細については、 RosettaNet の Web サイトを参照してください。 |
| アクション | アクション メッセージは PIP の一部であり、パートナーが相互に交換するビジネス メッセージです。 |
| シグナル | シグナル メッセージは PIP の一部であり、アクション メッセージに応答して送信される受信確認です。 |
| シングル アクションとダブル アクション | 1 つのアクションを持つ PIP の場合、唯一の応答は受信確認シグナル メッセージです。 ダブルアクション PIP の場合、イニシエーターは応答メッセージを受信し、単一アクション メッセージ フローと共に受信確認で応答します。 |
コネクタに関するテクニカル リファレンス
RosettaNet コネクタのバージョンは、 ロジック アプリの種類とホスト環境に基づいて異なります。
| ロジック アプリ | 環境 | コネクタのバージョン |
|---|---|---|
| 従量課金 | マルチテナント Azure Logic Apps | RosettaNet マネージド コネクタ。コネクタ ギャラリーの [ 共有] に表示されます。 RosettaNet コネクタはアクションのみを提供します。 シナリオに適した任意のトリガーを使用できます。 詳細については、以下を参照してください。 - RosettaNet 操作 - メッセージ サイズの B2B プロトコルの制限 |
| 標準 | シングルテナントの Azure Logic Apps、App Service Environment v3 (Windows プランのみ)、ハイブリッド デプロイ | RosettaNet 組み込みコネクタ。コネクタ ギャラリーの [組み込み] の下に表示されます。 RosettaNet コネクタはアクションのみを提供します。 シナリオに適した任意のトリガーを使用できます。 組み込みのコネクタは、Azure 仮想ネットワークに直接アクセスできます。 オンプレミス データ ゲートウェイは必要ありません。 詳細については、以下を参照してください。 - RosettaNet 操作 - メッセージ サイズの B2B プロトコルの制限 |
RosettaNet 操作
RosettaNet コネクタにはトリガーがありません。 メッセージを送信するときにセキュリティと信頼性を確立するために RosettaNet コネクタによって提供されるアクションについて次の表で説明します:
前提条件
Azure アカウントとサブスクリプション。 無料の Azure アカウントを取得します。
RosettaNet 操作を使用するロジック アプリのリソースとワークフロー。
このワークフローには、シナリオに最適なトリガーと、RosettaNet アクションを追加する前に実行するその他のアクションが必要です。
詳細については、以下を参照してください。
エンタープライズ統合と B2B ワークフローで使用するために成果物を定義して格納するエンタープライズ統合アカウント。
統合アカウントとロジック アプリ リソースの両方が、同じ Azure サブスクリプションおよび Azure リージョンに存在する必要があります。
ワークフローで使用される RosettaNet 操作に参加する少なくとも 2 つの 取引先 を定義します。 どちらのパートナー定義でも、同じ ビジネス ID 修飾子 ( DUNS) を使用する必要があります。
重要
1 - D-U-N-S (Dun & Bradstreet) ではなく、修飾子リストの下部付近にある DUNS を選択してください。
すべての PIP 構成特性を格納する PIP プロセス 構成が含まれています。 この構成は、パートナー間の契約を作成するときに使用します。 プロセス構成がない場合は、 PIP プロセス構成を追加します。
RosettaNet 操作に参加する取引先間の RosettaNet 契約を定義します。 契約には、ホスト パートナーとゲスト パートナーが必要です。 パートナー間のメッセージ内のコンテンツは、契約の種類と一致する必要があります。 RosettaNet 契約の作成を参照してください。
RosettaNet 操作を始める前に、Consumption ロジック アプリまたは Standard ロジック アプリを統合アカウントにリンクする必要があります。
統合アカウントにアップロードするメッセージの暗号化、復号化、または署名のための証明書 (省略可能)。 証明書は、署名または暗号化を使用する場合にのみ必要です。
PIP プロセス構成を追加する
統合アカウントに PIP プロセス構成がない場合は、次の手順に従って構成を追加します。
Azure portal で、統合アカウント リソースに移動します。
リソース サイドバーの [設定] で、[ RosettaNet PIP] を選択します。 RosettaNet PIP ページのツール バーで、[追加] を選択します。
[ パートナー インターフェイス プロセスの追加 ] ウィンドウで、次の PIP 情報を入力します。
パラメーター 必須 説明 名前 はい PIP の名前。 PIP コード はい 3 文字の PIP コード。 詳細については、RosettaNet PIP を参照してください。 PIP バージョン はい 選択した PIP コードに依存する PIP バージョン。 詳細については、 RosettaNet の Web サイトを参照してください。
次の例は、PIP プロセス構成のサンプル情報を示しています。
完了したら、[OK] を選択して PIP 構成を作成します。
プロセス構成を表示または編集するには、PIP を選択します。 RosettaNet PIP ページのツール バーで、[JSON として編集] を選択します。
すべてのプロセス構成設定は PIP の仕様に由来します。 既定では、Azure Logic Apps では、最も一般的に使用される値に基づいて、ほとんどの設定に既定値が設定されます。
設定値が適切な PIP 仕様の値に対応し、ビジネス ニーズを満たしていることを確認します。 必要に応じて、JSON エディターで値を更新し、変更を保存します。
完了したら、OK を選択します。
RosettaNet 契約を作成する
統合アカウントに RosettaNet 契約がない場合は、次の手順に従って契約を作成します。
Azure portal で、統合アカウント リソースに移動します。
リソースサイドバーの [設定]で、[契約]を選択 します。 [契約] ページのツール バー で 、[ 追加] を選択します。
[ 追加 ] ウィンドウで、次の契約情報を入力します。
パラメーター 必須 説明 名前 はい 契約の名前。 契約の種類 はい 契約のプロトコルの種類。 RosettaNet を選択します。 ホスト パートナー はい 組織を表すホスト パートナーの名前。 契約には、ホストとゲストの両方のパートナーが必要です。 ホスト ID はい ホスト パートナー識別子。 ゲスト パートナー はい ホスト パートナーとビジネスを行うゲスト パートナーの名前。 契約には、ホストとゲストの両方のパートナーが必要です。 ゲスト ID はい ゲスト パートナー識別子。 受信設定 場合により異なる ゲスト パートナーからホスト パートナーが受信したすべてのメッセージに適用されるプロパティ。 送信設定 場合により異なる ホスト パートナーからゲスト パートナーに送信されるすべてのメッセージに適用されるプロパティ。 RosettaNet PIP 参照 はい 契約の PIP 参照。 すべての RosettaNet メッセージには PIP 構成が必要です。 次の例は、RosettaNet 契約のサンプル情報を示しています。
ホスト パートナーがゲスト パートナーからメッセージを受信する方法を指定するには、[ 追加 ] ウィンドウで [ 受信設定] を選択します。
[ 受信設定] ウィンドウには、次の設定が表示されます。
Setting 必須 説明 メッセージに署名してください いいえ 選択した証明書を使用して受信メッセージに署名します。 証明書 はい (署名が有効な場合) 署名に使用する証明書。 メッセージの暗号化を有効にしてください いいえ 選択した証明書を使用して受信メッセージを暗号化します。 証明書 はい (暗号化が有効な場合) 暗号化に使用する証明書。 受信メッセージの署名、暗号化、またはその両方を有効にするには、[ メッセージ] で [ メッセージに署名する必要があります]、[ メッセージを暗号化する]、またはその両方を選択します。
選択した各設定の [ 証明書 ] ボックスの一覧から、署名、暗号化、またはその両方に使用する統合アカウントから 証明書 を選択します。
次の例は、[ 受信設定] ウィンドウの署名と暗号化の設定を示しています。
完了したら、OK を選択します。
ホスト パートナーがゲスト パートナーにメッセージを送信する方法を指定するには、[ 追加 ] ウィンドウで [設定の送信] を選択します。
[ 送信設定] ウィンドウには、次の設定が表示されます。
Setting 必須 説明 メッセージの署名を有効にしてください いいえ 選択した署名アルゴリズムと証明書を使用して送信メッセージに署名します。 署名アルゴリズム はい (署名が有効な場合) 選択した証明書に基づいて使用する署名アルゴリズム。 証明書 はい (署名が有効な場合) 署名に使用する証明書。 メッセージの暗号化を有効にしてください いいえ 選択した暗号化アルゴリズムと証明書を使用して送信メッセージを暗号化します。 暗号化アルゴリズム はい (暗号化が有効な場合) 選択した証明書に基づいて使用する暗号化アルゴリズム。 証明書 はい (暗号化が有効な場合) 暗号化に使用する証明書。 送信メッセージに対して署名、暗号化、またはその両方を有効にするには、[ メッセージ] の [ メッセージ署名の有効化]、[ メッセージ暗号化の有効化]、またはその両方を選択します。
選択した各設定で、アルゴリズムの一覧から、使用するアルゴリズムを選択します。 証明書の一覧から、署名、暗号化、またはその両方に使用する統合アカウントから証明書を選択します。
[ エンドポイント ] セクションで、アクション メッセージと受信確認を送信するために必要な URL を指定します。
パラメーター 必須 説明 アクション URL はい アクション メッセージの送信に使用する URL。 この URL は、同期メッセージと非同期メッセージの両方に必要です。 受信確認 URL はい 受信確認メッセージの送信に使用する URL。 この URL は、非同期メッセージに必要です。 次の例は、[ 送信設定] ウィンドウの署名、暗号化、エンドポイント URL の設定と、いくつかのサンプル値を示しています。
完了したら、OK を選択します。
契約の RosettaNet PIP 参照を指定するには、[ 追加 ] ウィンドウで RosettaNet PIP 参照を選択します。
RosettaNet PIP 参照ページには、以前に作成して追加した PIP プロセス構成が表示されます。
[ PIP 名] 列で一覧を開き、PIP を選択します。
選択すると、統合アカウントの PIP に基づいて、残りのプロパティが設定されます。
必要な場合、 [PIP Role](PIP ロール) を変更できます。
次のセクションに進み、RosettaNet メッセージを受信します。
RosettaNet メッセージの受信とデコード
Azure portal で、ロジック アプリ リソースを開きます。 デザイナーでワークフローを開きます。
RosettaNet アクションを追加する前に、ワークフローにはトリガーとその他のアクションが既に必要です。
次の 一般的な手順 に従って、RosettaNet デコード アクションをワークフローに追加します。
アクション情報ウィンドウで、次の値を指定します。
パラメーター 必須 説明 メッセージ はい デコードする RosettaNet メッセージ。 ヘッダー はい バージョンと応答の種類の値をキーと値のペアとして提供する HTTP ヘッダー。 バージョンが RNIF。 応答の種類はパートナー通信の種類を表し、同期または非同期にすることができます。ロール はい PIP のホスト パートナー ロール。
RosettaNet デコード アクションからの出力には、 送信信号 値が含まれます。 この出力をエンコードしてゲスト パートナーに返すか、この出力に対して別のアクションを実行できます。
RosettaNet メッセージの送信とエンコード
Azure portal で、ロジック アプリ リソースを開きます。 デザイナーでワークフローを開きます。
RosettaNet アクションを追加する前に、ワークフローにはトリガーとその他のアクションが既に必要です。
次の 一般的な手順 に従って、RosettaNet エンコード アクションをワークフローに追加します。
アクション情報ウィンドウで、次の値を指定します。
パラメーター 必須 説明 RosettaNet プロセス (PIP) インスタンス ID はい エンコードするメッセージのインスタンス ID。 ホスト パートナー はい ホスト パートナー名。 ゲスト パートナー はい ゲスト パートナー名。 PIP コード はい PIP コード。 PIP バージョン はい PIP バージョン。 PIP インスタンス ID はい この PIP メッセージの一意識別子。 メッセージ型 はい エンコードするメッセージの型。 ロール はい ホスト パートナーロール。 このアクションは、RosettaNet メッセージをエンコードしてゲスト パートナーに送信するように設定されました。
エンコードされた RosettaNet メッセージを送信するには、次の 一般的な手順 に従って、シナリオに適したアクションを追加します。 アクションがメッセージを送信するために必要な値を指定します。
この例では、 HTTP アクションを使用します。HTTP - エンコードされたメッセージをパートナーに送信するという名前に変更されています。 値は RosettaNet エンコード アクションからの出力であり、動的コンテンツ リストを介して追加されます。
RosettaNet 標準に基づいて、PIP で定義されているすべての手順が完了した後にのみ、ビジネス トランザクションが完了します。 ホスト パートナーがエンコードされたメッセージをゲスト パートナーに送信すると、ホストはシグナルと受信確認を待機します。
ワークフローで、応答を待機する RosettaNet アクションを追加します。 アクション情報ウィンドウで、次の値を指定します。
パラメーター 必須 説明 本文 はい 元のエンコードされたメッセージ。 PIP インスタンス ID はい エンコードされたメッセージのインスタンス ID。 再試行回数 はい メッセージをエンコードして送信する再試行回数。 ロール はい ホスト パートナーロール。 RosettaNet アクションの待機時間と再試行回数は、PIP 構成に基づいています。
RosettaNet アクションが応答を受け取らない場合、アクションは 失敗の通知を生成します。
再試行を処理するには、常に RosettaNet アクションを配置してエンコードされたメッセージを送信し、 Until ループ内で応答を待機します。次に例を示します。