チュートリアル : Worklist アプリケーションの構築
手順 6. 解決承認ビジネス プロセスの実行
WebLogic Workshop のブラウザベースのインタフェースを使って、作成したビジネス プロセスの機能を実行してテストすることができます。Workshop のテスト ブラウザで、クライアントとしてビジネス プロセス上でメソッドを起動し、応答を確認します。
また、ワークリストのユーザ インタフェース (UI) を使って SoftCo 社の QualityEngineerA として作業します。この手順では、2 つのシナリオ、つまり QualityEngineerA がバグの解決を承認するシナリオと、QualityEngineerA がバグの解決に反対するシナリオをテストする方法について説明します。
テスト ブラウザを起動するには
[アプリケーション] ペインで、テストするビジネス プロセス (例 : ResoutionApproval.jpd) を選択します。
[デザイン ビュー] タブを選択していない場合は選択します。[アプリケーション] ペインで選択したビジネス プロセスがデザイン ビューに表示されます。
worktutorial
ドメインで WebLogic Server が動作している場合は、WebLogic Workshop ビジュアル開発環境の最下部にあるステータス バーに、次のインジケータが表示されます。
サーバが起動していない場合は、WebLogic Workshop メニューから WebLogic Server を起動します。起動するには、[ツール|WebLogic Server|WebLogic Server の起動] を選択します。
〔F7〕を押してアプリケーションをビルドするか、WebLogic Workshop のメニューから [ビルド|アプリケーションのビルド] をクリックします。WebLogic Workshop により、アプリケーションがビルドされます。
ビルドが完了してサーバが更新されたら、メニュー バーの [開始] ボタン をクリックしてビジネス プロセスを実行します。Workshop のテスト ブラウザが起動し、このブラウザからサンプルの入力値を使ってビジネス プロセスをテストすることができます。
テスト ブラウザで、必要に応じて [テスト フォーム] タブをクリックして [テスト フォーム] ページを開きます。
[テスト フォーム] ページでは、ビジネス プロセスがクライアント要求の一部として受信するデータを入力することができます。
コード リスト 7-1 の XML データを選択してコピーし、[テスト フォーム] ページの [xml resolutionXML] ボックスに貼り付けます。
コード リスト 7-1 sampleFixResolution.xml
<bug:bug-resolution
xmlns:bug="http://www.bea.com/WLIWorklistTutorial/BugResolution.xsd">
<bug:description>Null Pointer Exception while performing XYZ</bug:description>
<bug:resolution-code>FIXED</bug:resolution-code>
<bug:resolution-text>I forgot to check for null.Now we use a default in that case.</bug:resolution-text>
<bug:bug-creator>QualityEngineerA</bug:bug-creator>
</bug:bug-resolution>
テスト ブラウザで、ビジネス プロセス上のメソッド名 (receiveResolution) が表示されているボタンをクリックしてメソッドを起動します。[テスト フォーム] ページが更新され、メッセージ ログにおける要求パラメータと呼び出しの概要が表示されます。
最初の呼び出しがメッセージ ログに記録されます。これは、ビジネス プロセスを起動するために行った receiveResolution の呼び出しです。
ワークリストのユーザ インタフェースを起動するには
ビジネス プロセスの実行をさらに進めるには、ワークリスト UI にログインし、QualityEngineerA として作業する必要があります。このユーザはバグの作成者です。ビジネス プロセスを起動するために使用したテスト XML である sampleFixResolution.xml の bug-creator 要素を参照してください。また、このユーザはチュートリアルのシナリオに合わせて設定したユーザの 1 人です。
次のいずれかの方法で、ワークリスト UI にログオンします。
[申請タスク] をクリックしてタスクを表示します。このタスクは、このタスクを自動的に申請する QualityEngineerA に直接割り当てられています。
[詳細] をクリックして、申請タスクの詳細を表示するページを開きます。
[応答] をクリックして、解決を記述する XML (申請 XML) を表示するページを開きます。
ブラウザの [戻る] ボタンをクリックして、[タスクの詳細] ページに戻ります。
[タスクの詳細] ページで、[開始]、[完了] の順にクリックします。これで、解決を承認するタスクが完了します。
WebLogic Workshop のテスト ブラウザに戻り、[メッセージ ログ] ペインで [更新] をクリックします。ビジネス プロセスは最後まで実行されています。
WebLogic Workshop メニューの
. [メッセージ ログ] は次の図のようになります。
次の呼び出しがメッセージ ログに記録されます。
receiveResolution - クライアントとしてビジネス プロセスを起動するために行った呼び出し。
taskCtrl:listener.onTaskEvent - タスク コントロールからの解決承認ビジネス プロセスに対する呼び出し。
callback.approved - ビジネス プロセスを起動したクライアントに対するコールバック。ここでのメソッドは、ビジネス プロセス内の Resolution Approved ノードで作成した approved メソッドです。
これで、ユーザ (QualityEngineerA) がバグの解決を承認するシナリオに関する解決承認ビジネス プロセスの実行とテストが完了しました。
次の手順では、同じビジネス プロセスをもう一度実行するために必要なデータと手順を説明しますが、今度は QualityEngineerA がタスクに反対します。つまり、QualityEngineerA がバグの解決に反対します。
ResolutionApproval.jpd の再実行
テスト ブラウザを閉じ、ResolutionApproval.jpd ビジネス プロセスを再度実行します。WebLogic Workshop のメニュー バーにある [開始] ボタン をクリックしてください。
コード リスト 7-1 の XML データを選択してコピーし、[テスト フォーム] ページの [xml resolutionXML] ボックスに貼り付けます。
ビジネス プロセス上のメソッド名 (receiveResolution) が表示されているボタンをクリックしてメソッドを起動します。最初の呼び出しがメッセージ ログに記録されます。これは、ビジネス プロセスを起動するために行った receiveResolution の呼び出しです。
再び QualityEngineerA としてワークリスト UI にアクセスし、[申請タスク] を選択します。
[詳細] をクリックして、申請タスクの詳細を表示するページを開きます。
注意 : [タスクの詳細] ページでは、[作成日] フィールドと [期日] フィールドの値に注目してください。タスクの所有者 (QualityEngineerA) には、ソフトウェア バグの解決を受け入れるかまたは反対する期間として 2 営業日が与えられています。
[応答] をクリックして、解決を記述する XML (申請 XML) を表示するページを開きます。
注意 : SoftCo 社では、バグの解決に反対するユーザに、反対の理由を記述したドキュメントの添付を求めています。このシナリオでは、QualityEngineerA がタスクに反対するため、その理由を記述するドキュメントを添付する必要があります。次の手順では、このシナリオをテストする方法について説明します。
コードリスト 7-2 の XML データを選択してコピーし、[タスクの応答] ページの [応答 XML] ボックスに貼り付けます (図 7-1 を参照)。
コード リスト 7-2 sampleAppeal.xml
<bug:resolution-appeal
xmlns:bug="http://www.bea.com/WLIWorklistTutorial/ResolutionAppeal.xsd">
<bug:appeal-text>Please reconsider, a customer has complained.</bug:appeal-text>
<bug:resolution-code>WILL_NOT_FIX</bug:resolution-code>
<bug:resolution-text>This is not important, we have other bugs to fix.</bug:resolution-text>
</bug:resolution-appeal>
図 7-1 [応答 XML] ボックス
[OK] をクリックします。ブラウザが [タスクの詳細] ページに戻ります。
[タスクの詳細] ページで、[開始]、[アボート] の順にクリックします。こうして、解決に反対するためにタスクを中止します。
WebLogic Workshop のテスト ブラウザに戻り、[メッセージ ログ] ペインで [更新] をクリックします。ビジネス プロセスは最後まで実行されています。
ここでは、メッセージ ログに記録される最後のコールバックが callback.appealed となります。これは、ビジネス プロセスを起動したクライアントに対するコールバックです。この場合のメソッドは、ビジネス プロセスの onTaskAborted メッセージ イベント ブランチの Resolution Appealed ノードで作成した appealed メソッドです。
この手順で、ユーザ (QualityEngineerA) がバグの解決に反対するシナリオに関する解決承認ビジネス プロセスの実行とテストは完了です。