この章では、OrderBookingプロセスのアクティビティにセンサーを挿入する方法について説明します。
この章の内容は次のとおりです。
このフェーズでは、第11章「ヒューマン・タスク・ワークフロー・システムの設計」で設計したプロセスに処理を追加します。このフェーズを実行する前に、前のフェーズが正常に完了したことを確認してください。このフェーズでは、OrderBookingプロセス内のアクティビティにセンサーを挿入する方法について説明します。センサーはビジネス・イベント情報を取得し、Java Message Service(JMS)のトピックに発行します。これにより、ビジネス・アナリストは、重要なビジネス・パフォーマンス・インジケータにリアルタイムでアクセスできるようになります。ビジネス・アナリストはこの情報を使用して、重要なビジネス・アクティビティのスピードや効率を分析および向上させることができ、重要なビジネス・プロセスの管理ならびに実行における遅延を排除できます。次の主要タスクを実行します。
OrderBooking BPELプロセス内のアクティビティにセンサーを作成します。
OrderBooking BPELプロセスをデプロイします。
OrderBooking BPELプロセスをOracle BPEL Controlから実行します。
センサーの結果を確認します。
この項では次のタスクを実行します。
「アプリケーション・ナビゲータ」セクションで、「OrderBooking.bpel」をダブルクリックします。
「receiveInput」Receiveアクティビティをダブルクリックします。
「センサー」タブをクリックします。
「作成」をクリックして、アクティビティ・センサーの作成ウィンドウを表示します。
「名前」フィールドにInstanceStartと入力します。
「評価時間」リストから「完了」を選択します。
「アクティビティ変数センサー」セクションで「作成」をクリックします。
「アクティビティ変数センサーの作成」が表示されます。
「変数XPath」フィールドの右側のアイコンをクリックします。
変数XPathビルダー・ウィンドウが表示されます。
「変数」→「inputVariable」→「ペイロード」の順に開いて選択します。
「OK」をクリックします。
アクティビティ変数センサーの作成ウィンドウには次の詳細が表示されます。
「OK」をクリックして、アクティビティ・センサーの作成ウィンドウを表示します。
「センサー・アクション」セクションで「追加」をクリックします。
センサー・アクションの選択ウィンドウが表示されます。
「センサー・アクション」を選択し、「作成」アイコンをクリックします。
表示されるリストから「センサー・アクション」を選択します。
「名前」フィールドにReportsPublisherと入力します。
「パブリッシュ・タイプ」リストから「データベース」を選択します。
「OK」をクリックします。
センサー・アクションの選択ウィンドウが表示されます。
ReportsPublisherを選択して「OK」をクリックし、アクティビティ・センサーの作成ウィンドウに戻ります。
「センサー・アクション」セクションで「追加」をクリックします。
センサー・アクションの選択ウィンドウが表示されます。
「センサー・アクション」を選択し、「作成」をクリックします。
表示されるリストから「センサー・アクション」を選択します。
センサー・アクションの作成ウィンドウが表示されます。
次の詳細を入力します。
| フィールド | 説明 |
|---|---|
| 名前 | BAMPublisher |
| パブリッシュ・タイプ | JMSトピック |
| JMSコネクション・ファクトリ | jms/TopicConnectionFactory |
| パブリッシュ・ターゲット | jms/demoTopic |
| フィルタ | 空のままにします。 |
| 有効化 | 選択したままにします。 |
「OK」をクリックします。
センサー・アクションの選択ウィンドウが表示されます。
BAMPublisherを選択して「OK」をクリックし、アクティビティ・センサーの作成ウィンドウに戻ります。
アクティビティ・センサーの作成ウィンドウが次のように表示されます。
アクティビティ・センサーの作成ウィンドウおよびReceiveウィンドウで「OK」をクリックします。
「ファイル」メイン・メニューから「保存」を選択します。
センサー・アイコンが、「receiveInput」Receiveアクティビティの右上に付きます。
後続のOrderBookingアクティビティで、この項の手順を繰り返して追加のセンサーを作成します。これらの全アクティビティにおいて、既存のセンサー処理であるReportsPublisherおよびBAMPublisherの両方を追加します。他のセンサー処理を作成する必要はありません。
| アクティビティにセンサーを作成 | センサーの名前を指定 | 選択する検証時間 | 選択する変数XPath |
|---|---|---|---|
| receiveInput | InstanceStart | 完了 | $inputVariable/payload |
| receiveSM | ReceivedSMPrice | 完了 | $receiveSM_onResult_InputVariable/payload |
| receiveRD | ReceivedRDPrice | 完了 | $receiveRD_onResult_InputVariable/payload |
| invokePOAService | UserReviewStart | 完了 | $inputVariable/payload |
| receivePOAService | UserReviewComplete | 完了 | $inputVariable/payload |
| callbackClient | InstanceCompletion | 完了 | $inputVariable/payload |
「ファイル」メイン・メニューから「保存」を選択します。
「スタート」→「すべてのプログラム」→「Oracle - Oracle_Home」→「Oracle BPEL Process Manager」→「BPEL Control」の順に選択し、Oracle BPEL Controlにログインします(すでに開いている場合はページをリフレッシュします)。
Oracle BPEL Controlにログインするために次の情報を入力して「ログイン」をクリックします。
| フィールド | 値 |
|---|---|
| ユーザー名 | oc4jadmin
|
| パスワード | password
|
passwordは、インストール時に入力した値です。
「ダッシュボード」タブ内で、アンデプロイする最新のOrderBookingインスタンス・プロセスをクリックします。
「管理」リンクをクリックします。
ウィンドウ最下部の「アンデプロイ」をクリックします。
プロンプトが表示されたら、「OK」をクリックし、このプロセスでオープンしている全インスタンスを失効としてマークします。
プロンプトが表示されたら、「終了」をクリックします。
Oracle JDeveloperの「アプリケーション・ナビゲータ」セクションに移動します。
「OrderBooking」を右クリックします。
「デプロイ」→「my_integration_server_connection」→「defaultドメインにデプロイ」の順に選択します。
プロンプトが表示されたら、プロジェクトのバージョン番号を増やし、「OK」をクリックします。
これでBPELプロセスがコンパイルされます。 ウィンドウ下部のボタンをクリックしてエラーの有無を確認します。エラーが発生していなければ、デプロイは成功しています。 デプロイに失敗した場合は、手順4を参照してください。
「スタート」→「すべてのプログラム」→「Oracle - Oracle_Home」→「Oracle BPEL Process Manager」→「BPEL Control」の順に選択し、Oracle BPEL Controlにログインします(すでに開いている場合はページをリフレッシュします)。
Oracle BPEL Controlにログインするために次の情報を入力して「ログイン」をクリックします。
| フィールド | 値 |
|---|---|
| ユーザー名 | oc4jadmin
|
| パスワード | password
|
OrderBookingインスタンスが「ダッシュボード」タブに表示されていることを確認します。
OrderBookingインスタンスをクリックします。
「XMLソース」ラジオ・ボタンをクリックします。
テキスト・エディタを使用して、OrderBookingPO_1.xmlファイルのコンテンツを表示されるフィールド内にコピーし、貼り付けます。
「XMLメッセージの転送」をクリックします。
「インスタンスの監査」をクリックします。
SelectManufacturingプロセスは保留中であり、価格の見積り待機中です。
次のグラフィカル・ユーザー・インタフェースで、SelectManufacturingの価格の見積りを入力します。
http://localhost:8888/SelectManufacturingUI
Oracle BPEL Controlをリフレッシュすると、このプロセスがPOAServiceで保留中になります。
「スタート」→「すべてのプログラム」→「Oracle - Oracle_Home」→「Oracle BPEL Process Manager」→「Sample Worklist Application」を選択して、Oracle BPEL Worklist Applicationのログイン・ウィンドウにアクセスします。
jcooper/welcome1としてログインします。
このリストには、ユーザー処理待機中のタスクが表示されます。
「Actions」リストから「Claim」を選択し、「Go」をクリックしてタスクを申告します。
「Task Action」リストから「Approve」を選択し、「Go」をクリックします。
ユーザーjcooperとしてログアウトします。
jstein/welcome1(階層内におけるjcooperのデフォルト・マネージャ)としてログインします。
「Task Action」リストの「Approve」を選択し、「Go」をクリックします。
Oracle BPEL Controlをリフレッシュし、このインスタンスが完了したことを確認します。
「センサー値」リンクをクリックし、センサー結果を確認します。