Flex Gateway新着情報
Governance新着情報
Monitoring API Managerサポートカテゴリ: Premium
RosettaNet Connector は、RosettaNet Information Framework (RNIF) を使用して Rosetta Partner Interface Process (PIP) メッセージを交換することで、B2B 機能を提供します。
RosettaNet Connector は RNIF 2.00.01 をサポートします。
次の PIP がサポートされています。
| PIP | バージョン | 目的 | 
|---|---|---|
| 0A1 | v02.00 | 失敗の通知 | 
| 3A4 | 3A4MG1 v02.02 | 注文の要求 | 
| 3A4 | 3A4MG2 v02.02 | 注文の要求 | 
| 3A6 | 3A6MG1 v02.00, v02.02, v02.03 | 注文状況の配布 | 
| 3B2 | 3B2MG1 v01.00 | 事前出荷通知 | 
| 3C3 | 3C3MG1 v01.00, v01.11 | 請求通知 | 
RosettaNet Connector は常にすべての失敗の通知メッセージで PIP 0A1 v02.00 を使用します。
注意: サンプルファイルのダウンロードについては、[See Also] を参照してください。
このドキュメントでは、読者が RosettaNet、Mule、Anypoint Connector、Anypoint Studio、Mule フロー、および Mule グローバル要素に精通していることを前提としています。
互換性については、RosettaNet のリリースノートを参照してください。
RosettaNet Connector を本番環境で使用するには、Anypoint B2B 用の MuleSoft ライセンスを購入しておく必要があります。
Mule 4 の RosettaNet Connector 2.x では、RosettaNet Connector 1.x の実装から設定や処理が少し変更されています。
ソースのメタデータを自動的に供給 (1.x で必要だった個別のメタデータ定義は不要)
パートナーやメッセージごとに個別のフローを使用することでフロー構造を簡素化。
報告されたセキュリティの脆弱性に対処するため、キーストア利用状況に対して追加の検証が実行されるようになりました。
Studio で Mule プロジェクトを作成します。
Studio タスクバーの Exchange (X) アイコンをクリックします。
Exchange で、[Login (ログイン)] をクリックし、Anypoint Platform のユーザー名とパスワードを指定します。
Exchange で [All assets (すべてのアセット)] を選択して「RosettaNet」を検索します。
「RosettaNet」を選択して [Add to project (プロジェクトに追加)] をクリックします。
画面の指示に従ってコネクタをインストールします。
コネクタをインストールしたら、すぐに使い始めることができます。まず、Mule とメッセージの交換に使用するパートナーエンドポイント用の HTTP リスナーと HTTP 要求を作成します。
キャンバスの下部にある [Global Elements (グローバル要素)] タブをクリックし、[Create (作成)] をクリックします。
[Connector Configuration (コネクタ設定)] で [HTTP Listener config (HTTP リスナー設定)] を選択して [OK] をクリックします。
設定の定義で、取引パートナーからのアクションやシグナルメッセージを受信するためのホストとポートを入力して [OK] をクリックします。
[Global Elements (グローバル要素)] タブで再び [Create (作成)] をクリックします。
[Connector Configuration (コネクタ設定)] で [HTTP Request config (HTTP 要求設定)] を選択して [OK] をクリックします。
設定の定義で、取引パートナーにアクションやシグナルメッセージを送信するためのホストとポートを入力して [OK] をクリックします。
キャンバスの下部にある [Global Elements (グローバル要素)] タブをクリックし、[Create (作成)] をクリックします。
[Connector Configuration (コネクタ設定)] で [RosettaNet Config (RosettaNet 設定)] を選択して [OK] をクリックします。
作成してあるグローバル HTTP リスナーとグローバル HTTP 要求の定義への参照情報を入力し、エンドポイントパス、セルフ/パートナー ID 情報、PIP ロールおよび定義パスを指定します (用意されている標準 PIP 定義を使用する場合は、/{pipId}/{version}.xml の形式でパスを指定してください。例: /PIP3A4/V02_02.xml)。
PIP 定義で署名入りメッセージを使用する場合は、Keystore path と Keystore access password の値を設定する必要があります。また、署名入りメッセージを送信する場合には Signing key password も設定する必要があります。
[OK] をクリックして、グローバルコネクタ設定を保存します。
Studio の [Message Flow (メッセージフロー)] タブに戻ります。
RosettaNet コンポーネントをフローにドラッグし、各コンポーネントで使用する設定を選択します。
 
