BEA ホーム | 製品 | デベロッパ・センタ | support | askBEA |
![]() |
![]() |
|
![]() |
e-docs > WebLogic Integration > B2B トピック > B2B Integration サンプルの使い方 > RosettaNet 2.0 Security サンプル |
B2B Integration サンプルの使い方
|
RosettaNet 2.0 Security サンプル
RosettaNet 2.0 Security サンプルは、WebLogic Integration を使用して RosettaNet 2.0 PIP 3A2 および PIP 0A1 をワークフローで実装する方法を示します。特に、RosettaNet 2.0 PIP 3A2 標準に準拠するビジネス メッセージを交換する 2 社のトレーディング パートナを示しています。
この章のトピックは以下のとおりです。
RosettaNet 2.0 Security サンプルの概要
RosettaNet は、オープンな電子商取引プロセス標準の作成、実装および推進を行う非営利の連合体です。RosettaNet Partner Interface Process(PIP)は、トレーディング パートナ間のビジネス プロセスを定義するものです。PIP 3A2 は、トレーディング パートナが製品の価格と在庫に関する情報の要求と提供を行うために使用できる、自動化されたプロセスです。
RosettaNet 2.0 Security サンプルでは、PIP 3A2 の実装を例示しています。また、障害通知送信メカニズムを提供する PIP 0A1 も実装します。最後に、このサンプルは RosettaNet 2.0 をサポートするために必要な WebLogic Integration のセキュリティ機能である、双方向 SSL 認証、デジタル署名、データ暗号化、および否認防止性を例示します。
WebLogic Integration での RosettaNet の実装の詳細については、『B2B Integration RosettaNet の実装』を参照してください。WebLogic Integration の B2B Integration 機能でのセキュリティの使用の詳細については、『B2B Integration セキュリティの実装』を参照してください。
RosettaNet は、このサンプルで使用されている RosettaNet 2.0 PIP の理解に役立つ数点のマニュアルを公開しています。次のマニュアルおよび zip ファイルは、RosettaNet の Web サイト(http://www.rosettanet.org)の「Standards」セクションからダウンロード可能です。
RosettaNet 2.0 Security サンプルの概要
以下のタスク順序では、このサンプルの PIP 3A2 トレーディング パートナ間通信の高度な概要を示します。
RosettaNet 2.0 Security サンプルを実行する前に
RosettaNet 2.0 Security サンプルを実行する前に、次の手順を実行します。
RosettaNet 2.0 Security サンプルの実行
このサンプルについては、いくつかの制限があります。それらの詳細および回避策については、『WebLogic Integration リリース ノート』、「確認済みの制限」にある 2 つの変更要求、CR063709 と CR075768 を参照してください。
WebLogic Integration で提供している他の B2B サンプルとは異なり、RosettaNet 2.0 Security サンプルはサンプル ドメインでは実行されず、またサンプル起動ページからも起動されません。
RosettaNet 2.0 Security サンプルを実行するには、次の手順を実行します。
RunRN2Security pointbase
http://localhost:7501/QPASubmit.jsp
RosettaNet 2.0 Security サンプルにおけるワークフロー
RosettaNet 2.0 Security サンプルは、WebLogic Integration を使用して RosettaNet 2.0 PIP 3A2 および PIP 0A1 をワークフローで実装する方法を示します。パブリック プロセスは、トレーディング パートナ間の正式な契約です。この契約には、トレーディング パートナ間のメッセージ交換のコンテンツとセマンティクスが規定されます。2 つのパブリック ワークフロー(PIP3A2_Customer_RN2 および PIP3A2_Supplier_ RN2)は、PIP 3A2 標準を WebLogic Integration 上で実装したものです。プライベート プロセスは、特定のビジネス組織に固有であり、その組織の外部からは見えません。PIP 3A2 を実装するパブリック ワークフローは、図4-1 では網掛けされた長方形として表現されています。プライベート プロセスは、網掛けされていない長方形で表しています。図4-1
次の図は、RosettaNet における各種セキュリティ サンプル ワークフロー間の、さまざまな会話を示します。
図4-1 RosettaNet 2.0 Security ワークフロー間の会話
注意: 図中におけるロジックの流れは、エラーが生じない場合に実行されるワークフローのタスク順序のみを示します。このタスク順序には、エラー処理ロジックは含まれません。たとえば、障害通知を発行するワークフローである PIP 0A1 は、図示されていません。 実行フローを開始する前に、WebLogic Server の 2 つのインスタンスを起動する必要があります。1 つは顧客用、もう 1 つはサプライヤ用です。このサンプルの実行フローは、図4-1 の左上隅にある「ブラウザ」の四角形から開始されます。次の手順は、実行フローの一部をトレースしています。
実行フローの続きについては、図4-1 を参照してください。
ワークフローの要点
サンプルのプライベート ワークフローおよびパブリック ワークフローを全体的に調べるには、次の手順を実行します。
このサンプルでは、プライベート Customer_PrivateWF ワークフローが PIPInput ワークフロー変数の内容を設定し、PIP3A2_Customer_RN2 ワークフローを呼び出します。PIP3A2_Customer_RN2 ワークフローは、PIPInput 変数の内容を使用して XML ビジネス メッセージを作成します。このメッセージは、Send Business Message Action が呼び出されると PIP3A2_Supplier_RN2 ワークフローに送信されます。RosettaNet テンプレート変数の詳細なリストについては、『B2B Integration RosettaNet の実装』の「RosettaNet でのワークフローの使用」の「RosettaNet テンプレート変数」を参照してください。
加えて、[パーティ] フィールドでは [TP 名](トレーディング パートナ名)として [RNBuyer] と [RNSeller] の 2 つが設定されています。WebLogic Integration では、会話名、会話バージョン、会話ロール、およびパーティとして指定されたトレーディング パートナにより、あるアクションに使用する適切なコラボレーション アグリーメントを見つけます。
前述のアクションについては、WebLogic Integration はリポジトリ内のアクティブなコラボレーション アグリーメントから、名前が 3A2 でバージョンが 1.3 、ロールが顧客である会話を指定する、RNBuyer および RNSeller という名前の 2 つのトレーディング パートナ間におけるコラボレーション アグリーメントを探します。以下の、rn2_peer1_sec.xml ファイルからの抜粋では、前述の Start Public Workflow アクションの基準に合致するコラボレーション アグリーメントを定義しています。
コード リスト 4-1 インポート リポジトリ データ ファイル内のコラボレーション アグリーメント
<collaboration-agreement
name="RN2|9.9|RosettaNet2|100"
global-identifier="RN2|9.9|RosettaNet2|RNBuyer|RNSeller|102"
version="1.0"
status="ENABLED"
conversation-definition-name="3A2"
conversation-definition-version="1.3">
<party
trading-partner-name="RNBuyer"
party-identifier-name="RNBuyerPID"
delivery-channel-name="RNBuyerChannel"
role-name="Customer"/>
<party
trading-partner-name="RNSeller"
party-identifier-name="RNSellerPID"
delivery-channel-name="RNSellerChannel"
role-name="Product Supplier"/>
</collaboration-agreement>
コラボレーション アグリーメントは、指定したパーティ間で使用される会話定義の名前とバージョンを定義します。リスト4-1 のコラボレーション アグリーメントは、顧客のロールを持つ RNBuyer トレーディング パートナと製品サプライヤのロールを持つ RNSeller トレーディング パートナの間における 会話定義名 3A2 と会話定義バージョン 1.3 の使用を指定します。
WebLogic Integration は会話定義の名前とバージョンを、割り当てられたロールと共に使用して、開始するワークフロー テンプレートを決定できます。リスト4-2 の会話定義では、バージョン番号が 1.3 でトレーディング パートナが顧客ロールを持つ、3A2 という名前の会話に対して、PIP3A2_Customer_RN2 ワークフロー テンプレートのインスタンスが開始されることを指定しています。
コード リスト 4-2 インポート リポジトリ データ ファイル内の会話定義
<conversation-definition
name="3A2"
version="1.3"
business-protocol-name="RosettaNet"
protocol-version="2.0">
<role
name="Customer"
wlpi-template="PIP3A2_Customer_RN2">
<process-implementation wlpi-org="ORG1"/>
</role>
<role
name="Product Supplier"
wlpi-template="PIP3A2_Supplier_RN2">
<process-implementation wlpi-org="ORG1"/>
</role>
</conversation-definition>
したがって、このサンプルでは、Start Public Workflow アクションが PIP3A2_Customer_RN2 ワークフローをトリガします。
Start Public Workflow で定義された会話名とバージョン番号は、PIP 3A2 について RosettaNet で定義された PIP 名およびバージョンです。これらのパラメータは、ロールおよびトレーディング パートナに指定された値と共に、リポジトリに登録された会話名、会話バージョン、ロール、およびトレーディング パートナに対応しています。
このサンプルでは、テンプレート変数 fromDUNS は Start Public Workflow アクションの Customer_PrivateWF によって設定されます。この変数は Customer_PrivateWF ワークフローによって PIP3A2_Customer_RN2 が呼び出されると PIP3A2_Customer_RN2 ワークフローに渡されます。RosettaNet 2.0 のテンプレート変数には、必須のものと、省略可能なものとがあります。
送信側の DUNS 番号を定義する fromDUNS 変数は必須です。DUNS 番号は、Dun & Bradstreet 社がビジネス エンティティに割り当てた 9 桁の数字による一意の識別子です。fromDUNS 変数で指定された DUNS 番号は、そのトレーディング パートナのリポジトリで定義されたビジネス ID に一致している必要があります。RosettaNet テンプレート変数の詳細なリストについては、『B2B Integration RosettaNet の実装』の「RosettaNetでのワークフローの使用」の「RosettaNet テンプレート変数」を参照してください。
PIPOutput は受信したメッセージのサービス コンテンツを含む必須のテンプレート変数です。この変数は PIP3A2_Customer_RN2 ワークフローにより設定されます。また PIP3A2_Customer_RN2 ワークフローが、呼び出し元のワークフロー Customer_PrivateWF に制御を返すと、Customer_PrivateWF ワークフローに渡されます。
![]() |
![]() |
![]() |
![]() |
||
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |