12 ヒューマン・タスクの使用
ヒューマン・タスクを使用してエンド・ユーザーとプロセスベースのアプリケーションとの相互作用を定義します。Oracle Business Process Composerを使用してヒューマン・タスクを作成および編集する方法を学習します。
12.1 ヒューマン・タスクの概要
ヒューマン・タスクは、Oracle Human Workflowのコンポーネントの1つです。Oracle Human Workflowは、ユーザーとプロセスベースのアプリケーションとの相互作用を管理するためのランタイム環境を提供する、Oracle Service-Oriented Architecture (Oracle SOA) SuiteおよびOracle Business Process Management (Oracle BPM) Suiteのコンポーネントです。ヒューマン・タスクは、ユーザー・インタフェースとワークフローを含む、ユーザー相互作用を定義します。
Oracle Business Process Composerを使用して、新しいヒューマン・タスクを作成し、その基本プロパティを構成できます。ただし、ヒューマン・タスクのより詳細な構成を行う場合は、Oracle BPM Studioを使用する必要があります。
Oracle BPM Studioを使用したヒューマン・タスクの構成の詳細は、Oracle Business Process Management Studioによるビジネス・プロセスの開発のヒューマン・ワークフローのスタート・ガイドを参照してください。
ヒューマン・タスクは、BPMプロジェクト内のサービスとして定義され、ビジネス・カタログに格納されます。
ヒューマン・タスクでは次が定義されます。
-
参加者: ヒューマン・タスクの作業を実行するユーザーまたはユーザー・グループを指定します。
-
承認パターン: ヒューマン・タスクで実行される作業の順序を指定します。
-
アクセス権限: タスクにアクセスできるユーザーを決定します。
-
ペイロード: ヒューマン・タスクで使用されるデータ構造を定義します。
ペイロード・データは、Business Process Model and Notation (BPMN)プロセスのユーザー・タスクからヒューマン・タスクに渡されます。
-
有効期限: ヒューマン・タスクの期間を定義します。
-
プレゼンテーション: 参加者がBPMNプロセスとの相互作用に使用するユーザー・インタフェースを定義します。プレゼンテーションはフォームによって定義されます。
Oracle BPMは、WebフォームとOracle Application Development Framework (ADF)タスク・フォームの2つのタイプのフォームをサポートしています。
Oracle Business Process Composerを使用したWebフォームの作成と使用の詳細は、「Webフォームの使用」を参照してください。Oracle BPM Studioを使用したADFタスク・フォームの作成の詳細は、Oracle Business Process Management Studioによるビジネス・プロセスの開発のヒューマン・ワークフローのスタート・ガイドを参照してください。
12.1.1 参加者とルーティング・タイプの概要
ヒューマン・タスクでは、ユーザーがアプリケーションで様々なタスクを実行する順序を決定できます。この順序はヒューマン・タスクのルーティングによって定義されます。参加者とは各タスクの実行を担当するユーザーまたはグループです。ヒューマン・タスク・エディタの「ルーティング・スリップ」セクションを使用して、ヒューマン・タスクのルーティング・フローおよび参加者を指定できます。
12.1.1.1 参加者タイプ
ヒューマン・タスクでは、次の一般的なルーティング・シナリオのパターンがサポートされます。
-
単一の承認者
これは、1人の参加者を単一のユーザー、グループまたはロールにマップする単純なケースです。詳細は、参加者割当ての概要を参照してください。
たとえば、休暇申請がマネージャに割り当てられているとします。マネージャは、休暇が始まる3日前までに申請タスクを操作する必要があります。マネージャが申請を正式に承認または却下すると、その決定が従業員に通知されます。マネージャがタスクを操作しない場合、申請は却下として処理されます。正式な拒否と同様の通知アクションが実行されます。
-
パラレル
この参加者タイプは、一連のユーザーがパラレルで作業する必要があることを示します。このパターンは通常、投票で使用されます。
たとえば、雇用担当の複数のユーザーが応募者の採否を投票する必要があるとします。結果を有効にするために必要な得票率(多数決や全員一致など)を指定します。
-
FYI
この参加者も、単一の承認者と同様に、単一のユーザー、グループまたはロールにマップされます。ただし、このパターンは、参加者が通知タスクを単に受信し、ビジネス・プロセスではこの参加者のレスポンスを待機しないことを示します。FYIの参加者は、タスクの結果に直接影響を与えることはできませんが、場合によっては、コメントを提供したり、添付を追加できます。
たとえば、採用候補者の採用について地域マネージャが承認し、その候補が承認または却下のために州全体の統括マネージャに渡されたことが、地域の営業所に通知される場合です。
-
シリアル
この参加者タイプは、一連のユーザーが順番に作業する必要があることを示します。ルーティング・ポリシーには、複数の参加者を順番に使用した順番による作業を指定できますが、このパターンは一連のユーザーが動的である場合に有用です。このシリアル・タイプの一般的なシナリオは、管理チェーン・エスカレーションです。このエスカレーションは、このパターンの指定内にある管理チェーンに基づいてリストを指定することで実行されます。
ヒューマン・タスクを作成すると、デフォルトの単純参加者が含まれます。ヒューマン・タスク・エディタを使用して、参加者タイプを変更したり、参加者を追加できます。詳細は、「デフォルト参加者の変更方法」を参照してください。
12.1.1.2 ルーティングのタイプ
図12-1は、単一の参加者のみが含まれている基本的なルーティングを示しています。
参加者タイプに加えて、ヒューマン・タスクでは、より制御機能が高い複雑なルーティング・タイプもサポートされています。これらのルーティング・タイプには、次のものがあります。
-
順次
順次ルーティングでは、様々な参加者が、タスクを順番に処理します。図12-2は、順次ルーティングの例を示しています。この例では、Participant_1はルーティング・フローの最初の参加者です。Participant_1がタスクの処理を終了した後、タスクはParticpant_2に渡されます。Participant_2がタスクの処理を終了した後、ヒューマン・タスクは完了となります。
-
パラレル
パラレル・ルーティングでは、複数の参加者がタスクを同時に処理します。図12-3は、パラレル・ルーティングの例を示しています。この例では、Participant_1とParticipant_2がタスクを同時に処理します。
パラレル・ルーティングでは、パラレル・ブロックの後、タスク・フローが次の参加者にどのように続くかを決定するルーティングの結果を定義できます。詳細は、結果を参照してください。
12.1.1.3 結果
結果には、ヒューマン・タスクについて可能性がある結果引数を指定します。Oracle BPM Worklistとプロセス・ワークスペースには、実行時に実行できるタスクとして選択した結果が表示されます。
「デフォルトの結果」リストで選択されたデフォルトの結果をオーバーライドする投票時結果を指定できます。この結果は、必要なパーセンテージに達した場合に有効になります。結果は特定の順序で評価されます。
ヒューマン・タスクに対して次の結果を定義できます。
-
遅延
-
はい
-
承認
-
承認
-
拒否
-
いいえ
ヒューマン・タスクの結果を構成する方法の詳細は、「基本タスク・プロパティの構成方法」を参照してください。パラレル・ルーティングの結果を構成する方法の詳細は、「パラレル・ルーティングの結果の構成方法」を参照してください。
Oracle BPM Studioを使用してカスタム結果を定義することもできます。カスタム結果を定義する方法の詳細は、Oracle Business Process Management Studioによるビジネス・プロセスの開発のOracle BPMでのヒューマン・タスクの設計を参照してください。
12.1.2 参加者割当ての概要
参加者割当ては、アプリケーションを使用する組織内のユーザーにヒューマン・タスク参加者をマップするプロセスです。各参加者を次のいずれかにマップして割り当てます。
-
Users
タスクの操作に個別のユーザーを割り当てることができます。たとえば、特定のタスクに対してユーザーjlondonやjsteinを割り当てることができます。ユーザーは、SOAインフラストラクチャで構成されたアイデンティティ・ストアに定義されます。これらのユーザーは、Oracle WebLogic Serverの組込みLDAP、Oracle Internet Directoryまたはサード・パーティのLDAPディレクトリで定義できます。
ユーザーと同様に、グループはSOAインフラストラクチャのアイデンティティ・ストアに定義されます。
-
グループ
タスクの操作にグループを割り当てることができます。グループには、タスクを要求して操作できる個別のユーザーが含まれています。たとえば、ユーザーjcooperとfkafkaは、タスクの操作を割り当てたグループLoanAgentGroupのメンバーである可能性があります。
-
アプリケーション・ロール
タスクの要求と操作に、アプリケーション・ロールのメンバーであるユーザーを割り当てることができます。
ユーザー、グループまたはロールをヒューマン・タスク参加者に割り当てる手順は、「参加者へのユーザー、グループおよびロールの割当て方法」を参照してください。
12.1.3 期間の概要
期間は、別のアクションが実行されるまでヒューマン・タスクがアイドル状態でいる期間を定義します。期間は、ヒューマン・タスク全体または各ヒューマン・タスク参加者に対して定義できます。
ヒューマン・タスク全体に対して期間を定義する方法は、「ヒューマン・タスクに対する期限(期間)の定義方法」を参照してください。
12.2 ヒューマン・タスク・エディタの概要
Oracle Business Process Composerには、ヒューマン・タスクを作成および編集できるヒューマン・タスク・エディタがあります。
ヒューマン・タスク・エディタは、図12-4に示すようなタブ付きペインで構成されています。
ヒューマン・タスク・エディタには次のタブが含まれています。
-
基本: ヒューマン・タスクの基本プロパティの構成、期限の定義、およびヒューマン・タスクのプレゼンテーションの構成を行うことができます。
詳細は、「基本タスク・プロパティの構成方法」と「ヒューマン・タスクのプレゼンテーションの指定方法」を参照してください。
-
ルーティング・スリップ: ヒューマン・タスクの参加者とルーティング・タイプを定義および構成できます。
詳細は、「デフォルト参加者の変更方法」および「参加者へのユーザー、グループおよびロールの割当て方法」を参照してください。
-
データ: ヒューマン・タスクで使用されるデータ・ペイロードを定義します。
詳細は、「ヒューマン・タスクに対するデータ・ペイロードの作成および構成方法」を参照してください。
12.3 ヒューマン・タスクの使用
Oracle Business Process Composerでは、プロジェクトのようこそページから直接、新しいヒューマン・タスクを作成できます。ヒューマン・タスクは、サービスとして定義され、BPMプロジェクトのビジネス・カタログに格納されます。
次の項では、ヒューマン・タスクの作成、構成および編集の方法について説明します。
12.3.2 新しいヒューマン・タスクの作成方法
新しいヒューマン・タスクを作成するには:
- 新しいヒューマン・タスクを作成するプロジェクトを開きます。
- プロジェクトが編集モードであることを確認します。
- プロジェクトのようこそページから、「ヒューマン・タスク」タブを選択します。
- 「新規」アイコンをクリックします。
- 新規ヒューマン・タスクの名前を入力し、「作成」をクリックします。
図12-5に示すように、新しいヒューマン・タスクがヒューマン・タスクのリストに表示されます。
12.3.3 ヒューマン・タスクを開く方法
既存のヒューマン・タスクは、開いて表示または編集できます。
既存のヒューマン・タスクを開くには:
- 表示または編集するヒューマン・タスクがあるプロジェクトを開きます。
- 図12-5に示すように、プロジェクトのようこそページから、「ヒューマン・タスク」を選択します。
- 開くヒューマン・タスクの名前をクリックします。
ヒューマン・タスクがヒューマン・タスク・エディタで開きます。詳細は、ヒューマン・タスク・エディタの概要を参照してください。
12.3.4 基本タスク・プロパティの構成方法
ヒューマン・タスク・エディタの「基本」領域を使用して、ヒューマン・タスクの基本プロパティ(タスクのタイトル、タスクの優先度、結果など)を構成します。
基本タスク・プロパティを構成するには:
-
ヒューマン・タスクを開きます。
-
ヒューマン・タスク・エディタで、「基本」を選択します。
-
「タスクのタイトル」の隣のドロップダウン・リストから、次のいずれかを選択します。
-
プレーン・テキスト: テキスト・ボックスを使用してタスクのタイトルを定義します。
このオプションを選択した後、テキスト・ボックスにタスク・タイトルを入力します。
-
XPath: XPath機能に基づいてタスクのタイトルを定義します。
-
変換: タスクのタイトルの翻訳バージョンを定義します。
タスクのタイトルは、プロセス・ワークスペースに表示されるヒューマン・タスクのタイトルを定義します。
-
-
「優先度」の隣のドロップダウン・リストから、ヒューマン・タスクの優先度を選択します。
有効値は1(優先度最高)から5(優先度最低)です。この値はプロセス・ワークスペースに表示されます。
-
ヒューマン・タスクの結果を定義します。
-
「結果」フィールドの隣の虫眼鏡アイコンをクリックします。
-
構成する結果を選択します。
少なくとも1つの結果を選択する必要があります。詳細は、結果を参照してください。
-
「OK」をクリックします。
-
-
プロジェクトを保存して、変更を保存します。
12.3.6 ヒューマン・タスクのプレゼンテーションの指定方法
ヒューマン・タスクのプレゼンテーションは、アプリケーションのユーザー・インタフェースを定義します。プレゼンテーションは、ヒューマン・タスク用のユーザー・インタフェース、データ構造および接続情報を定義するフォームに関連付けられます。Oracle BPMは、WebフォームとADFタスク・フォームの2つのタイプのフォームをサポートしています。
フォームの作成、編集および使用の詳細は、「Oracle BPMでのフォームの概要」を参照してください。
12.3.7 デフォルト参加者の変更方法
新規ヒューマン・タスクを作成すると、デフォルトの単純参加者が含まれます。ヒューマン・タスク・エディタを使用して、デフォルト参加者のタイプを変更できます。
ヒューマン・タスクのデフォルト参加者を変更するには:
新しい参加者がルーティング・スリップ・ボックスに表示されます。ヒューマン・タスクへの参加者の追加については、次の手順を参照してください。
12.3.8 ヒューマン・タスクへの参加者とルーティングの追加方法
ヒューマン・タスク・エディタを使用して、ヒューマン・タスクに参加者またはルーティング・タイプを追加します。
参加者をヒューマン・タスクに追加するには:
新しい参加者がルーティング・スリップの一番右に追加されます。
12.3.9 参加者へのユーザー、グループおよびロールの割当て方法
ヒューマン・タスク内において、参加者は、抽象的に、ヒューマン・タスクとそのワークフローに参加する責任を持つユーザーを定義します。ヒューマン・タスクで定義されている参加者とルーティングが、実際の組織内の参加者にどのようにマップされるかは、参加者の選択を構成することにより定義できます。
参加者の選択方法は次のとおりです。
-
名前と式
-
レーン参加者
-
パラメータ・ロール
ノート:
パラメータ・ロールを使用するようにヒューマン・タスクを構成できますが、Oracle Business Process Composerを使用してパラメータ・ロールを作成または構成することはできません。パラメータ・ロールは、プロセス・ワークスペースまたはOracle BPM Studioを使用して作成し、ヒューマン・タスクに割り当てる必要があります。
各方法については、次の手順で説明します。
12.3.9.1 名前と式を使用した参加者の選択
名前と式を使用して参加者を選択するには:
-
共有プロジェクトの場合は、編集モード中であることを確認します。
-
ヒューマン・タスクを開いて、「ルーティング・スリップ」を選択します。
-
参加者をダブルクリックします。
-
「参加者のリストの作成で使用」の隣のドロップダウン・リストから「名前および式」を選択します。
-
「参加者名」の下の「追加」アイコンをクリックして、次のいずれかを選択します。
-
ユーザーの追加:
-
グループの追加:
-
アプリケーション・ロールの追加:
これらのオプションの1つを選択したら、表内に表示されます。必要に応じて、表内のドロップダウン・リストを使用して、値を変更できます。
-
-
「データ型」列で、ドロップダウン・リストから「名前別」または「式別」のいずれかを選択します。
-
参加者に対して値を選択します。
-
「値」列の「検索」アイコンをクリックします。
-
ドロップダウン・リストから、「ユーザー」、「グループ」または「アプリケーション・ロール」のいずれかを選択します。
-
検索する名前を入力し、「検索」をクリックします。
すべての名前、グループまたはロールのリストを表示するには、テキスト・フィールドを空白のままにして、「検索」をクリックします。
-
追加するユーザー、グループまたはロールの隣のチェック・ボックスを選択します。
-
「OK」をクリックします。
-
名前が「値」列に表示されます。
12.3.9.3 パラメータ・ロールを使用した参加者の選択
パラメータ・ロールを使用して参加者を選択するには:
-
Oracle BPM Studioを使用してプロジェクトに対してパラメータ・ロールを作成していることを確認します。
-
共有プロジェクトの場合は、編集モード中であることを確認します。
-
ヒューマン・タスクを開いて、「ルーティング・スリップ」を選択します。
-
参加者をダブルクリックします。
-
「参加者のリストの作成で使用」の隣のドロップダウン・リストから「パラメータ・ロール」を選択します。
-
「データ型」列で、ドロップダウン・リストから「名前別」または「式別」のいずれかを選択します。
-
参加者に対して値を選択します。
-
「値」列の「検索」アイコンをクリックします。
-
ドロップダウン・リストから、「ユーザー」、「グループ」または「アプリケーション・ロール」のいずれかを選択します。
-
検索する名前を入力し、「検索」をクリックします。
すべての名前、グループまたはロールのリストを表示するには、テキスト・フィールドを空白のままにして、「検索」をクリックします。
-
追加するユーザー、グループまたはロールの隣のチェック・ボックスを選択します。
-
「OK」をクリックします。
-