Oracle® Fusion Middleware Oracle Business Process Managementによるプロセスの管理とモニタリング 12c (12.2.1.1) E77374-01 |
|
![]() 前 |
![]() 次 |
管理者は、Oracle Business Process Management Workspace (プロセス・ワークスペース)で、「作業アイテム」パネルの表示の設定やタスク関連情報の管理と構成を含む、様々なタスクを実行できます。
エンド・ユーザーが「プロセス・トラッキング」ページの「アプリケーション」パネルからアプリケーションを起動すると、アプリケーションが起動され、フォームが表示されます。ユーザーがそのフォームを閉じると、そのプロセス・インスタンスは、処理も使用もされない余剰なインスタンスとして引き続き実行されます。これらの余剰名インスタンスは背景で実行されるインスタンスによってクリーン・アップされ、この背景で実行されるインスタンスはBPMNサービス・エンジンの管理者が指定してスケジュールできます。BPMNサービス・エンジンの管理者として、このバックグラウンド・インスタンスの指定の詳細情報が必要な場合は、『Oracle SOA SuiteおよびOracle Business Process Management Suiteの管理』を参照してください。
この章の内容は次のとおりです。
管理者は様々なアプリケーション・プリファレンスを指定して、「作業アイテム」パネルの表示を設定できます。
アプリケーション・プリファレンスを設定するには:
この項には次のトピックが含まれます:
アイデンティティ・サービスが複数のレルムで構成されている場合は、ユーザーがOracle BPM Worklistにログインすると、ログイン・ページにレルム名のリストが表示されます。LABEL_LOGIN_REALM
は、これらのレルムを表示するラベルのルックアップに使用するリソース・バンドル・キーを指定します。すべての設定は、管理ユーザーがアプリケーションごとに設定したものであり、すべてのユーザーに適用されます。
レルムという用語は、ユーザー・コミュニティにあわせて変更でき、国、会社、部署または部門などの用語の方が適切な場合があります。
レルムという用語を変更するには、リソース・バンドルをカスタマイズし、この文字列にリソース・バンドル・キーを指定し、そのリソース・バンドル・キーを指すように「アプリケーション・プリファレンス」ページ(図9-1を参照)の「ログイン・ページ・レルムのラベル」パラメータを設定します。
リソース・バンドルのカスタマイズの詳細は、リソース・バンドルのカスタマイズを参照してください。
リソース・バンドルの指定の詳細は、プロセス・ワークスペースでのリソース・バンドルの指定方法を参照してください。
リソース・バンドルは、ワークリスト・アプリケーションに表示される文字列を提供します。デフォルトでは、リソース・バンドルへのクラス・パスは次のとおりです:
管理者は、カスタム・リソース・バンドルを作成することで、アプリケーションに表示される文字列を追加または変更できます。その後、「アプリケーション・プリファレンス」ページの「リソース・バンドル」フィールドを使用して、カスタム・リソース・バンドルへのクラス・パスを指定できます。
リソース・バンドルのカスタマイズの詳細は、リソース・バンドルのカスタマイズを参照してください。
休暇ルールが有効になっている場合、個々のユーザーは、タスクの再割当てや自動委任を指定する休暇ルールを設定できます。再割当てと委任は、「アプリケーション・プリファレンス」ページ(図9-1を参照)の「休暇ルールの委任/自動結果設定の有効化」プロパティを使用して、すべてのユーザーに対して有効または無効にすることができます。
「アプリケーション・プリファレンス」ページで、プロセス・ワークスペースの表示言語を決定する方法を指定できます。言語ロケールに関する情報は、ユーザーのブラウザか、プロセス・ワークスペースのユーザー情報を格納するアイデンティティ・プロバイダから取得できます。
「アプリケーション・プリファレンス」ページにアクセスするには、プロセス・ワークスペースの最上部にあるグローバル・ツールバーの「管理」をクリックしてから、「管理領域」の下で「アプリケーション・プリファレンス」を選択します。「アプリケーション・プリファレンス」パネルが右のペインに表示されます。表示言語を指定するには、「次の言語設定を使用」フィールドで、「ブラウザ」と「アイデンティティ・プロバイダ」のどちらかを選択します。
タスクを開くと、タスクの詳細がポップアップ・ウィンドウで開かれます。アプリケーション・プリファレンス・ページから、タスク完了後のタスク詳細ポップアップ・ウィンドウの動作を指定できます。
タスク・フォームのデフォルトを使用: タスクの完了後、タスクの詳細ページが閉じられるか、各タスク・フォームの設定に基づいて次のタスクがロードされます。
次のタスクをロード: タスクの完了後、タスクの詳細ページに次の使用可能なタスクが表示されます。
タスクの詳細を閉じる: タスクの完了後、タスクの詳細ページが閉じられ、画面がタスク・リストに戻されます。タスク・リストがリフレッシュされ、残っているタスクのみが表示されます。詳細ページを表示するには、タスクを選択します。
「アプリケーション・プリファレンス」ページから、プロセス・ワークスペース全体で「作成者」や「割当て先」などの名前列に表示されるユーザー名の形式を指定できます。ユーザーID (例: jstein)を表示するか、完全なユーザー名(例: John Stein)を表示するかを選択できます。
「アプリケーション・プリファレンス」ページにアクセスするには、プロセス・ワークスペースの最上部にあるグローバル・ツールバーの「管理」をクリックしてから、「管理領域」の下で「アプリケーション・プリファレンス」を選択します。「アプリケーション・プリファレンス」パネルが右のペインに表示されます。表示言語を指定するには、図9-4に示すように、「ユーザー名の形式」フィールドで、「ユーザーID」または「ユーザー名」を選択します。
ブランド・ロゴは、ワークリスト・アプリケーションの各ページの左上隅に表示されるイメージです。Oracleロゴがデフォルトで表示されますが、選択したイメージに変更することもできます。
注意:
適切に表示するためには、イメージ・サイズを120px x 40px (長さx幅)にすることをお薦めします。高解像度の大きいイメージをブランド・ロゴのサイズにあわせて圧縮することもできますが、小さいイメージの方が見やすく表示されます。
ブランド・ロゴを指定するには、次のいずれかを実行します。
外部のイメージ・ホストWebサイトを参照します。これを行うには、「ブランド・ロゴ」フィールドにイメージのURLを入力します。
サーバー上の特定の場所にイメージをアップロードし、「ブランド・ロゴ」フィールドに相対パス(/afr/my_logo.png
など)を入力します。
共有ライブラリからイメージを参照します。これを行うには、「ブランド・ロゴ」フィールドに、共有ライブラリにあるとおりにロゴ名のパスを入力します(/my_logo.png
など)。
注意:
ワークリスト・アプリケーションとプロセス・ワークスペースのいずれかからブランド・ロゴをカスタマイズすると、両方のアプリケーションのロゴが変更されます。たとえば、ワークリスト・アプリケーションからロゴを変更すると、プロセス・ワークスペースのロゴが自動的に変更されます。
共有ライブラリへのイメージのデプロイの詳細は、イメージおよびJARファイルの共有ライブラリJARファイルの一部としてのデプロイを参照してください。
サイトのタイトルを指定し、デフォルトのタイトル(BPM Worklist)を好みのタイトルに変更できます。
ブランド・タイトルを指定するには、次のいずれかを実行します。
「ブランド・タイトル」フィールドに、タイトルの単純な文字列を入力します。
「ブランド・タイトル」フィールドに、「リソース・バンドル」のキーと値のペアを参照するラベルを入力します。この方法で、タイトルをLABEL_WORKLIST_TITLE.などのように国際化できます。
スキンは、グラフィック・インタフェースのルック・アンド・フィールを決定します。
「スキンの選択」リストから、デフォルトのADFスキンの1つを選択します
「ヒューマン・タスク」フロー・アプリケーションにプロセス・ワークフローで選択したスキンを使用させるには、「ヒューマン・タスク」フロー・アプリケーションにあるtrinidad-config
.xmlファイルに、次が含まれていることを確認する必要あります。
<skin-family>#{param.sf}</skin-family>
.JAR
ファイル内のカスタマイズされたスキン(.css
ファイル)をアップロードし、共有ライブラリの一部としてデプロイします。その後、コンソールからアプリケーションを再起動すると、カスタム・スキンが「スキンの選択」リストに表示されます。
次のようにして、カスタム・スキンを作成します。
注意:
次の方法でCSSファイル内のイメージを参照します:
../adf/oracle/skin/images/example.gif
(先頭の2つのドットを含む)。
これにより、.css
ファイルがあるMETA-INF/skin
ディレクトリの上のディレクトリからMETA-INFルートの検索を開始できます。
共有ライブラリへのイメージのデプロイの詳細は、イメージおよびJARファイルの共有ライブラリJARファイルの一部としてのデプロイを参照してください。
プロセス・ワークスペースでは、「リンク」パネルで使用できるカスタマイズされた外部アプリケーションおよびリンクを作成できます。さらに、プロセス・ワークスペースとワークリスト・アプリケーションの両方で、受信ボックスに表示される列を指定できます。
カスタマイズされたアプリケーションを有効にするには:
画面フローを使用すると、進行中のすべてのタスクを順番に処理できます。たとえば、ユーザーが進行中のタスクを終了し、次のタスクが同一のユーザーに割り当てられている場合、タスク・リストに戻らずに次のタスが自動的に同一のフローに表示されます。
タイムアウトは、画面フロー・タスクが終了してから、次のタスクが有効になり処理を継続するまでの時間の長さを定義します。デフォルトの待機時間は、5000ミリ秒です。
画面フローの最後のタスクにScreenFlowModeパラメータを設定しないかわりとして、タイムアウト・パラメータを使用しないでください。これは、画面フローの最後のタスクを除く、すべてのタスクの待機時間を長くする、または短くする場合にのみ使用します。
タイムアウト・パラメータを設定するには、図9-5で示すように、「ミリ秒単位の画面フロー・タイムアウト間隔」フィールドで、ミリ秒を指定します。
管理ロールまたはプロセス所有者ロールのユーザーは、カスタマイズされたアプリケーションのURLをプロセス・ワークスペースに登録できます。これらは「アプリケーション」パネルに表示されます。
カスタム・アプリケーションのURLを登録するには:
プロセス・ワークスペースでは、複数のタスクを選択した後、タスク・アクション・ボタンを使用して、それらを承認または却下できます。これらのボタンは、緑色のチェック・マークまたは赤色のXとして「タスク」ページに表示されます。管理者は、1つまたは複数の承認または却下タスク・アクションを実行するように、これらのアイコンをそれぞれ構成できます。
イメージにマップするタスク・アクションを指定するには:
管理者は、プロセス・ワークスペースの標準のタブ(「タスク」、「ケース」、「プロセス・トラッキング」、「ダッシュボード」など)を表示するか、非表示にするかを指定できます。また、表示するように指定したタブの中から、ユーザーがログインしたときに表示するデフォルトのタブを選択できます。
プロセス・ワークスペースの標準のタブを表示または非表示にするには:
図9-6は、「アプリケーション・プリファレンス」ページを示しており、「標準タブの表示」行が強調表示されています。
管理者は、プロセス・ワークスペースの画面のヘッダー領域で「アクション」ドロップダウンを表示するか、非表示にするかを指定できます。
プロセス・ワークスペースの標準のタブを表示または非表示にするには:
表示または非表示オプションの選択に応じて、その画面に対して実行可能なアクションが、画面のヘッダー領域の「アクション」ドロップダウンの下で表示または非表示になります。
「アプリケーション・プリファレンス」ページでは、その他の構成アイテムを指定できます。これには次のものがあります。
10gワークスペース・アプリケーションのURL - プロセス・ワークスペース内から表示するALBPM 10gワークスペースのURLを指定します。
フレックス・フィールドINTEGERの表示。
アクティビティ・ガイドのポーリング・リクエストの間隔 - 次のアクティビティ・ガイド・タスクのポーリングを待機する間隔(秒単位)。
アクティビティ・ガイドのポーリングの再試行 - アクティビティ・ガイドが次のタスクに移るための最大ポーリング回数。
アップロードするファイル・タイプ - ユーザーがアップロードできるファイル・タイプを指定します。フィールドにファイル・タイプの拡張子を入力します。
タスクの詳細を別のウィンドウで表示 - タスクの詳細を別のウィンドウで開く場合、「有効化」オプションを選択します。
承認グループは、名前と、特定パターンでタスクを実行するように構成された事前定義のユーザーの集合で構成されます。このパターンは、ヒューマン・ワークフローのルーティング・スリップ・パターンに類似しており、ユーザーがシリアルまたはパラレルでタスクを実行できます。承認グループには、パターンでネストされている承認グループを含めることもできます。
承認グループのリスト・ビルダーを指定する際、承認グループの名前は必須です。承認グループ内で構成されるパターンは、タスクを実行するユーザーの順序を決めるためにデフォルトで使用されます。ただし、リスト・ビルダーを作成する際は、投票方法を指定してデフォルトのパターンをオーバーライドできます。
プロセス・ワークスペースで、管理者権限を持つユーザーが承認グループを管理できます。
この項では、次の項目について説明します。
ヒューマン・ワークフロー・サービスでは、ユーザーにタスクを作成して、ビジネス・プロセスと相互作用します。それぞれのタスクには、タスク・メタデータとタスク・フォームという2つの部分があります。タスク・フォームは、タスクのコンテンツをユーザーのワークリストに表示するために使用されます。
タスク・フォームは、Oracle JDeveloperでOracle Application Development Framework (Oracle ADF)を使用して設計します。プロセス設計者として詳細情報が必要な場合は、『Oracle Fusion Middleware Oracle SOA Suite開発者ガイド』のヒューマン・タスク用のタスク表示フォームの設計に関する項を参照してください。
プロセス・ワークスペースには、ユーザーまたはグループに割り当てられているすべてのワークリスト・タスクが表示されます。ワークリスト・ユーザーが特定のタスクにドリル・ダウンすると、タスク表示フォームは、そのタスクの詳細をレンダリングします。たとえば、経費承認タスクでは様々な経費の明細項目が記載されたフォームが表示され、ヘルプ・デスク・タスク・フォームでは重大度や問題の場所などの詳細が表示されます。
次の各項で、管理者権限を持つユーザーがタスクの管理に使用するプロセス・ワークスペースのタスク・フォームを説明します。図9-7にタスク・フォームを示します。
図9-8に示されているヘッダー・ビューは、Oracle JDeveloperで設計時にヘッダー・ドロップ・ハンドラを使用して作成されます。
デフォルトで、JDeveloperのドロップ・ハンドラには、表9-1に示されているヘッダー・フィールドが含まれています。ただし、JDeveloperを使用すると、開発者はユースケースに基づいて任意のフィールドを含めたりまたは削除したりできます。
表9-1 ヘッダー・フィールド
フィールド | 説明 |
---|---|
タスク番号 |
タスクに自動的に割り当てられる番号。 |
状態 |
タスクの現在のステータス。 |
結果 |
ユーザーの結果。たとえば、ユーザーが「承認」をクリックすると、「結果」フィールドに「承認」と表示されます。 |
優先度 |
タスクに割り当てられる優先度レベル。 |
作成者 |
タスクを作成したユーザー。 |
作成日 |
タスクの作成日付。 |
更新日 |
タスクが最後に更新された日付。 |
有効期限 |
タスクが期限切れになる日付。 |
割当て先 |
タスクを割り当てる管理者の名前。 |
取得者 |
アクションの実行前にタスクを申告するユーザーの名前。 |
期日 |
タスクの期限となる日付。 |
ヘッダーにも、カスタム・アクションおよびシステム・アクションがあります。カスタム・アクションは、タスク・メタデータの結果に依存するアクションです。たとえば、メタデータに承認と却下の結果が含まれている場合、「承認」および「却下」がカスタム・アクションとしてヘッダーに表示されます。メタデータに3つ以上の結果が含まれる場合、カスタム・アクションは、独立したボタンではなくドロップダウン・リストとしてヘッダーに表示されます。
エスカレート、一時停止、再開などのシステム・アクションは、常にドロップダウン・リストに表示されます。表示されるアクションは、ユーザーが実行する内容に依存しています。たとえば、タスクが開始されると、そのタスクを取り消すことができます。そのため、ユーザーがプロセス・ワークスペースにログインして、開始したタスクの詳細を表示すると、選択可能なアクションのリストに「取消」が表示されます。
表9-2に、管理者がヘッダーから実行できるすべてのアクションとその説明を示します。
表9-2 ヘッダー・アクション
アクション | 説明 |
---|---|
却下 |
管理者はタスクを却下できます。 |
承認 |
ユーザーはタスクを承認できます。 |
委任 |
管理者は、別のユーザーに、自分の代理として処理するようにタスクを割り当てることができます。 |
再割当て |
管理者は、別の管理者にタスクを転送できます。 |
一時停止 |
管理者は、タスクを一時停止して、後で操作できます。 |
再開 |
管理者は、一時停止していたタスクを再開できます。 |
取消 |
管理者は、開始したタスクを取り消すことができます。 |
エスカレート |
管理者は、スーパーバイザにタスクをエスカレートできます。 |
削除 |
管理者はタスクを削除できます。すべてのTo Doタスクに対して表示されます。 |
パージ |
管理者はタスクをパージできます。すべてのTo Doタスクに対して表示されます。 |
実行 |
管理者は、ドロップダウン・リストで選択したアクションに移動できます。 |
保存 |
管理者はタスクを保存できます。 |
図9-9に示すタスク・ペイロード・ビューは、タスク・パラメータの詳細を表示し、それを更新できます。SDOに基づいて設計されたパラメータも、ここで表示できます。汎用パラメータの値が、タスクに渡されたり任意のユーザーによって更新されたものに基づいている場合、SDOベースのパラメータの値は、基礎となるアプリケーションで更新されたとおりに、現在のビジネス・オブジェクトの値を反映します。
プロセス設計者として詳細情報が必要な場合は、『Oracle Fusion Middleware Oracle SOA Suite開発者ガイド』のヒューマン・タスク用のタスク表示フォームの設計に関する項を参照してください。
図9-10に示すタスク履歴ビューは、タスクのライフ・サイクルでのイベントを、グラフまたは表形式で表示します。さらに、デザイナで承認者構成の編集オプションが選択されている場合、将来、承認者の編集に使用できる特殊な制御が表形式ビューで使用できます。追加されたすべての承認者を手動で削除でき、新規承認者を追加できます。表形式表示に加えられた承認者の変更は、グラフ形式表示に即時に反映されます。タスクが保存された場合、または承認や却下などのカスタム・アクションがタスクで実行された場合、承認者に関するすべての変更も保存されます。
承認タスクの構成時に、「参加者による将来の参加者の編集を許可」オプションを選択した場合、履歴リージョンには、参加者が将来の参加者のリストを編集できる追加アクションが表示されます。
図9-11は、「適用」ボタンおよび「リセット」ボタンの追加を示しています。
表9-3は、承認タスクのすべての追加アクションを説明しています。
表9-3 将来の参加者リストの編集アクション
アクション | 説明 |
---|---|
追加 |
ユーザーが将来の参加者を選択した場合に有効になります。このオプションを選択すると、「参加者の追加」ダイアログが開き、ユーザーは非定型の参加者を挿入できます。 |
編集 |
ユーザーが、挿入された非定型の参加者を選択した場合に有効になります。このオプションを選択すると、「参加者の編集」ダイアログが開き、ユーザーは、挿入された参加者の位置を移動できます。 |
削除 |
ユーザーが、挿入された非定型の参加者を選択した場合に有効になります。このオプションを選択すると、該当する参加者が削除されます。 |
適用 |
将来の参加者リストへの編集を持続します。 |
リセット |
将来の参加者からの編集を、システム生成のリストにリセットします。 |
表9-4には、管理者がタスク履歴ビューから実行できるアクションおよびその説明がリストされています。
表9-4 タスク履歴アクション
アクション | 説明 |
---|---|
タスク・スナップショット |
選択したバージョンのタスク詳細を表示します。 |
フル・タスク・アクション |
選択すると、フル・タスク・アクション履歴が表示されます。選択解除すると、アクション履歴のみが表示されます。デフォルトでは、チェック・ボックスは選択解除されています。 |
すべての親タスク |
選択すると、サブタスク・ビューの親タスクが表示されます。選択解除すると、サブタスク履歴のみが表示されます。デフォルトでは、チェック・ボックスは選択されています。 |
予定承認者の表示 |
選択すると、予定承認者が履歴とともに表示されます。デフォルトでは、チェック・ボックスは選択解除されています。 |
図9-12に示されている「コメントと添付ファイル」ビューは、JDeveloperでタスク・データ制御ドロップ・ハンドラを使用して作成されます。これには、タスクに関するコメントを入力するテキスト入力フィールド、およびサポート・ドキュメントを添付する機能が含まれています。
マップ済属性を使用して、タスクのペイロードから抽出されたデータなど、ユースケース固有のデータを格納できます。プロセス・ワークスペースを使用して、サーバーのマップ済属性ラベルを表示し、作成できます。
注意:
保護されたフレックス・フィールド属性を作成するには、workflow.mapping.protectedFlexfield権限が必要です。デフォルトの管理ユーザー、weblogicは、この権限を持っています。
詳細は、マップ済属性の指定方法を参照してください。
注意:
属性ラベルを削除できるのは、いずれのマッピングにも使用されていない場合のみです。
属性ラベルが1つのサーバーで定義され、これを別のサーバーで再作成する必要がある場合、ユーザー・メタデータ移行ユーティリティを使用して保護された属性ラベルのリストを、定義されたサーバーからXMLファイルにエクスポートできます。このユーティリティによって、このファイルから新しいサーバーに属性ラベルをデプロイできます。こうすると、手動で属性ラベルをプロセス・ワークスペースで再作成する必要がなくなります。
詳細は、ユーザー・メタデータ移行ユーティリティの使用を参照してください。
属性ラベルがエンド・ユーザーに表示される際(たとえばプロセス・ワークスペースのタスク・リスト・ページ)に使用されるラベル名は、ラベルの作成時に指定された名前です。異なる国のユーザーにもラベルが表示される場合、プロセス・ワークスペースのユーザーのロケールに適したラベル名の翻訳を、かわりに表示できます。WorkflowLabels.propertiesリソース・バンドルを使用して、属性ラベルの翻訳をカスタマイズできます。
詳細は、プロセス・ワークスペースでの言語ロケール情報の指定方法を参照してください。
承認グループを表示するには:
この図は、Disbursement Team承認グループにjcooperおよびjsteinという2人のユーザーがいることを示しています。これらのユーザーは特定のシーケンス構成でタスクを実行します。
静的承認グループのメンバーは、ユーザーまたは他の承認グループのいずれかになります。
新しいユーザー・メンバーを承認グループに追加するには:
この手順を繰り返せば、承認グループにさらにメンバーを追加できます。メンバー追加後の承認グループ構造は、図9-17のようになります。
承認グループの名前を変更できます。
承認グループの名前を変更するには:
名前の変更は、この承認グループがネストされている他の承認グループに反映されます。
動的承認グループを使用すると、実行時にカスタムJavaクラスを通じて承認グループを作成できます。これには、次の手順が必要です。
開発者が、カスタム実装に必要なカスタムの動的承認グループ・クラスを記述します。
IT部門が、ワークリスト・アプリケーションのUIを使用して、カスタムの動的承認グループを登録します。
サービス統合クラス・パスの一部であるグローバルに知られているディレクトリで、クラス・ファイルを使用可能にします。
動的承認グループを定義するには、AMXでoracle.bpel.services.workflow.taskパッケージ内に動的承認グループ用として定義されているインタフェース・ファイルIDynamicApprovalGroup.java
を使用して実装クラスを定義する必要があります。このパッケージには、承認グループのメンバーを取得するパブリック・メソッドが1つだけ含まれています。入力パラメータはTaskオブジェクトのみです。主キー・リストは、task/systemAttributes/collectionTargetタスクによって取得できます。
図9-2は、動的承認グループ・クラスのサンプルを示したコード・スニペットです。
例9-1 実装クラス
************** IDynamicApprovalGroup.java ****************** public interface IDynamicApprovalGroup { /** * Get members of this dynamic approval group * @param task Property bag containing information required to generate the approver list * @return list of IApprovalListMember including sequence, member, member_type; null for empty group * The primary key list can be obtained from task:task/systemAttributes/collectionTarget */ public List getMembers(Task task ) throws WorkflowException; }
例9-2 動的承認グループ・クラスのコード
************** IDynamicApprovalGroup.java ****************** package oracle.bpel.services.workflow.repos.test; import java.util.ArrayList; import java.util.List; import oracle.bpel.services.worlflow.WorkflowException; import oracle.bpel.services.worlflow.task.IDynamicApprovalGroup; import oracle.bpel.services.worlflow.runtimeconfig.impl.RuntimeConfigUtil; import oracle.bpel.services.worlflow.runtimeconfig.model.ApprovalGroupMember; import oracle.bpel.services.worlflow.task.model.Task; import oracle.bpel.services.worlflow.IWorkflowConstants; public class SampleDynAprGrp1 implements IDynamicApprovalGroup { public List getMembers(Task task ) throws WorkflowException { // Todo: add logic to do conditional return of different group members based on some task attribute List approversList=new ArrayList(); ApprovalGroupMember taskAssignee1 = RuntimeConfigUtil.getFactory().createApprovalGroupMember(); taskAssignee1.setMember(“jlondon"); taskAssignee1.setType(IWorkflowConstants. IDENTITY_TYPE_USER); taskAssignee1.setSequence(1); approversList.add(taskAssignee1); ApprovalGroupMember taskAssignee2 = RuntimeConfigUtil.getFactory().createApprovalGroupMember(); taskAssignee2.setMember(“wfaulk"); taskAssignee2.setType(IWorkflowConstants. IDENTITY_TYPE_USER); taskAssignee2.setSequence(2); approversList.add(taskAssignee2); ApprovalGroupMember taskAssignee3 = RuntimeConfigUtil.getFactory().createApprovalGroupMember(); taskAssignee3.setMember(“jstein"); taskAssignee3.setType(IWorkflowConstants. IDENTITY_TYPE_USER); taskAssignee3.setSequence(3); approversList.add(taskAssignee3); ApprovalGroupMember taskAssignee4 = RuntimeConfigUtil.getFactory().createApprovalGroupMember(); taskAssignee4.setMember(“achrist"); taskAssignee4.setType(IWorkflowConstants. IDENTITY_TYPE_USER); taskAssignee4.setSequence(4); approversList.add(taskAssignee4); return approversList; } }
プロセス設計者として詳細情報が必要な場合は、Oracle Fusion Middleware Oracle Business Process Management Studioを使用したビジネス・プロセスの作成を参照してください。
サービス統合クラス・パスの一部であり世界的に有名なディレクトリにクラス・ファイルを公開するには、クラス・ファイルを次のOracle WebLogic Serverディレクトリに配置します。
$BEAHOME/AS11gR1SOA/soa/modules/oracle.soa.ext_11.1.1/classes
たとえば、Javaクラスoracle.apps.DynamicAGの場合、パスは次のようになります。
$BEAHOME/AS11gR1SOA/soa/modules/oracle.soa.ext_11.1.1/classes/oracle/apps/DynamicAG.class
。
クラス・ファイルをこのパスに配置してからWebLogic Serverを再起動する必要があります。
ヒューマン・ワークフローのマップ済属性(以前のフレックス・フィールド)での格納と問合せでは、状況固有のカスタム属性が使用されます。これらのカスタム属性は、通常、タスク・ペイロード値に基づきます。
マップ済属性にカスタム属性を格納すると、次の利点が得られます。
フレックス・フィールドをタスク・リストの列として表示できます。
フレックス・フィールドでは、カスタム・ビューおよび拡張検索でタスクをフィルタ処理できます。
フレックス・フィールドは、キーワードベースの検索で使用できます。
たとえば、タスクの注文書リクエスト・ペイロードのRequester、PurchaseOrderIDおよびAmountフィールドをマップ済属性に格納できます。プロセス・ワークスペースにログインした承認者は、これらのフィールドの値をタスク・リスト内の列で確認して、アクセスするタスクを決定できます。ユーザーは、マップ済属性に基づいてタスクをフィルタ処理するビューを定義できます。たとえば、ユーザーは、異なる金額範囲に基づいて発注書の承認用ビューを作成できます。ユーザーが特定のリクエスタまたは発注書IDに関連するタスクを取得することも必要になった場合、キーワード・フィールドにそのリクエスタまたは発注書IDを指定して検索を実行することによって、関連するタスクを取得できます。
マップ済属性の移入を行う場合は、次の手順で管理者がマップ済属性マッピングを作成する必要があります。
移入するマップ済属性のラベルを指定します。
データを含むペイロード属性をラベルにマップします。
これらのマッピングは、特定のタスク・タイプに対して有効です。したがって、タスク・タイプごとに異なるマップ済属性マッピングを作成できます。マッピングが完了し、新しいタスクが開始されると、そのペイロードの値はマップされたマップ済属性に転送されます。マッピングの前に開始されたタスクについては、マップ済属性に値は格納されません。マップ済属性に転送できるのは、ペイロード内の最上位レベルの単純型の属性のみです。複合型の属性またはその中にネストされた単純型の属性は推進できません。ペイロード内の属性はマップ済属性に推進する必要がある場合があることに留意しながら、ヒューマン・タスク・エディタでタスクのペイロードを定義することが重要です。キーワードベースの検索には、テキストおよび数値のすべてのマップ済属性が自動的に含められます。
基本的に、ヒューマン・タスク・エディタを使用するのは、タスクのペイロードを定義する場合のみです。他のすべての操作は実行時に実行されます。
ディレクトリ・ネーミングは、フレックス・ファイルの命名規則に付随して得られるものではありません。
注意:
マップ済属性は、ビジネス・プロセスのインスタンスが生成される前に定義する必要があります。正しいマップ済属性は、マップ済属性の作成後に生成されたインスタンスにのみ反映されます。ビジネス・プロセスの古いインスタンスには、マップ済属性の以降の変更は反映されません。
マップ済み属性を指定する方法の詳細は、Oracle Fusion Middleware Oracle SOA Suite開発者ガイドを参照してください。
管理者または必要な権限を持つユーザーは、図9-18に示すように、マップ済属性を使用して、データをペイロードからインライン属性マップ済属性に転送できます。データは、マップ済属性に推進することで検索可能になり、タスク・リストに列として表示できます。
管理者および適切な権限を持つユーザーは、パブリック・マップ済属性と保護マップ済属性の両方をマップできます。図9-18に示すように、「パブリック・フレックス・フィールド」ノードと「保護フレックス・フィールド」ノードの両方が「管理」パネルに表示されます。
プロセス設計者としてパブリック・マップ済属性および保護マップ済属性の詳細情報が必要な場合は、Oracle Fusion Middleware Oracle Business Process Management Studioを使用したビジネス・プロセスの作成を参照してください。
マップ済属性マッピングを作成するには、まず管理者がマップ済属性を示すわかりやすい表示名となるセマンティック・ラベルを定義します。図9-19に示すように、「追加」をクリックして「ラベルの作成」ダイアログ・ボックスを使用します。
図のように、labelNameはタスク属性TextAttribute1にマップされています。ペイロード属性もラベルにマップされます。この例では、「テキスト」属性タイプがlabelNameに関連付けられています。その結果、「テキスト」属性の値が「TextAttribute3」列に格納され、labelNameがユーザーのタスク・リストに表示される列ラベルになります。ラベルは、様々なタスク・タイプに再利用できます。ラベルを削除できるのは、そのラベルがどのマッピングにも使用されていない場合のみです。
マップ済のペイロード属性をカスタム・ビューに列として表示したり、カスタム・ビューとワークフロー・ルールの両方でフィルタ条件として使用することもできます。ペイロード属性の表示名は、マッピングの実行時に選択した属性ラベルです。
次の制約に注意してください:
マップできるのは、単純なタイプのペイロード属性のみです。
1つのタスク・タイプに使用できるマップ済属性(およびラベル)は1つのみです。
number
またはdate
データ型のデータ型変換はサポートされていません。たとえば、string
データ型が割り当てられたペイロード属性は、number
データ型が割り当てられたラベルにマップできません。
タスク構成は、プロセス・ワークスペース内のWebベースアプリケーションで、ワークフロー設計者が事前に定義したルールをビジネス・ユーザーおよび管理者が確認および変更することが可能です。この事前定義済ルールは、特定の顧客向けに、適用可能な顧客企業ポリシーに基づいて変更できます。
たとえば、会社のポリシーで、1000を超える経費には2レベルの承認が必要であるとします。さらに、このポリシーが変更され、3レベルを必要とするようになったとします。IT部門が基礎となるプロセスでルールを変更し、再度デプロイするかわりに、タスク構成を使用してルールを変更できます。ルールの変更は次のインスタンスから適用され、すでに進行中のインスタンスでは現在のルール定義が使用されます。
タスク構成を使用すると、承認フローに関連付けられているイベント駆動ルールとデータ駆動ルールを、実行時(つまり、ワークフローのデプロイ後)に編集できます。
この項では、次の項目について説明します。
「タスク構成」タブを使用して、集計、アクセス、有効期限および通知設定を設定します。
「タスク構成」ページにアクセスするには:
この項では、ワークフロー・タスクの設定(タスク・メタデータ)について説明します。
タスク設定を編集するには:
注意:
リスト作成ルール・セット内のルール定義が不適切または不完全な場合は、実行時エラーの原因になることがあります。次の場合にエラーが発生します。
ルール・セットにルールが定義されていない場合。
ルールに定義された条件が1つも満たされていない場合。
すべての条件を処理するよう、ルールを正しく定義してください。
次の手順を実行します。
「タスク」タブ・ページには、限られたルーティング・オプションが含まれます。承認集計の要件として、次のいずれかを指定できます。
なし
タスクごとに1回
ステージごとに1回
ユーザーが割当て時間内に応答しない場合は、有効期限の期間を延長できます。このためには、期限切れの際にタスクの期限を更新できる回数(3回の追加更新など)と各期限更新期間(期限更新ごとに3日間など)を指定します。
有効期限ポリシー期間を延長する手順は、次のとおりです。
通知は、ユーザーまたはグループにタスクが割り当てられる時期を示すか、タスクのステータスに変更があったことを通知します。通知は、電子メール、ボイス・メッセージ、インスタント・メッセージまたはSMSで送信できます。異なるアクションについて様々なタイプの参加者に通知が送信されます。デフォルトでは、通知はデフォルト・メッセージを使用して構成されます。たとえば、タスクが完了してクローズされたことを示す通知メッセージが送信されます。独自の構成を作成するか、既存の構成を変更できます。
注意:
組込みLDAPでは、グループの電子メール・アドレスがサポートされていません。したがって、タスクがグループIDに割り当てられると、電子メールはグループの電子メール・アドレスではなく、そのグループの全メンバーに送信されます。
通知メッセージは有効なXPath式である必要があります。単純な文字列を指定する必要がある場合、その文字列を二重引用符内に指定するか、string関数を使用します。
次の手順を実行します。
通知のセキュア化、メッセージのアクション可能化および添付ファイルの送信を設定する手順は、次のとおりです。
プロセス・ワークスペース・ツールバーで、「管理」をクリックします。
左のペインに「管理」パネルが表示されます。
「管理」パネルの「タスク管理」から、「タスク構成」をクリックします。
「設定するタスク」ペインでタスクを選択します。
右側のペインに、対応する「タスク」タブ・ページが表示されます。
「設定するタスク」ペインで「タスクの編集」アイコンをクリックします。
図9-20に示すように「タスク」タブ・ページが編集可能になります。
「タスク」タブ・ページの「通知」セクションで、「通知のセキュア化(詳細を除く)」を選択します。
選択すると、デフォルトの通知メッセージが使用されます。電子メールには、HTMLのワークリスト・タスク詳細、添付ファイルまたはアクション可能なリンクはありません。メッセージにはタスク番号のみが含まれます。
タスクのリマインダを送信できます。リマインダは、タスクがユーザーに割り当てられた時刻またはタスクの有効期限が切れる時刻に基づいています。リマインダの数およびリマインダ間の間隔も構成可能です。
リマインダを設定する手順は、次のとおりです。
「タスク・ステータス」列には、3つのデフォルト・ステータス・タイプ「割当て」、「完了」および「エラー」が表示されます。通知メッセージの受信用に他のステータス・タイプを選択できます。
通知は、様々な範囲でタスクに関与するユーザーに送信できます。タスクがグループに割り当てられており、グループに通知のエンドポイントが存在しない場合、グループ内の各ユーザーに通知が送信されます。
受信者にタスク・ステータス変更を通知する手順は、次のとおりです。
デフォルトの通知メッセージを、選択した受信者に配信できます。デフォルトのメッセージ・テキストは変更できます。
通知メッセージを編集する手順は、次のとおりです。
ユーザーが実行できるアクションを制御するために、アクセスルールを設定できます。コンテンツおよびアクションの権限は、作成者(イニシエータ)、所有者、割当て先、レビューアなどユーザーの論理上のロールに基づいて指定できます。
タスク・アクセスを有効にするには:
注意:
システムで許可されている内容とは別に、アクセス・ルールは、常にアクションの実行者とタスクの現在の状態に基づいて適用されます。
タスク・アクセスを有効にする方法の「タスク・コンテンツ・アクセスの設定」ダイアログで指定したタスク・コンテンツを特定のユーザーが操作するときに実行可能なアクションを指定できます。
タスクの操作に対してアクションを指定する手順は、次のとおりです。
ルールセットにルールを追加して、条件のみでなく、説明、有効日および優先度も指定することができます。
ルールベースの参加者にルールを追加するには:
ルールの追加の詳細は、『Oracle Fusion Middleware Oracle Business Rulesユーザーズ・ガイド』の「ルールセットとルールの使用」を参照してください。
条件の左辺と右辺は、条件ブラウザからオペランドを選択して設定できます。虫眼鏡アイコンをクリックすると条件ブラウザが表示されます。
条件のオペランドを比較する演算子は、条件の左辺で選択したオペランドのタイプに応じて変わります。式ビルダーを使用すると、さらに複雑な条件を定義することもできます。
詳細は、『Oracle Fusion Middleware Oracle Application Development Framework Fusion開発者ガイド』のADFデータ・バインディングのEL式の作成に関する項を参照してください。また、『Oracle Fusion Middleware Oracle Application Development Framework Webユーザー・インタフェース開発者ガイド』のEL式の作成に関する項も参照してください。
ルールにアクションを追加することができます。
アクションを追加するには、次の手順を実行します。
次の手順を実行します。
図9-26に示すように、アクションの横のチェック・ボックスを選択してそのアクションを選択します。
対応するアイコンをクリックして、任意の可能なアクション(削除、切取り、コピー、貼付けなど)を選択します。
複数のアクションが存在する場合は、上矢印および下矢印を使用して、アクションの順序を変更できます。
既存のデシジョン表をカスタマイズしたり、新しいデシジョン表を追加することができます。
以前に作成したデシジョン表で指定したルールセットのアクションを指定することができます。
プロセス・ワークスペースでルールセットの既存のデシジョン表をカスタマイズするには:
「ルール」タブで、アクションの複数のパラメータをデシジョン表から編集できます。
複数のパラメータを編集するには:
デジタル署名の保管、およびデジタル署名されたヒューマン・タスクの否認防止には、エビデンス・ストア・サービスを使用します。
エビデンス・ストアを検索するには:
デジタル署名のエビデンス・ストアの詳細は、Oracle Fusion Middleware Oracle SOA Suite開発者ガイドを参照してください。
すでに退職した従業員にタスクに割り当てられたなどの場合には、例外が発生します。例外が発生すると、タスクはアラート状態になります。次に、タスクはエラー割当て先に割り当てられ、エラー割当て先が指定されていない場合は管理者に割り当てられます。
エラー割当ての構成の詳細は、Oracle Fusion Middleware Oracle SOA Suite開発者ガイドを参照してください。
この他にも例外が発生するシナリオがあります。
ユーザー・メタデータ移行ユーティリティhwfMigrator
は、シェル・スクリプトを実行してサービス統合サーバー間でワークフローのユーザー構成可能データを移行するプロセスを自動化するツールです。
また、このツールには、キー/値ペアと移行操作の実行に必要なすべての入力パラメータとを含むプロパティ・ファイルも用意されています。プロパティ・ファイルをカスタマイズし、シェル・スクリプトの実行によって移行を行うことができます。
プロセス設計者としてユーザー・メタデータ移行ユーティリティの使用の詳細情報が必要な場合は、Oracle Fusion Middleware Oracle Business Process Management Studioを使用したビジネス・プロセスの作成を参照してください。
Oracle BPMのテスト・サイトから本番サイトへの移動の詳細は、Oracle Application Server管理者ガイドを参照してください。
Oracle Business Process Managementの一部の機能(タスクの表示や実行に使用するタスク・リストなど)は、Oracle WebCenter Portalのポータルおよびページに統合できます。
WebCenter Portalの統合アーキテクチャ - WebCenter Portal
BPMとWebCenter Portalの統合は、BPEL接続およびWebCenter Portalリソース・カタログを使用して行います。BPEL接続が確立されている場合、リソース・カタログはWebCenter Portalページに埋込み可能なタスク・フローを提供します。
WebCenter Portalのポータルまたはページでは、ADFタスクフローにインライン・フレームが含まれています。フレームのURLは、BPM機能(タスク・リストなど)を提供するページを指し示しています。このページは、BPMサーバーに常駐するBPM Workspaceアプリケーションからホストされます。
WebCenter Portalの統合アーキテクチャ — BPM
BPMタスク・リストの機能をWebCenter Portalに統合するために必要なコンポーネントは、BPMサーバー・アプリケーションに組み込まれています。追加のBPMサーバー構成は不要です。
WebCenter Portalの統合設定の概要
BPMとWebCenter Portalの統合を設定するには、BPM BPELサーバーへの接続を作成し、BPMプロセス・ポータル・カタログ・リソース・カタログをロードしてから、BPMリソースをWebCenter Portalポータルに統合します。これにより、インタラクティブなBPM機能が使用可能になります。
構成の詳細と手順については、「Oracle WebCenter Portalの統合の構成」を参照してください。実装の詳細は、「BPM機能のWebCenter Portalへの統合」を参照してください。
BPM Workspaceの機能のOracle WebCenter Portalへの統合を構成するには、BPM BPELサーバーへのBPEL接続を作成し、BPMプロセス・ポータル・カタログ・リソース・カタログをロードします。
BPMをWebCenter Portalに統合するために必要なタスクの概要は、次のとおりです。
BPM BPELサーバーへのBPEL接続を作成します
BPMプロセス・ポータル・カタログ・リソース・カタログをロードします
BPMプロセス・ポータル・カタログ・リソースを使用して、BPM機能をポータルまたはページに統合します
まず、次に示す手順でBPM BPELサービス接続を作成します。
次に、次の手順でBPMリソース・カタログをWebCenter Portalポータルにロードします。
WebCenter PortalとBPMの統合が構成されます。
統合されたBPMタスク・リストのカスタマイズについては、「WebCenter Portalに統合されたBPMタスク・リストのカスタマイズ」を参照してください。統合構成の詳細と手順については、「Oracle WebCenter Portalの統合の構成」を参照してください。WebCenter Portalの統合アーキテクチャの概要は、「Oracle WebCenter Portalとの統合」を参照してください。
BPM機能をOracle WebCenter Portalポータルに統合するには、BPMプロセス・ポータル・リソース・カタログにあるプロセス・ワークスペース・リソースをコンテンツ・ペインにドラッグします。
WebCenter Portalの統合アーキテクチャの概要は、「Oracle WebCenter Portalとの統合」を参照してください。構成の詳細と手順については、「Oracle WebCenter Portalの統合の構成」を参照してください。
Oracle WebCenter Portalページに統合されたBPM機能に表示されるタスク・リスト・コンポーネントの種類およびそのデフォルト値の一部は、カスタマイズできます。
「ページおよびポータルのアクション」ドロップダウン・メニューから「ポータルの編集」を選択します。タスク・リストを含むパネルの右上隅から「ビュー・アクション」ドロップダウン・メニューをクリックし、「パラメータ」を選択します。
表9-6 統合されたBPMタスク・リストのカスタマイズ用のパラメータ、デフォルトおよび使用可能な値
パラメータ | 説明 | データ型 | デフォルト値 | ノート |
---|---|---|---|---|
割当てフィルタ |
「割当て先」ドロップダウン・タスク・リスト・フィルタの値 |
文字列 |
自分+グループ |
使用可能な値は、BPMタスク・リストの「割当て先」の値です。
|
接続名 |
BPMインスタンスへのBPEL接続の名前 |
文字列 |
WebCenter-Worklist |
WebCenter Portal環境に追加のBPM環境が接続されている場合は、その追加のBPEL接続の接続名をここで指定します。BPM環境が1つの場合は、デフォルト値のWebCenter-Worklistを使用します。 |
「アプリケーション」パネルの表示 |
「アプリケーション」パネルを表示/非表示にします |
ブール |
false |
左ナビゲーション・パネルの表示の設定によってオーバーライドされます |
割当てフィルタの表示 |
タスク・リスト・ツールバーの割当てフィルタを表示/非表示にします |
ブール |
true |
|
外部リンク・パネルの表示 |
「リンク」パネルを表示/非表示にします |
ブール |
false |
左ナビゲーション・パネルの表示の設定によってオーバーライドされます |
左ナビゲーション・パネルの表示 |
タスク・リストの左側に表示されるナビゲーション・パネルを表示/非表示にします |
ブール |
false |
|
ステータス・フィルタの表示 |
タスク・リスト・ツールバーのステータス・フィルタを表示/非表示にします |
ブール |
true |
|
タスク詳細パネルの表示 |
タスク詳細パネルを表示/非表示にします |
ブール |
true |
ユーザー設定によってこの値はオーバーライドされます |
ビュー・フィルタの表示 |
タスク・リスト表の上のビュー・フィルタを表示/非表示にします |
ブール |
true |
|
ビュー・パネルの表示 |
「ビュー」パネルを表示/非表示にします |
ブール |
false |
左ナビゲーション・パネルの表示の設定によってオーバーライドされます |
ステータス・フィルタ |
「ステータス」ドロップダウン・タスク・リスト・フィルタの値 |
文字列 |
割当て済 |
使用可能な値は、BPMタスク・ステータスの値です。たとえば、「任意」、「割当て済」、「完了」、「一時停止中」、「取下げ済」、「有効期限切れ」、「エラー発生」、「アラート済」、「情報リクエスト済」などです。 |
ビュー・フィルタ |
タスク・リストに使用するビュー |
文字列 |
自分のタスク |
使用可能な値は、BPMタスク・リストのビューの値です。たとえば、「受信ボックス」、「期日が近い」、「高優先度」などです。 |
詳細は、「Oracle WebCenter Portalとの統合」を参照してください。