RosettaNet Connector が使用するすべての設定プロパティは、Studio の [General (一般)] タブにあります。
| 設定プロパティ | 説明 | 
|---|---|
| Global HTTP Listener (グローバル HTTP リスナー) | パートナーからのメッセージを受信するために使用する HTTP リスナー設定の名前。 | 
| Service Endpoint Path (サービスエンドポイントパス) | HTTP リスナー設定に相対的なパス (必要に応じて異なるパートナーの異なるパスで同じ HTTP リスナーを使用できるようにします)。 | 
| Global HTTP Request (グローバル HTTP 要求) | パートナーへのメッセージを送信するために使用する HTTP 要求設定の名前。 | 
| Request Endpoint Path (要求エンドポイントパス) | HTTP 要求設定に相対的なパス (必要に応じて異なるパスで同じ HTTP 要求を使用できるようにします)。 | 
| Keystore path (キーストアパス) | メッセージの検証や署名に使用するキーストア (署名入りメッセージの送受信時に必要) の絶対ファイルパスまたはプロジェクトの  | 
| Keystore access password (キーストアアクセスパスワード) | キーストア (署名入りメッセージの送受信時に必要) を保護するためのパスワード。 | 
| Signing key password (署名キーパスワード) | キーストア (署名入りメッセージの送受信時に必要) 内の署名用の非公開キーにアクセスするためのパスワード。 | 
| Force message signing (メッセージの署名を強制) | PIP 定義で求められていない場合でも、署名入りメッセージの使用を強制 (省略可能)。メッセージを署名する PIP 定義ではこの値は空白にし、どのメッセージにも署名しない場合は  | 
| Global usage code (グローバル使用コード) | コネクタの実行モード。次のいずれか: 
 | 
| Object store reference (オブジェクトストア参照) | 肯定応答待ちのメッセージを保存するために使用するオブジェクトストア定義への参照です (省略可能)。設定しないと、コネクタは常に永続的なデフォルトのオブジェクトストアを使用して送信したメッセージを保存し、肯定応答または再試行を待機します。設定した場合、コネクタは、参照されているオブジェクトストア設定を代わりに使用します。 | 
| Mule DUNS identifier (Mule DUNS 識別子) | この組織の Dun & Bradstreet Universal Numbering System (DUNS) ID。 | 
| Mule location identifier (Mule 場所識別子) | この組織の場所 ID。指定すると、送信されるすべてのメッセージに含められ、受信するすべてのメッセージにも含まれる必要があります。指定しないと、受信メッセージに含まれる値は受け入れられて無視されます。場所 ID を使用すると、キーストアのキーペアで使用する別名も変更されます。 | 
| Partner DUNS identifier (パートナー DUNS 識別子) | 取引パートナー組織の Dun & Bradstreet Universal Numbering System (DUNS) ID。 | 
| Partner location identifier (パートナーの場所識別子) | 予期されるパートナー組織の場所 ID。指定すると、送信されるすべてのメッセージに含められ、受信するすべてのメッセージにも含まれる必要があります。指定しないと、受信メッセージに含まれる値は受け入れられて無視されます。場所 ID を使用すると、キーストアのパートナー証明書で使用する別名も変更されます。 | 
| Role in PIP (PIP のロール) | Partner Interface Process (PIP) でのロール。次のいずれかになります。 
 | 
