Integration コントロールを使用する

     前  次    目次     
ここから内容

RosettaNet コントロール

注意 : RosettaNet コントロールは、WebLogic Integration の使用許諾を受けた場合にのみ、BEA Workshop for WebLogic Platform で使用できます。

RosettaNet は主要企業が参加するコンソーシアムであり、産業界全体に渡るオープン e ビジネス プロセス規格を作成および実装するために活動しています。これらの規格により、共通の e ビジネス言語の構築し、グローバル規模でのサプライ チェーン パートナ間のプロセスの連係を図ります。RosettaNet は、Uniform Code Council, Inc. (UCC) の子会社です。Roset、taNet については、http://www.rosettanet.org を参照してください。BEA Workshop for WebLogic Platform ビジネス プロセスでは、RosettaNet コントロールを使用することで、RosettaNet を経由してトレーディング パートナとビジネス メッセージおよびデータの交換ができます。RosettaNet コントロールは、開始者ビジネス プロセスにおいて参加者との RosettaNet ビジネス メッセージの交換を管理する場合のみ使用します。RosettaNet ソリューションの概要については、『Trading Partner Integration の紹介』(以下の URL) を参照してください。

http://edocs.beasys.co.jp/e-docs/wli/docs92/tpintro/index.html

 


この節に含まれるトピック

概要 : RosettaNet コントロール

RosettaNet コントロールについて説明します。

RosettaNet コントロールを作成する

RosettaNet コントロールを作成およびコンフィグレーションする方法について説明します。

RosettaNet コントロールを使用する

ビジネス プロセスで RosettaNet コントロールを使用する方法について説明します。

サンプル : RosettaNet コントロール

RosettaNet コントロールの使用例へのリンクを示します。

関連トピック

