7.
左ペイ ンの [ テ ンプレー ト ] フ ォルダを展開し ます。 こ のサンプルのテ ンプ レー ト がすべて リ ス ト さ れます。8.
左ペイ ンの [Customer_PrivateWF] フ ォルダを展開し ます。9. Customer_PrivateWF
ワーク フ ローの イ ン ス タ ン ス を開いて表示する には、 次 の手順を実行し ます。a. Customer_PrivateWF
フ ォルダ内の、 日付 と 時刻が名前になっ たフ ォルダ を右 ク リ ッ ク し ます。 メ ニ ューが表示 さ れます。b. [
開 く ] を選択し ます。Customer_PrivateWF ワーク フ ローを構成する開始 ノ ー ド 、 タ ス ク ノ ー ド 、
分岐 ノ ー ド 、 およびイ ベン ト ノ ー ド が表示さ れます。10. [
パブ リ ッ ク ワー ク フ ローを開始 ] タ ス ク をダブル ク リ ッ ク し ます。 [ タ ス ク のプ ロパテ ィ ] ウ ィ ン ド ウが表示 さ れます。11. [
ア ク テ ィ ブ時 ] タブを選択し ます。[
パブ リ ッ ク ワー ク フ ローの開始 ] タ ス ク を構成する ア ク シ ョ ンが表示 さ れ ます。12. [
ワーク フ ロー変数 "PIPInput" XML 構造を設定 ] を ダブル ク リ ッ ク し、 [ ワーク フ ロー変数を設定 ] ウ ィ ン ド ウ を表示し ます。 こ の ウ ィ ン ド ウ は、PIPInput XML
ワーク フ ロー変数がどの よ う に作成さ れ るかを示し ます。 こ のサンプルでは、 PIPInput は作成済みです。 こ の手順では、 こ れを表示する 方法を示し ます。 PIPInput は、 必須の WebLogic Integration RosettaNet Inputワー ク フ ロー変数です。 こ れをプ ラ イベー ト ワー ク フ ローに設定し ない と 、 パブ リ ッ ク ワーク フ ローを呼び出せません。 こ の変数のフ ォーマ ッ ト は、 実 装さ れてい る PIP メ ッ セージの RosettaNet DTD に準拠する XML です。 こ のサンプルでは、 XML は
3A2PriceAndAvailabilityQueryMessageGuidline.dtdに準拠し てい る必 要があ り ます。 こ の、 RosettaNet によ って提供 さ れる DTD は、 顧客 ト レー デ ィ ング パー ト ナがサプ ラ イ ヤ ト レーデ ィ ン グ パー ト ナに渡す最初の メ ッ セージのコ ンテ ンツ を定義し ます。 4-2 ページの 「RosettaNet 2.0 Security サ ンプルの概要」 のス テ ッ プ 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 テ ンプレー ト 変数」 を 参照し て く だ さ い。
13. XML
ツ リ ー内の次の下位 ノ ー ド を展開し ます。
Pip3A2PriceAndAvailabilityQuery
ProductPriceAndAvailabiltyQuery
ProductPriceAndAvailability
ProductLineItem
2
つの重要な ノ ー ド の値は、 右ペイ ンで設定し ます。
GlobalPartnerRoleClassificationCode XML
ノ ー ド は、 文字列 Customer に 設定さ れます。
ProductQuanity
ノ ー ド は、 ProductQuantity ワー ク フ ロー変数の値に設定 さ れます。 製品の個数 (顧客に よ っ て要求さ れた商品の数) は[QPASubmit JSP]
ページで設定さ れ、 ProductQuantity ワーク フ ロー変数 に よ っ て ワー ク フ ローに渡さ れます。注意: こ の手順は、 PIPInput 変数に値を入れる方法の 1 つに過ぎ ません。
PIPInput
変数には、 フ ァ イルか ら 読み込んだ り 、 XML ド キ ュ メ ン ト の コ ンテン ツ全体を渡す こ と に よ っ て も、 値を入れ る こ と がで き ま す。14. [
ワーク フ ロー変数を設定 ] ウ ィ ン ド ウ で [ 取消し ] を ク リ ッ ク し ます。15. [
タ ス ク のプ ロパテ ィ ] ウ ィ ン ド ウ で、 [ ア ク テ ィ ブ時 ] タブの [ パブ リ ッ ク ワー ク フ ローの開始 ] を ダブル ク リ ッ ク し ます。[
パブ リ ッ ク ワー ク フ ローの開始 ] ウ ィ ン ド ウ が表示 さ れます。こ のウ ィ ン ド ウ では、 Start the Public Workflow ア ク シ ョ ンに対し パラ メ ータ が次の よ う に定義 さ れています。
[
会話名 ] が [3A2] に設定さ れています。
[
会話バージ ョ ン ] が [1.3] に設定 さ れています。
[
会話ロール ] が [ カ ス タ マ ] に設定 さ れています。加えて、 [ パーテ ィ ] フ ィ ール ド では [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 名およびバージ ョ ンです。 こ れ ら のパ ラメ ータは、 ロールおよび ト レーデ ィ ン グ パー ト ナに指定さ れた値 と 共に、 リ ポジ ト リ に登録さ れた会話名、 会話バージ ョ ン、 ロール、 および ト レーデ ィ ング パー ト ナに対応し ています。
16. [
ワー ク フ ロー ] タ ブを選択し ます。パブ リ ッ ク PIP ワー ク フ ロー と の間で受け渡し さ れる テ ンプレー ト 変数が、 [ ワー ク フ ロー ] タブで定義さ れています。
パブ リ ッ ク PIP ワー ク フ ローに渡さ れる テンプレー ト 変数は、 [ パ ラ メ ー タ ] の下に リ ス ト さ れます。
パブ リ ッ ク 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 ワーク フ ローに渡 さ れます。
17. [
パブ リ ッ ク ワー ク フ ローの開始 ] ウ ィ ン ド ウ で [ 取消し ] を ク リ ッ ク し ま す。18. [
タ ス ク のプ ロパテ ィ ] ウ ィ ン ド ウで [ 取消し ] を ク リ ッ ク し ます。19. Studio
の メ イ ン ウ ィ ン ド ウ の左ペイ ンで、 [PIP3A2_Customer_RN2] フ ォル ダを展開し ます。 PIP3A2_Customer_RN2 ワーク フ ローは、Customer_PrivateWF
ワー ク フ ローか ら呼び出さ れます。20. PIP3A2_Customer_RN2
ワーク フ ローのプ ロパテ ィ を表示するには、[PIP3A2_Customer_RN2]
フ ォルダ内の日付 と 時刻が名前にな っ たフ ォルダを 右ク リ ッ ク し ます。 メ ニ ューが表示さ れます。 [ プ ロパテ ィ ] を選択し ます。21. [Template Definition PIP3A2_Customer_RN2]
ダ イ ア ロ グ ボ ッ ク スが表示さ れ ます。22. [B2B Integration]
タブを選択し ます。[
会話 ] タブ ([B2B Integration] タブ内) が表示さ れます。こ の タブ上で入力 さ れるデータは、 指定し た会話およびロールで [ パブ リ ッ ク ワーク フ ローを開始 ] ア ク シ ョ ンが呼び出 さ れる と
PIP3A2_Customer_RN2
ワー ク フ ローが開始 さ れる こ と を指定し ます。会話名、 バージ ョ ン、 およびロールを、 こ の ウ ィ ン ド ウ で定義し ます。
RosettaNet for PIP 3A2 に よ っ て定義 さ れた PIP 名、 バージ ョ ン、 および
ロールを照合し ます。リ ポジ ト リ に登録 さ れた会話名、 バージ ョ ン、 およびロールに対応 させ ます。
23. [OK]
を ク リ ッ ク し ます。24. [Workflow Design Customer_PrivateWF]
ウ ィ ン ド ウ を閉じ ます。 [ ワーク フ ロー設計 ] ウ ィ ン ド ウの右上の [X] を ク リ ッ ク し ます。25. PIP3A2_Customer_RN2
ワーク フ ロー イ ン ス タ ン ス を開いて表示するには、次の手順を実行し ます。
a. PIP3A2_Customer_RN2
フ ォルダ内の、 日付 と 時刻が名前にな った フ ォル ダを右 ク リ ッ ク し ます。 メ ニューが表示さ れます。b. [
開 く ] を選択し ます。PIP3A2_Customer_RN2
ワーク フ ローを構成する開始 ノ ー ド、 タ ス ク ノ ー ド、 分岐 ノ ー ド 、 およびイベン ト ノ ー ド が表示さ れます。[
開始 ] ノ ー ド は、 こ の ウ ィ ン ド ウ で実行さ れ る最初の タ ス ク です。26. [
メ ッ セージ送信 ] タ ス ク をダブル ク リ ッ ク し ます。 [ タ ス ク のプ ロパテ ィ ] ウ ィ ン ド ウが表示 さ れます。27. [
ア ク テ ィ ブ時 ] タブを選択し ます。[
メ ッ セージ送信 ] タ ス ク を構成する ア ク シ ョ ンが、 [ ア ク テ ィ ブ時 ] タブに リ ス ト さ れます。28. [
タ ス ク のプ ロパテ ィ ] ウ ィ ン ド ウ の左ペイ ンで、 [ ビジネ ス メ ッ セージの送 信 ] ア ク シ ョ ンを ダブル ク リ ッ ク し ます。 こ のア ク シ ョ ンは、 PIPInput XML ワー ク フ ロー変数の内容に基づ く XML ビジネ ス メ ッ セージを送信し ます。こ の変数は事前にプ ラ イベー ト Customer_PrivateWF ワー ク フ ローで定義済 みです。
注意: こ の手順は、 4-2 ページの 「RosettaNet 2.0 Security サンプルの概要」
のス テ ッ プ 1 に相当し ます。