Oracle SOAスイートでのSOAアプリケーションの開発 ヒューマン・ワークフロー・サービス・コンポーネントの使用 ヒューマン・ワークフローのチュートリアル ヒューマン・タスクの設計 ヒューマン・タスクの設計 ヒューマン・タスクの設計方法を学習します。 ヒューマン・タスクを設計するには: 「タスクのタイトル」フィールドに、Request for Vacationと入力します。 結果のデフォルト値(「APPROVE」および「REJECT」)をそのまま使用します。このタスクの場合、これらの結果は、休暇申請に対するマネージャの操作に2つの選択肢があることを示しています。 エディタの左側にある「データ」タブをクリックし、「追加」アイコンをクリックしてタスク・ペイロードを指定します 「文字列パラメータの追加」を選択します。 「タスク・パラメータの追加」ダイアログが表示されます。XSDファイル内の要素を表すパラメータを作成します。これにより、ペイロード・データがワークフロー・タスクで使用できるようになります。 「要素」を選択します。「要素」フィールドの右側にある「検索」アイコンをクリックします。 「タイプ・チューザ」ダイアログが表示されます。 「プロジェクトのスキーマ・ファイル」→「VacationRequest.xsd」→「プロセス」の順に開いて選択し、「OK」をクリックします。図31-5に詳細を示します。 図31-5「タイプ・チューザ」ダイアログ「図31-5 「タイプ・チューザ」ダイアログ」の説明 「ワークリストにより編集可能」チェック・ボックスが選択されていることを確認します。この選択によって、実行時にOracle BPM Worklistからこのパラメータを変更するオプションが提供されます。 「タスク・パラメータの追加」ダイアログで、「OK」をクリックします。 エディタの左側にある「割当て」タブをクリックします。 「コンポーネント」ウィンドウの「参加者」セクションから、「単一の参加者」タイプをドラッグして「参加者をここにドロップ」ボックスにドロップします(図31-6を参照)。休暇申請タスクを操作するのは単一の割当て先であるマネージャのため、このタイプを選択します。 Oracle SOA Suiteには、特定のビジネス・ニーズに対応するために、参加者タイプと呼ばれるすぐに使用できるパターンが複数用意されています。詳細は、「タスクの割当ておよびルーティング」を参照してください。 図31-6 割当ておよびルーティング・ポリシー「図31-6 割当ておよびルーティング・ポリシー」の説明 追加した参加者をダブルクリックします。 「参加者タイプの編集」ダイアログ・ボックスが開きます。 「参加者名」表で、「追加」アイコンをクリックし、「ユーザーの追加」を選択します。 この参加者タイプは、タスクに対して単独で機能します。 「データ型」列をクリックし、表示されたリストから「式別」を選択します。図31-7に詳細を示します。 このアクションを使用すると、タスクのコンテンツによってタスクを動的に割り当てることができます。休暇申請を提出している従業員は、このタスクに渡されたパラメータ(「BPELプロセスを使用したアプリケーションおよびプロジェクトの作成」でインポートしたXSDファイル内のcreator要素)から取得されます。このタスクは、その従業員のマネージャに自動的にルーティングされます。 図31-7 「データ型」列での「式別」の選択「図31-7 「データ型」列での「式別」の選択」の説明 「値」列で、「参照」アイコン(...)をクリックして、「式ビルダー」ダイアログを起動します。 「関数」セクションのドロップダウン・リストで、「アイデンティティ・サービス関数」を選択します。 「getManager」を選択します。この関数によって、休暇申請タスクを作成したユーザーのマネージャが取得されます。 「関数」セクション上部にある「式に挿入」をクリックします。関数のカッコ内にカーソルを置きます。 「スキーマ」セクションで、「task:task」→「task:payload」→「ns1:VacationRequestProcessRequest」→「ns1:creator」の順に展開します。 ここで、ns1はこの例のネームスペースであり、ユーザーのネームスペースとは異なる場合があります。 「式に挿入」をクリックします。 「式ビルダー」ダイアログの「式」セクションに、XPath式が表示されます。図31-8に詳細を示します。 図31-8 XPath式「図31-8 XPath式」の説明 「OK」をクリックして、「式ビルダー」ダイアログを閉じます。「OK」を再度クリックして、「参加者タイプの追加」ダイアログを閉じます。 「ファイル」メニューから「すべて保存」を選択します。