Trading Partner Integration の紹介 (http://edocs.beasys.co.jp/e-docs/wli/docs92/tpintro/index.html)

トレーディング パートナ管理 (http://edocs.beasys.co.jp/e-docs/wli/docs92/adminhelp/tpm.html)

RosettaNetControl インタフェース

RosettaNet 参加者ビジネス プロセスの構築

概要 : RosettaNet コントロール

開始者ビジネス プロセスで RosettaNet コントロールを使用すると、参加者と RosettaNet ビジネス メッセージを交換できます。RosettaNet コントロールは、ビジネス メッセージを送受信するためのメソッドを提供します。詳細については、RosettaNetControl インタフェースを参照してください。参加者から受信した RosettaNet メッセージ、確認応答、拒否、およびエラーは、コールバックによって処理されます。

参加者ビジネス プロセスでは RosettaNet コントロールを使用して受信メッセージに応答しないでください。代わりに、クライアント要求ノードを使用して開始者からの受信ビジネス メッセージを処理し、クライアント応答ノードを使用して開始者への送信ビジネス メッセージを処理します。RosettaNet を使用する参加者ビジネス プロセスの構築については、「RosettaNet 参加者ビジネス プロセスの構築」を参照してください。RosettaNet を使用するビジネス プロセスの設計については、『Trading Partner Integration の紹介』(http://edocs.beasys.co.jp/e-docs/wli/docs92/tpintro/index.html) を参照してください。

実行時に、RosettaNet コントロールは、TPM リポジトリに格納されているトレーディング パートナ情報およびサービス情報に依存します。TPM リポジトリについては、『Trading Partner Integration の紹介』 (http://edocs.beasys.co.jp/e-docs/wli/docs92/tpintro/index.html) を参照してください。TPM リポジトリへの情報の追加または TPM リポジトリ内の情報の更新については、『WebLogic Integration Administration Console』の使用の「トレーディング パートナ管理」 (http://edocs.beasys.co.jp/e-docs/wli/docs92/adminhelp/tpm.html) を参照してください。

関連トピック

RosettaNet コントロールを作成する

RosettaNet コントロールを使用する

サンプル : RosettaNet コントロール

RosettaNet コントロールを作成する

ここでは、新しい RosettaNet コントロールを作成する方法について説明します。パブリックな開始者ビジネス プロセスごとに RosettaNet コントロールを 1 つ追加します。パブリック プロセスとプライベート プロセスの詳細については、『Trading Partner Integration の紹介』(http://edocs.beasys.co.jp/e-docs/wli/docs81/tpintro/index.html) の「トレーディング パートナ ビジネス プロセスの概念」にある「ビジネス プロセスのタイプ」を参照してください。RosettaNet コントロールについては、「RosettaNet コントロール」を参照してください。

新しい RosettaNet コントロールを作成するには
  1. [パッケージ エクスプローラー] ペインで、Rosettanet コントロールを追加するビジネス プロセス (Process.java ファイル) をダブルクリックします。ビジネス プロセスがデザイン ビューに表示されます。
  2. データ パレット をクリックし、ドロップダウン リストから Integration コントロールを選択して、アプリケーションの統合に使用するコントロールのリストを表示します。
注意 : [データ パレット] ビューが BEA Workshop for WebLogic Platform に表示されない場合は、メニュー バーArrow symbol[ウィンドウArrow symbolビューの表示Arrow symbolデータ パレット] をクリックします。
  1. [Rosettanet] を選択します。
  2. [Insert control: RosettaNet] ダイアログ ボックスが表示されます。[Insert control: RosettaNet] ダイアログ ボックスで、以下の情報を入力します。
    • [フィールド名] に、ビジネス プロセスから新しい Rossatanet コントロール インスタンスにアクセスするときに使用する変数の名前を入力します。有効な Java 識別子を入力する必要があります。
    • [挿入位置] で、フィールド名をプロセス ファイルに挿入するポイントをドロップダウン リストから選択します。
    • これをコントロール ファクトリにするかどうかを決定し、[これを実行時に複数のインスタンスを作成できるコントロール ファクトリにする] チェック ボックスをチェックするか、チェックをはずします。コントロール ファクトリの詳細については、「コントロール ファクトリ : コントロールをまとめて管理する」を参照してください。
    • [次へ] をクリックします。
    • [コントロールの作成] ダイアログ ボックスが表示されます。

  3. [コントロールの作成] ダイアログ ボックスで、以下の情報を入力します。
    • [名前] フィールドに新しいコントロール拡張ファイルの名前を入力します。
    • 現在のプロジェクトのプロパティに設定されているようにコメントを追加するかどうかを決定し、[コメントの生成] チェック ボックスをチェックするか、チェックをはずします。
    • [次へ] をクリックします。
    • [Insert control: RosettaNet] ダイアログ ボックスが表示されます。

  4. [Insert control: Rosettanet] ダイアログ ボックスで、以下の情報を指定します (表 12-1 を参照)。
  5. 注意 : 該当する場合、ここで入力した値は TPM リポジトリ内の対応する設定に一致する必要があります。

    表 12-1 Rosettanet のフィールド
    フィールド
    説明
    from
    送信者の DUNS 番号。TPM リポジトリで定義する必要がある。
    to
    受信者の DUNS 番号。TPM リポジトリで定義する必要がある。
    rnif-version
    RNIF (RosettaNet Implementation Framework) のバージョン。次のいずれかの値になる。
    pip
    3B2 などの RosettaNet PIP コード。http://www.rosettanet.org で定義されている有効な PIP コードでなければならない。
    pip-version
    RosettaNet PIP のバージョン。PIP に関連付けられた有効なバージョン番号でなければならない。
    from-role
    PIP 仕様で定義されている、送信側の RosettaNet ロール名。Buyer、Initiator、Shipper など。正しくない値が指定されている場合は、PIP 要求が拒否される可能性がある。
    to-role
    PIP 仕様で定義されている、受信側の RosettaNet ロール名。Seller、Participant、Receiver など。正しくない値が指定されている場合は、PIP 要求が拒否される可能性がある。
    method-arg-type
    必須。添付ファイルの型。標準の RNIF XML 部分を含む。次のいずれかの値になる。
    • XmlObject - デフォルト。型なしの XML フォーマットのデータを表す。XML データは、設計時には指定されない。
    • RawData - 非 XML 構造化データまたは非構造化データを表す。このデータの MFL ファイルは存在しない (そのため、既知のスキーマはない)。ペイロードに標準の RNIF XML 部分が含まれるので、推奨されない。
    • MessageAttachment[] - ビジネス メッセージの 1 つまたは複数の部分を含む配列。メッセージ パートには型なしの XML データ (XmlObject データ型) と非 XML データ (RawData データ型) がある。異なる種類のペイロード (XML と非 XML) を同じメッセージで送信するときに使用される。メッセージ部分の実際の数は、処理されるまで不明なことがある。MessageAttachment オブジェクトの操作については、「メッセージ添付ファイルを使用する」を参照。
    データ型の詳細については、「データ型の操作」を参照。

  6. [終了] をクリックします。
  7. 要求されたら、コントロール ファイルを保存するサブフォルダを選択します。
  8. RosettaNet コントロールのインスタンスが [コントロール] タブに表示されます。

関連トピック

概要 : RosettaNet コントロール

RosettaNet コントロールを使用する

サンプル : RosettaNet コントロール

RosettaNet コントロールを使用する

すべての WebLogic Workshop コントロールは一貫したモデルに従います。RosettaNet コントロールの使用に関してはその多くが、その他の WebLogic Workshop コントロールを使用する場合と同一か、ほぼ同じです。

開始者ビジネス プロセスに RosettaNet コントロールを追加したら、コントロールでメソッドを使用して、参加トレーディング パートナと RosettaNet メッセージを交換できます。デザイン ビューのデータ パレットで RosettaNet コントロールのノードを展開し、そのメソッドを表示します。次に、目的のメソッドをビジネス プロセスにドラッグ アンド ドロップします。一般的な作業は以下のとおりです。

メソッドの詳細については、RosettaNetControl インタフェースを参照してください。

参加者にメッセージを送信する

RosettaNet コントロールには、開始者の要求メッセージを参加者に送信するためのメソッドや、参加者の返信に応答するためのメソッドが備わっています。ビジネス プロセスにメソッドを追加するには、データ パレットからビジネス プロセスまで、そのメソッドをドラッグします。これにより、コントロール送信ノードが作成されます。

要求メッセージを送信する

sendMessage メソッドを使用して、RosettaNet 要求メッセージを参加者に送信します。ビジネス プロセスにコントロール送信ノードを作成したら、ペイロード部分とその Java データ型を指定する必要があります。有効なデータ型は以下のとおりです。

表 12-2 データ型
説明
XmlObject
型なし XML フォーマットのデータ。
RawData
非 XML 構造化データまたは非構造化データ。このデータの MFL ファイルは存在しない (そのため、既知のスキーマはない)。
MessageAttachment
型なしの XML フォーマットと非 XML フォーマット両方のデータ。MessageAttachment オブジェクトの操作については、「メッセージ添付ファイルを使用する」を参照。

注意 : 型付き XML データや型付き MFL データを添付ファイルにすることもできますが、その場合は対応する XML Bean クラス名や MFL クラス名をパラメータ内で指定する必要があります。

参加者の返信に応答する

RosettaNet メッセージを送信した後、開始者ビジネス プロセスは参加者からの応答を待機します。要求に対する参加者の応答を受信した後、ビジネス プロセスは、確認応答して応答を受け付けるか、応答を拒否するか、またはエラーが発生したことを参加者に通知することができます。RosettaNet コントロールには、参加者の返信に応答するための以下のメソッドが備わっています。

表 12-3 メソッド型
メソッド名
説明
sendAck
参加者に受信の RosettaNet 確認応答を送信する。
sendError
参加者に RosettaNet エラーを送信する。
sendReject
参加者に RosettaNet 拒否を送信する。

参加者からのメッセージを処理する

参加者は、以下の方法で開始者の要求に応答できます。

参加者からの応答を処理するには、開始者ビジネス プロセスで以下のコールバック メソッドを使用します。

表 12-4 コールバック メソッド
メソッド名
説明
onAck
参加者からのメッセージ受信通知を処理する。
onError
参加者から送られたエラーを処理する。
onMessage
参加者から送られた応答メッセージを処理する。

参加者から RosettaNet メッセージを受信するには、適切なメソッドを使用します。ビジネス プロセスにメソッドを追加するには、データ パレットからビジネス プロセスまで、そのメソッドをドラッグします。これにより、コントロール受信ノードが作成されます。

onMessage メソッドについては、コントロール受信ノードを作成した後に、受信メッセージのペイロード部分とその Java データ型を指定する必要があります。有効なデータ型については、「参加者にメッセージを送信する」を参照してください。

onError メソッドと onAck メソッドは、システムレベルのメソッドです。どちらも、RosettaNet ペイロードを格納する XmlObject 引数を使用します。これらの引数はデフォルトのコントロールでは表示されませんが、データ パレットからビジネス プロセスにドラッグできます。例外スキーマ ファイル (RNIF 2.0 用) をもつスキーマ プロジェクトがアプリケーションに含まれており、スキーマがすでに構築されている場合は、WebLogic Workshop のマッパー機能でクエリを (XQuery 言語で) 作成して、必要な値を抽出できます。マッパー機能を使用してクエリを作成する方法については「XQuery を使用したデータの変換」を参照してください。

メッセージ要素を取得する

RosettaNetContext XMLBean を使用して、RosettaNet メッセージから特定のメッセージ要素を取得できます。以下のメッセージ要素が取得可能であり、java.lang.string として返されます。

表 12-5 メッセージの要素
要素名
説明
from
送信者の DUNS 番号。
to
受信者の DUNS 番号。
pip
メッセージ用に指定された RosettaNet PIP コード。
pip-version
メッセージ用に指定された PIP バージョン。
from-role
PIP 仕様で定義されている送信側の RosettaNet ロール名。Buyer、Initiator、Shipper など。
to-role
PIP 仕様で定義されている受信側の RosettaNet ロール名。Seller、Participant、Receiver など。
failure-report-administrator
障害を管理するように指定されているトレーディング パートナのトレーディング パートナ ID。WebLogic Integration では、送信側トレーディング パートナのバインディングで指定する。
global-usage-code
メッセージがテスト モードとプロダクション モードのどちらで送信されたのかを示す。
debug-mode
メッセージがデバッグ モードで送信された場合は true を返す。
message-tracking-id
このメッセージが応答となるアクションのインスタンス ID。
protocol-name
使用されるプロトコルの名前。
protocol-version
使用されるプロトコルのバージョン。
conversation-id
会話の ID。
process-instance-id
受信プロセスのインスタンス ID。
process-uri
受信プロセスの URI。
business-action
メッセージのビジネス アクション。Purchase Order Request、Purchase Order Confirmation など。
document-datetimestamp
文書が作成された日付と時刻。
proprietary-identifier
文書を識別するユニークな番号。

RosettaNetContext XMLBean を使用するときには、必ず以下のクラスをインポートしてください。

com.bea.wli.control.rosettanetContext.RosettaNetContextDocument;
com.bea.wli.control.rosettanetContext.RosettaNetContextDocument.RosettaNetContext;

以下のコード例は、RosettaNetContext の使用方法を示しています。

注意 : ここで示すコード例を使用する場合は、RosettaNet コントロール定義ファイル (コントロール ファイル) で、対応するメソッドの戻り値の型も変更してください。つまり、public void sendMessage() public RosettaNetContextDocument sendMessage() に変更する必要があります。

Service Content は、RosettaNet メッセージのサービス コンテンツです。

Service Content は、RosettaNet メッセージのサービス コンテンツです。

ビジネス ID を動的に指定する

RosettaNet コントロールでは、コントロールの開始者 (from プロパティ) および参加者 (to プロパティ) のビジネス ID を動的にバインドする機能を追加できます。プロパティの動的バインディングは以下の方法で行うことができます。

優先順位

最も優先順位の高い方法から挙げると、プロパティ設定の階層は次のようになります。

  1. セレクタ (RosettaNetControl アノテーション) と DynamicProperties.xml ファイルを使用して動的にバインドされるプロパティ
  2. setProperties() メソッドを使用して設定されるプロパティ
  3. Process.java ファイルで RosettaNet アノテーションを使用してコントロール インスタンス レベルで設定されるプロパティ
  4. コントロール ファイルで RosettaNet アノテーションを使用してコントロール ファイル クラス レベルで設定されるプロパティ

動的なセレクタの方が静的なセレクタよりも優先順位が高くなります。

セレクタを使用する

RosettaNet コントロールでは、動的なセレクタを使用することで、実行時に複数のトレーディング パートナからビジネス メッセージの送信先になる 1 つを決定できます。動的なセレクタを指定するときには、必要なビジネス ID を取得する XQuery を構築してテストします。

動的なセレクタを使用するには
  1. デザイン ビューに、動的なセレクタを指定する RosettaNet コントロールを含むビジネス プロセスを表示します。
  2. デザイン ビューのデータ パレットで、RosettaNet コントロール ノードを選択します。
  3. プロパティ ペインで from-selector プロパティまたは to-selector プロパティを見つけ、関連付けられた xquery パラメータを選択します。[xquery] フィールドの横の、3 つのドット (...) で示されるボタンをクリックします。動的なセレクタ クエリ ビルダが表示されます。
  4. [開始メソッドのスキーマ] 領域で、コントロールの開始メソッドに関連付ける要素を選択します。生成されたクエリが [XQuery] 領域に表示されます。
  5. [OK] をクリックします。

setProperties を使用する

setProperties メソッドは RosettaNetPropertiesDocument パラメータを受け付けます。RosettaNetPropertiesDocument タイプは、DynamicProperties.xsd で定義されている対応するスキーマ要素から生成される XML Bean クラスです。DynamicProperties.xsd ファイルは、新しいプロセス アプリケーションのシステム フォルダ内、またはスキーマ プロジェクトのシステム フォルダ内にあります。

DynamicProperties.xsd ファイルをもつスキーマ プロジェクトがアプリケーションに含まれており、スキーマがすでに構築されている場合は、WebLogic Workshop のマッパー機能でクエリを (XQuery 言語で) 作成して、必要な値を抽出できます。マッパー機能を使用してクエリを作成する方法については「XQuery を使用したデータの変換」を参照してください。

setProperties メソッドを使用してビジネス ID を動的に設定するには
  1. DynamicProperties.xsd ファイルをもつスキーマ プロジェクトがアプリケーションに含まれており、スキーマがすでに構築されていることを確認します。
  2. ビジネス プロセスにコントロール送信ノードを作成します。
  3. データ パレットから setProperties メソッドをドラッグし、コントロール送信ノードにドロップします。
  4. [データの送信] タブで [トランスフォーメーション] を選択し、to および from の値をもつ変数を指定します。次に、それらを RosettaNetPropertiesDocument 内の対応する要素にマップするトランスフォーメーションを作成します。

現在のプロパティ設定を表示するには、getProperties() メソッドを使用します。

関連トピック

RosettaNet コントロール

概要 : RosettaNet コントロール

RosettaNet コントロールを作成する

サンプル : RosettaNet コントロール

サンプル : RosettaNet コントロール

RosettaNet コントロールの使用方法の例については、『チュートリアル : RosettaNet ソリューションの構築』(下記 URL) を参照してください。

http://edocs.beasys.co.jp/e-docs/wli/docs81/tptutorial/rosettanet.html

関連トピック

概要 : RosettaNet コントロール

RosettaNet コントロールを作成する

RosettaNet コントロールを使用する


  ページの先頭       前  次