ビジネス プロセス構築ガイド
RosettaNet 参加者ビジネス プロセスの構築
このトピックでは、Oracle Workshop for WebLogic で RosettaNet 参加者ビジネス プロセス ファイルを使用して、RosettaNet 会話のパブリック参加者ビジネス プロセスを構築する方法について説明します。
以下の節で構成されます。
RosettaNet は主要企業が参加するコンソーシアムであり、産業界全体に渡るオープン e ビジネス プロセス規格を作成および実装するために活動しています。これらの規格により、共通の e ビジネス言語の構築し、グローバル規模でのサプライ チェーン パートナ間のプロセスの連係を図ります。RosettaNet は、Uniform Code Council, Inc. (UCC) の子会社です。RosettaNet については、次の URL にアクセスしてください。
http://www.rosettanet.org
このトピックでは、RosettaNet PIP3A4 に基づき、「パブリック」、「参加者」のダブルアクション ビジネス プロセスを重点的に説明します。「開始者」ビジネス プロセスには、RosettaNet コントロールを使用します。これは、会話で RosettaNet メッセージの送受信を行うメソッドを提供します。
RosettaNet 参加者ビジネス プロセスについて
RosettaNet 参加者ビジネス プロセスは、RosettaNet 会話のパブリック参加者ビジネス プロセスを構築するための土台になります。このファイルは、RosettaNet 参加者ビジネス プロセスの構築に必須ではありませんが、RosettaNet 開始者ビジネス プロセスと簡単に統合するために必要となるノードおよびビジネス プロセス アノテーションを含んでいます。
RosettaNet 参加者ビジネス プロセスは、RosettaNet メッセージ交換を構築できるプロセス タイプの例として使用する目的で用意されています。ファイルは次のノードで構成されています。
表 27-1 RosettaNet ノード
|
|
|
|
|
これにより、ビジネス プロセスの開始部分が示される。開始ノードの [ アノテーション] ペインに、次のプロパティを定義できる。
pipName
pipRole
pipVersion
protocolName
protocolVersion
開始ノードの詳細については、「 ビジネス プロセスの開始」を参照。
|
|
|
メッセージ パスを使用して、クライアントまたはコントロールからのメッセージの配信時に、プロセスの実行を中断する。これにより、プロセスは現在の実行の流れを中断して、指定した代わりのアクションを行う。メッセージ パスについての詳細は、「 メッセージ パスの追加」を参照。
|
|
|
このノード、またはその場所の他のノードを使用して、エラー メッセージを受信したときに行うエラー処理を実行する。Client Request ノードについては、「 クライアントからメッセージを受信する」を参照。
|
Alert local administrator
|
|
このノード、またはその場所の他のノードを使用して、エラー メッセージを管理者に送信する。実行ノードについては、「 Perform ノードでのカスタム Java コードの記述」を参照。
|
|
|
開始者から RosettaNet メッセージを受信した後、RosettaNet 参加者ビジネス プロセスを開始する。Client Request ノードについては、「 クライアントからメッセージを受信する」を参照。
|
Send receipt acknowledgment.
|
|
要求メッセージの受信確認を開始者に送信する。クライアント応答ノードについては、「 コントロールを使用してリソースと対話する」を参照。
|
|
|
このノード、またはその場所の他のノードを使用して、要求をプライベート プロセスに送信する。実行ノードについては、「 Perform ノードでのカスタム Java コードの記述」を参照。
|
|
|
このノード、またはその場所の他のノードを使用して、プライベート プロセスから応答を受信する。実行ノードについては、「 Perform ノードでのカスタム Java コードの記述」を参照。
|
|
|
このノード、またはその場所の他のノードを使用して、応答を開始者に返送する。Client Response ノードについては、「 メッセージのクライアントへの送信」を参照。
|
Receive receipt acknowledgment
|
|
このノード、またはその場所の他のノードを使用して、開始者プロセスからの確認をリスンする。Client Request ノードの詳細については、「 クライアントからメッセージを受信する」を参照。
|
|
|
タイムアウト パスを使用して、特定の時間が経過した後に再試行ブロック グループでノードの反復実行を中断する。ノードのグループ化については、「 ビジネス プロセス内のノードのグループ化」を参照。 タイムアウト パスについての詳細は、「 タイムアウト パスの追加」を参照。
|
|
|
このノード、またはその場所の他のノードを使用して、1 つまたは複数の条件の評価に基づいて実行パスを選択する。この場合は、再試行ブロック グループの反復回数である。分岐ノードの詳細は、「 分岐条件の定義」を参照。
|
|
|
このノード、またはその場所の他のノードを分岐ノード内に配置して、再試行ブロック グループの反復がタイムアウトになった場合は、開始者への障害通知を処理する。このノードは通常、PIP0A1 障害通知を呼び出す場所。実行ノードについては、「 Perform ノードでのカスタム Java コードの記述」を参照。このノードをカスタマイズする方法については、「 障害通知の設定 (必須)」を参照。
|
|
|
RosettaNet 参加者ビジネス プロセスを終了する。 完了ノードについては、「 ビジネス プロセスでのエンドポイントの指定」を参照。
|
RosettaNet 参加者テンプレートのノードをカスタマイズする方法については、「RosettaNet 参加者ビジネス プロセスのカスタマイズ」を参照してください。
このビジネス プロセスは、ダブルアクション アクティビティ (非同期) コレオグラフィにモデル化されており、『RosettaNet Implementation Framework Core Specification』(version V02.00.01) で指定されています。このコレオグラフィについては、次の URL を参照してください。
http://www.rosettanet.org
RosettaNet 参加者ビジネス プロセスの作成
RosettaNet 参加者ビジネス プロセス ファイルを使用すると、パブリック参加者ビジネス プロセスを作成できます。RosettaNet 参加者テンプレートは PIP3A4 に基づいていますが、その他の PIP にも使用できます (PIP スキーマやアノテーションの PIP 識別情報などに多少に違いがあります)。
RosettaNet 参加者ビジネス プロセスを作成するには
まだ作成していない場合は、新しいアプリケーションまたは既存のアプリケーション内の新しいプロジェクトを作成します。
Oracle Workshop for WebLogic メニューから、[ファイル|新規|その他] を選択します。[ウィザードを選択] ダイアログ ボックスが表示されます。
WebLogic Integration を展開して、[RosettaNet 参加者プロセス] を選択し、[次へ] をクリックします。
[プロセス] ダイアログ ボックスで、[名前] フィールドに Java ファイルの有効な java クラス名を入力します。
注意 : |
この名前は、com.bea.wli.jpd.RosettaNet アノテーションの pip-name 属性のデフォルト値として使用されます。プロダクション モードで RosettaNet 参加者ビジネス プロセスを実行する前に、pip-name 属性を有効な PIP コードに変更する必要があります。詳細については、「RosettaNet 参加者ビジネス プロセスのカスタマイズ」を参照してください。 |
[ソース・フォルダー] に表示されたディレクトリ以外の場所に Java ファイルを作成するには、[参照] ボタンをクリックしてターゲット ディレクトリを選択し、[OK] をクリックします。
[終了] をクリックします。
Oracle Workshop for WebLogic は新しい RosettaNet 参加者プロセス Java ファイルを作成し、[デザイン ビュー] ペインに表示します。
作業内容を保存するには、[ファイル|保管] を選択します。
RosettaNet 参加者ビジネス プロセスのカスタマイズ
RosettaNet 参加者ビジネス プロセスを作成したら、関連する RosettaNet 会話用にカスタマイズする必要があります。一般的なカスタマイズの作業は以下のとおりです。
実装要件に応じて、参加者ビジネス プロセスに追加のカスタマイズが必要になる場合があります。
ビジネス プロセス アノテーションのコンフィグレーション (必須)
RosettaNet 参加者ビジネス プロセス ファイルでは、次のデフォルト アノテーションを指定します。
これらのプロパティは、ビジネス プロセスの開始ノードを選択したときに表示されるプロパティ ビューで設定します。次のプロパティを見直して (必要に応じて) 編集します。
表 27-2 ビジネス プロセス アノテーション
|
|
|
|
|
RosettaNet PIP コードを 3B2 などに変更する。次のサイトで定義するように、有効な PIP コードでなければならない。
|
|
|
PIP 仕様での定義に従って参加者のロールの RosettaNet 名に変更する (例: PIP3B2 の受信者)。
|
|
|
RosettaNet PIP バージョンに変更する (例: PIP3B2 用 v01.01)。PIP に関連付けられた有効なバージョン番号でなければならない。
|
|
|
|
|
|
RNIF (RosettaNet Implementation Framework) version 1.1 を使用している場合は、1.1 に変更する。
|
注意 : |
[プロパティー] ビューが [デザイン] ビューに表示されない場合は、Oracle Workshop for WebLogic メニューから [ウィンドウ|ビューの表示|プロパティー] を選択します。 |
詳細については、RosettaNet アノテーション タイプを参照してください。ビジネス プロセス プロパティのコンフィグレーションの詳細については、「ビジネス プロセス言語」を参照してください。
引数タイプのカスタマイズ (省略可能)
デフォルトでは、RosettaNet 参加者ビジネス プロセスには、Client Request ノードが Receive Message という名前で含まれており、開始者からの着信 RosettaNet 要求メッセージを処理します。response
および callback.sendReply
メソッドでは、添付ファイルとその Java データ型の指定が必要な場合があります。データ型は、着信メッセージの内容と一致する必要があり、次の値のいずれかになります。
表 27-3
|
|
|
デフォルト。型なしの XML フォーマットのデータを表す。XML データは、設計時には指定されない。
|
|
任意の非 XML 構造化データまたは非構造化データを表す。このデータの MFL ファイルは存在しない (そのため、既知のスキーマはない)。
|
|
RosettaNet のビジネス メッセージの 1 つまたは複数の部分を含む配列。メッセージ パートには型なしの XML データ ( XmlObject データ型) と非 XML データ ( RawData データ型) がある。異なる種類のペイロード (XML と非 XML) を同じメッセージで送信するときに使用される。メッセージ部分の実際の数は、処理されるまで不明なことがある。 MessageAttachment オブジェクトの操作については、以下を参照。
|
データの説明
注意 : |
型付き XML データや型付き MFL データを添付ファイルにすることもできますが、その場合は対応する XML Bean クラス名や MFL クラス名をパラメータ内で指定する必要があります。 |
データ型の詳細については、「データ型の操作」を参照してください。
データ トランスフォーメーションのコンフィグレーション (必須)
パブリックおよびプライベートのビジネス プロセスはさまざまなドキュメント形式をよく使用します。パブリック ビジネス プロセスは関連付けられた PIP スキーマを使用します。プライベート プロセスは、独自の ERP フォーマットなど、内部プロセス (XML またはバイナリ) が要求するフォーマットを使用します。プライベート ビジネス プロセスが PIP フォーマットを使用しない場合は、パブリック ビジネス プロセスは PIP フォーマットから、プライベート ビジネス プロセスで使用されているフォーマットにデータを変換する必要があります。
データ トランスフォーメーションのコンフィグレーションには、以下を行う必要があります。
データ トランスフォーメーションに必要なスキーマをプロジェクトにインポートします。これには、PIP に関連付けられたスキーマや、内部プロセスで使用されるフォーマットに関連付けられたスキーマが含まれます。
トランスフォーメーションをプロジェクトへ追加し、トランスフォーメーションを実行するメソッドを追加して、さらにこれらのメソッドをビジネス プロセスにドラッグします。トランスフォーメーションの使用方法については、『XQuery Mapper を使用したデータの変換』を参照してください。
プライベート参加者プロセスの統合 (必須)
RosettaNet パブリック参加者ビジネス プロセスを作成したら、それを、開始者の要求をプライベートに処理する「プライベート」参加者プロセスにリンクする必要があります。Oracle Workshop for WebLogic には、他のビジネス プロセスと通信する以下のようなさまざまな方法を提供しています。
Control Send ノードおよび Control Receive ノード (非同期通信用) または Control Send with Return ノード (同期通信用)。コントロール ノードの詳細については、「コントロールを使用してリソースと対話する」を参照してください。
JMS (Java Message Service) コントロール。
非 Oracle WebLogic Integration システム用の Perform ノード。Perform ノードの詳細については、「Perform ノードでのカスタム Java コードの記述」を参照してください。
障害通知の設定 (必須)
この参加者ビジネス プロセスでは、開始者から応答ドキュメントに対して応答を待っている間にタイムアウトが発生した場合は、参加者は障害通知 (PIP0A1) を開始者に送信する必要があります。PIP0A1 の詳細については、次の URL にアクセスしてください。
http://www.rosettanet.org
開始者に障害を通知するには、PIP0A1 を実装する独立した開始者ビジネス プロセスを作成し、開始者ビジネス プロセスを開始する必要があります。
開始者ビジネス プロセスが Oracle Workshop for WebLogic で作成された場合、Control Send ノードおよび Control Receive ノード (非同期通信用) または Control Send with Return ノード (同期通信用) を使用できます。コントロール ノードの詳細については、「コントロールを使用してリソースと対話する」を参照してください。
開始者ビジネス プロセスが Oracle Workshop for WebLogic で作成されていない場合は、Perform ノードを代わりに使用できます。Perform ノードの詳細については、「Perform ノードでのカスタム Java コードの記述」を参照してください。