• 検索結果がありません。

1. OrderBookingProcess プロジェクトの下に表示されている「Order_Booking_To_Be_

6.4.2 一意の Order ID の取得

ここでは、一意のOrder IDを取得する方法について説明します。データベースのORDERS表に 注文情報を入力するには、データベースからOrder IDを取得しておく必要があります。Order IDは、データベース順序から生成されます。

ここでは、「Order」レコードを挿入する前に一意のOrder IDを生成する必要があります。

Order表は、「samples」フォルダにあるBPMDemoスキーマの一部です。

「Order」レコードは、事前に作成されたデータベース表に書き込まれます。データベースの

ORDERS表に「Order」情報を書き込むには、Oracleデータベースアダプタを使用します。

データベースアダプタは、実行時に、eis/DB/bpmdemo接続を介してデータベースに接続し ます(この実行時接続は、インストールおよび構成時に事前構成されています)。ORDERS表に

「Order」情報を入力するには、Order ID用に一意の識別子を生成する必要があります。BPA

CDに収録されている完全なBPEL実装では、Order ID用の一意の識別子がすでに生成され ています。

Order Id用の一意の識別子を生成するには、次の手順を実行します。

1. 図6-9に示すように、「ビュー」メニューの「コンポーネント・パレット」をクリックしま す。

6-9 「ビュー」メニューの「コンポーネント・パレット」の選択

6-10 「アダプタ構成ウィザード」の「ようこそ」ページ

4. 「次へ」をクリックします。

「サービス名」ページが表示されます。

5. 図6-11に示すように、「サービス名」フィールドにOrderSequenceと入力します。

6-11 「アダプタ構成ウィザード」の「サービス名」ページ

6. 「次へ」をクリックします。

「サービス接続」ページが表示されます。

7. 「新規データベース接続を作成します」アイコンをクリックします。

「データベース接続の作成」ダイアログボックスが表示されます。

8. 「データベース接続の作成」ダイアログボックスで、次の表に示す詳細を入力します。

9. 「接続のテスト」をクリックします。

「ステータス」ペインに成功メッセージが表示されます。

図6-12に、すべてのフィールドに値が入力された「データベース接続の作成」ダイアログ ボックスを示します。

6-12 「データベース接続の作成」ダイアログ ボックス

フィールド 入力する値

接続名 BPAQuickStart

接続タイプ Oracle (JDBC) ユーザー名 bpmdemo パスワード ORACLE

ホスト名 localhost

SID XE

6-13 「アダプタ構成ウィザード」の「操作タイプ」ページ

12. 操作タイプのリストから「Pure SQLの実行」を選択し、「次へ」をクリックします。

「アダプタ構成ウィザード」の「カスタム」ページが表示されます。

13.「SQL」フィールドに次のSQL文を入力します。

select order_seq_id_gen.nextval from dual

図6-14に示すように、「XSD」フィールドに適切なSQL文が自動的に入力されます。

6-14 「アダプタ構成ウィザード」の「カスタムSQL」ページ

14.「次へ」をクリックします。

図6-15に示すように、「詳細オプション」ページが表示されます。

6-15 「アダプタ構成ウィザード」の「詳細オプション」ページ

15. デフォルト値をそのまま使用して、「次へ」をクリックします。

「終了」ページが表示されます。

16.「終了」をクリックします。

これで、一意のOrder IDをフェッチするデータベースアダプタの定義が完了しました。

図6-16に示すように、すべてのフィールドに値が入力された「パートナ・リンクの作成」

ダイアログボックスが表示されます。

6-16 「パートナ・リンクの作成」ダイアログ ボックス

6.4.3 Order 」の処理

ここでは、一意のOrder Idをフェッチした後に「Order」を処理する方法について説明しま す。

一意のOrder Idをフェッチしたら、次の手順では、ORDERS表に「Order」レコードを挿入 します。これを行うには、別のデータベースアダプタを作成する必要があります。この例で は、Order_Processing_Serviceデータベースアダプタを作成します。

Order_Processing_Serviceデータベースアダプタを作成するには、次の手順を実行しま す。

1. 6.4.2項「一意のOrder IDの取得」で説明されている手順1~4を繰り返します。

2. 手順5で、Order_Processing_Serviceと入力します。

3. 6.4.2項「一意のOrder IDの取得」で説明されている手順6~11を繰り返します。

4. 「操作タイプ」ページで、「表に対して操作を実行」の下の「挿入または更新(マージ)」を 選択して、表に行を挿入するか、または表の行を更新します。

5. 「次へ」をクリックします。

「表の選択」ページが表示されます。

6. 「表のインポート」ボタンをクリックします。

「表のインポート」ダイアログボックスが表示されます。

7. 「問合せ」をクリックします。

図6-17に示すように、「選択可能」フィールドにBPMDEMOスキーマ内の使用可能な表のリ ストが表示されます。

6-17 「表のインポート」ダイアログ ボックス

8.ORDERS」および「ITEMS」を選択し、右矢印をクリックして「選択済」ボックスに移

動します。

9.OK」をクリックします。

データベースアダプタによってこれらの表への書込みが行われます。

10. 問合せのルートデータベース表として「ORDERS」を選択してから、「次へ」をクリック します。

定義されている2つの表のリレーションシップを示す「リレーションシップ」ダイアログ ボックスが表示されます。

11.「次へ」をクリックします。

図6-18に示すように、「属性のフィルタ処理」ダイアログボックスが表示されます。

6-18 「アダプタ構成ウィザード」の「属性のフィルタ処理」ダイアログ ボックス

12. デフォルト値を受け入れてから、「次へ」をクリックします。

「詳細オプション」ページが表示されます。

13. デフォルト値を受け入れてから、「次へ」をクリックします。

「終了」ページが表示されます。

これで、注文を処理するデータベースアダプタが作成されました。

14.「終了」をクリックします。

図6-19に示すように、すべてのフィールドに値が入力された「パートナ・リンクの作成」

ダイアログボックスが表示されます。

6-19 「Order」プロセスのPartner Link

6.4.4 Create_Order 」スコープ内での「 Get_Order_Id 」埋込みスコープの作成

ここでは、「Create_Order」スコープ内に「Get_Order_Id」スコープを作成する方法について説 明します。

「Get_Order_Id」スコープを作成するには、次の手順を実行します。

1. 「Create_Order」スコープを展開します。

2. 「コンポーネント・パレット」で、ドロップダウンメニューの「BPELアクティビティとコ ンポーネント」を選択し、「スコープ」アイコンを「Create_Order」スコープ内にドラッグ アンドドロップします。

3. 新しいスコープにGet_Order_Idという名前を付けます。

4. 「Create_Order」スコープ内の空の「Create_Order」アクティビティを削除します。

5.Get_Order_Id」スコープを展開し、「Get_Order_Id」スコープ内の起動アクティビティ を「アクティビティをここにドロップ」領域にドラッグアンドドロップします。

6. 起動アクティビティの左側にある矢印を使用して、起動アクティビティでOrderSequence