| PIP definition path (PIP 定義パス) | PIP 定義 XML ファイルの絶対ファイルパスまたはプロジェクトの  | 
Studio 設定にあるすべての値は XML で直接設定できます。
| XML 値 | Visual Studio オプション | 
|---|---|
| globalUsageCode | Global usage code (グローバル使用コード) | 
| keystorePass | Keystore access password (キーストアアクセスパスワード) | 
| keystorePath | Keystore path (キーストアパス) | 
| listenerConfigName | Global HTTP Listener (グローバル HTTP リスナー) | 
| objectStore | Object store reference (オブジェクトストア参照) | 
| partnerBusinessIdentifier | Partner DUNS identifier (パートナー DUNS 識別子) | 
| partnerLocationId | Partner location identifier (パートナーの場所識別子) | 
| pipFile | PIP definition path (PIP 定義パス) | 
| pipRole | Role in PIP (PIP のロール) | 
| privatePass | Signing key password (署名キーパスワード) | 
| requestPath | Request Endpoint Path (要求エンドポイントパス) | 
| requesterConfigName | Global HTTP Request (グローバル HTTP 要求) | 
| selfBusinessIdentifier | Mule DUNS identifier (Mule DUNS 識別子) | 
| selfLocationId | Mule location identifier (Mule 場所識別子) | 
| servicePath | Service Endpoint Path (サービスエンドポイントパス) | 
| signingOverride | Force message signing (メッセージの署名を強制) | 
デフォルトのオブジェクトストアは、Mule のデフォルトの永続的なオブジェクトストアを使用します。そのため、送信されたメッセージは、肯定応答されるまで累積し、再実行時にはメッセージが再送信される場合があります。
次の定義を使用すると、テストとデバッグ用に一時的なオブジェクトストアを定義して、RosettaNet 設定からオブジェクトストアを名前で参照することができます。
<mule xmlns:os="http://www.mulesoft.org/schema/mule/os" ...
  http://www.mulesoft.org/schema/mule/os http://www.mulesoft.org/schema/mule/os/current/mule-os.xsd" ...>
  ...
  <os:object-store name="transientStore" persistent="false"/>
  ...
  <rosetta:config name="PO_InitiatorConfig_Buyer" ...
    objectStore="transientStore"/>永続的なオブジェクトストアを使用すると、肯定応答されていないメッセージは Mule アプリケーションを再起動しても保持され、アプリケーションの再起動時に (タイムアウト期限が切れたと判断されて) 再送信されます。肯定応答がないまま PIP 定義で指定されている再送信回数に達するか、または 3 日が経過すると、オブジェクトストアからすべてのメッセージが削除されます。次のシステムプロパティを設定することで、肯定応答されていないメッセージを Mule アプリケーションの起動時に強制的に削除できます。
com.mulesoft.connectors.rosettanet.extension.internal.delivery.DeliveryManager.deleteStore=true
PIP をカスタマイズすると、PIP 設定に 2 通りの変更を加えることができます。
パラメーター: PIP バージョンの XML ファイル内で設定を変更します。
詳細: カスタム DTD を作成して、そこから XSD ファイルを作成できます。
どちらの場合も、作成または変更したファイルは Studio プロジェクトの src/main/resources フォルダーに保存してください。
用意されている PIP 設定を開始ポイントとして使用できます。これらは、mule-rosettanet-extension-2.0.0-mule-plugin.jar に入っており、Studio でダウンロードして /target/repository/com/mulesoft/connectors/mule-rosettanet-extension ディレクトリのプロジェクトに追加できます。また、標準の MuleSoft Enterprise Maven リポジトリ (グループ ID の com.mulesoft.connectors の下) にもあります。各 PIP 設定は jar ファイルの個別のディレクトリ (例: PIP3A4) に入っています。jar から PIP ディレクトリをコピーして、ニーズに合わせてコンテンツを編集できます。
PIP 設定ディレクトリには、特定の PIP バージョン (例: V02_02.xml) 用のパラメーターが設定された XML ファイルもあります。この XML ファイルには、PIP で定義されている再試行回数、肯定応答のタイムアウト、アクションの署名要件の詳細が記述されています。また、このファイルは実際のアクションメッセージの DTD と XSD 定義を参照します (DTD は RosettaNet で使用され、XSD は Mule 内で DataSense 情報の提供に使用されるため、両方とも必要です)。
基本の PIP 定義ディレクトリを jar から Studio プロジェクトの src/main/resources フォルダーにコピーし、コピーしたディレクトリの名前をカスタマイズに合わせて変更します (例: PIP3A4-custom)。その後、必要な変更を行ってから、変更した PIP ディレクトリ名を RosettaNet Connector 設定で (pipFile 値として) 使用します。
RosettaNet は X.509 証明書を使用してメッセージを認証します。RosettaNet Connector は、現時点では JKS 形式のキーストアの証明書 (および署名に使用する非公開キー) の保存のみをサポートしています。Portecle など、さまざまなツールを使用してキーストアを処理して、キーと証明書を作成できます。
キーストアの別名は次の形式になります。{Partner/Self Business Identifier}[:{Partner/Self Location ID}]
値は中括弧で囲まれており、場所 ID が定義されている場合にのみ使用する省略可能な部分は角括弧で囲まれています。