authenticate
|
アイデンティティ認証サービスでユーザーを認証し、有効なIWorkflowContext オブジェクトを渡して戻します。
|
authenticateOnBehalfOf
|
必要に応じ、他のユーザーにかわって認証を行います。
|
countTasks
|
指定した問合せ基準に一致するタスクの数をカウントします。
|
countViewTasks
|
指定したビューの問合せ基準に一致するタスクの数をカウントします。
|
createContext
|
事前認証済のHTTPリクエストから有効なIWorkflowContext オブジェクトを作成します。
|
doesTaskExist
|
指定した問合せ基準に一致する既存タスクがあるかどうかを確認します。
すべてのピラー・データを検索(つまり、パッケージ全体を検索)するための割当てフィルタ値としてSYS を含めます。
|
doesViewTaskExist
|
指定したビューの問合せ基準に一致するタスクが存在するかどうかを確認します。
すべてのピラー・データを検索(つまり、パッケージ全体を検索)するための割当てフィルタ値としてSYS を含めます。
|
destroyWorkflowContext
|
不要になったヒューマン・ワークフロー・コンテキストをクリーン・アップします。通常、このメソッドはユーザーのログアウト時に使用されます。
|
getPersistedTaskSequence
|
キャッシュされたタスク順序オブジェクトが存在し、fetchTaskSequenceForRootTask がtrue である場合に、そのオブジェクトを取得します。それ以外の場合は、TaskSequenceType がALL である新しいタスク順序オブジェクトを準備してキャッシュします。タスク順序オブジェクトが処理され、必要なタスク順序レコードを削除または保持するファイラが適用されます。タスク順序レコードがいくつか削除される可能性があるため、順序番号が再生成されます。最後に集計ロジックが実行され、タスク順序内で繰り返されている参加者がすべて縮小されます。
APIシグネチャ: EJBとSOAPの両方の一部として公開されます。 TaskSequence
oracle.bpel.services.workflow.query.ITaskQueryService.getPersistedTaskSequence
(
IWorkflowContext ctx,
String taskId,List<String> taskDisplayColumns, List<TaskSequenceType>
taskSequenceType,
List<TaskSequenceBuilderContext> taskSequenceBuilderContext, boolean
fetchTaskSequenceForRootTask,
Set<TaskSequenceFilterOptionalInfoType> optionalInfo
)
throws WorkflowException;
入力属性:
ctx : ワークフロー・コンテキスト(有効なトークンまたは資格証明を含むことができます)。
taskId : タスク順序の詳細が必要なタスクID。
taskDisplayColumns : 問い合せるタスク列。
taskSequenceType : 取得されるタスク順序タイプを含むリスト。
taskSequenceBuilderContext : タスク順序ビルダーのコンテキストを含むリスト。STAGE およびWORKFLOW_PATTERN でのみサポートされます。値がINCLUDE_SEQUENCE_FOR_SINGLE_CHILD の場合、または複数の値が渡された場合、サポートされない操作例外がスローされます。
fetchTaskSequenceForRootTask : true の場合はルート・タスクのタスク順序を取得し、それ以外の場合は現在のタスクのタスク順序を取得します。ルート・タスクはメイン・タスクであり、パラレル・タスクを表すサブタスクを持つことができます。キャッシュは、fetchTaskSequenceForRootTask がtrue の場合にのみ実行されます。キャッシュされたタスク順序は、fetchTaskSequenceForRootTask がtrue の場合にのみ取得されます。fetchTaskSequenceForRootTask がfalse の場合、タスク順序が再計算されます。
optionalInfo : システム承認を示すために添付、コメントおよびフラグに使用されます。サポートされている値は、COMMENTS 、ATTACHMENTS 、ISSYSTEMAPPROVED 、TRANSLATE 、REFRESH です。
- @return
TaskSequence オブジェクト。タスク順序ツリーを表します。
- @exception
WorkflowException (タスク順序の取得中にランタイム・エラーが発生した場合)。
APIの使用に関する制限:
taskSequenceBuilderContext : STAGE およびWORKFLOW_PATTERN でのみサポートされます。値がINCLUDE_SEQUENCE_FOR_SINGLE_CHILD の場合、または複数の値が渡された場合、サポートされない操作例外がスローされます。
fetchTaskSequenceForRootTask : キャッシュは、fetchTaskSequenceForRootTask がtrue の場合にのみ実行されます。キャッシュされたタスク順序は、fetchTaskSequenceForRootTask がtrue の場合にのみ取得されます。fetchTaskSequenceForRootTask がfalse の場合、タスク順序が再計算されます。
- 宣言コンポーネントからのコールと電子メールのコールには翻訳がありません。
- タスクに対するアクションが実行されたときにOracle Business Process Managementがタスク順序データをキャッシュするのは、電子メール通知が有効になっている場合のみです。
getPersistedTasksequence() の呼出し時に電子メールが有効になっていない場合、タスク順序のみが生成され、キャッシュに格納されます。要約すると、電子メールが有効になっていない場合、getPersistedTaskSequence() の最初の呼出し時にキャッシュ・ミスが発生し、BPMがデータを生成して格納します。getPersistedTaskSequence() の後続のコールでは、最初の呼出しの一部として生成されたデータが使用されます。
|
getTask
|
コール元によって指定された詳細が移入された単一のタスクを取得します。
インタフェース:
public Task getTask(IWorkflowContext ctx, TaskIdentifier taskIdentifier, List<String> columnList, List<OptionalInfo> optionalInformation) throws WorkflowException;
IWorkflowContext ctx : 認証されたユーザー・コンテキスト。
TaskIdentifier taskIdentifier TaskIdentifier {
Type (enum): Id, Number, IdentificationKey
Value (String): <value>
} 次に示すタスクの一意識別子のいずれかを使用できます:
Task Id
Task Number
Identification Key
List<String> columnList : 返されるタスク・オブジェクトに移入するタスク列のリスト。
ノート: TaskId やTaskNumber など、常に移入されるデフォルト列があります。
List<OptionalInfo> optionalInformation : コメント、添付、アクションなど、返されるタスク・オブジェクトに移入される追加/オプションのデータ/情報のリスト。
ノート: デフォルトでは、追加データはいずれも移入されません。
IdentificationKey : IdentificationKey が特定のタスクに対して一意であることを確認するためにヒューマン・ワークフロー・タスクを使用するのは、システムの役割です。タスクがパラレルで実行されている場合(サブタスク)、すべてのサブタスクのIdentificationKey は、元のタスクまたは開始されたタスクと同じになります。
複数のタスクが同じIdentificationKey を持つ場合、タスク番号が最も大きいタスクがフェッチされます。
タスクのIdentificationKey 列には、IdentificationKey に基づいて単一のタスクの問合せをサポートする既存の索引があります。
利点:
TaskID 、TaskNumber およびIdentificationKey のいずれかの一意識別子によって、単一のAPIを使用して単一のタスクをフェッチします。
- 単一のタスクが必要な場合、完全なタスクを取得する必要はありません:
List<String> columnList パラメータを使用して、タスクでフェッチおよび移入する必要があるタスク情報を指定できます。
List<OptionalInfo> optionalInformation パラメータを使用して、タスクでフェッチおよび移入する必要がある追加情報を指定できます。
- ユーザーがタスクに対して実行できるアクションのみが必要な場合に使用します。
- タスクの添付のリストのみが必要な場合に使用します。
- タスクのコメントのリストのみが必要な場合に使用します。
推奨事項および使用上のノート:
- 次のAPIの使用を
getTask に置き換えます:
getTaskDetailsById
getTaskDetailsByNumber
queryTasks :
単一タスクをフェッチするには
IdentificationKey を使用
- 次のものは
queryTasks でのみ使用可能であるため:
List<String> columnList
List<OptionalInfo> optionalInformation
- ユーザーがタスクに対して実行できるアクションのリストのみが必要な場合:
columnList をnull/空とし、optionalInformation にALL_ACTIONS のみを指定して、getTask をコールします。
- タスクの添付のリストのみが必要な場合:
columnList をnull/空とし、optionalInformation にATTACHMENTS のみを指定して、getTask をコールします。
- タスクのコメントのリストのみが必要な場合:
columnList をnull/空とし、optionalInformation にCOMMENTS のみを指定して、getTask をコールします。
|
getTaskActionsWithOptionalAttrs
|
現在のタスクの状態とリクエスト元ユーザーに割り当てられたロールに基づいて、許可されるすべてのアクションを計算して返します。
インタフェース:
public List<Task> getTaskActionsWithOptionalAttrs(IWorkflowContext ctx, List<TaskIdentifier> taskIdentifiers, Map<TaskIdentifier, TaskActionsType> actions, Map<TaskIdentifier, List<OptionalAttribute>> optAttrs) throws WorkflowException;
ctx とtaskIdentifiers は必須パラメータです。
taskIdentifiers は1つまたは複数です。
TaskIdentifier は現在、taskId 、taskNumber およびIdentificationKey をサポートしています。入力リストには、TaskIdentifier タイプの任意の組合せを含めることができます。
actions はオプション・パラメータです。特定のtaskIdentifier に対して何もリクエストされていない場合、デフォルトでは、対応するtaskIdentifier に対してALL_ACTIONS が計算されます。
TaskActionsType は、サポートされている次の値を含むEnum です:
ALL_ACTIONS
GROUP_ACTIONS
CUSTOM_ACTIONS
- 返されるタスク・オブジェクトには、
actions 入力、タスクの現在の状態、およびリクエストされたユーザーに割り当てられたロールに基づいて、そのタスクに対して許可されるアクションの現在のセットが含まれます。
- 返されるタスク・オブジェクトには、基本的な出力パラメータとしてタスクID、番号および
identificationKey が含まれます。また、許可されるアクションとoptAttrs パラメータを使用してリクエストされたオプション情報も含まれます。返されるアクションには、次のようにアクセスできます:
returnTask.getSystemAttributes().getRestrictedActions()
returnTask.getSystemAttributes().getSystemActions()
returnTask.getSystemAttributes().getCustomActions()
- ユーザーは、
optAttrs パラメータを使用して、追加のオプション情報をリクエストできます。現在、このAPIでサポートされているオプション属性はWORKLIST_URL のみです。この属性の戻り値には、returnTask.getSystemAttributes().getDisplayInfo() を使用してアクセスできます。
- 返されるタスク・リスト数は、リクエストされた
TaskIdentifier リスト数と一致しない場合があります。入力TaskIdentifier を使用してシステムで見つけることのできないタスクは無視されます。
- APIが複数のタスクに対してコールされる場合は特に、1秒未満というベンチマークを満たさないことがあります。
- 検証: すべての入力パラメータが検証されます。無効な入力があると、APIは
WorkflowException をスローし、根本原因を適切に引用します。
|
getTaskDetailsById
|
タスクのtaskId プロパティから特定のタスクの詳細を取得します。
|
getTaskDetailsByNumber
|
タスクのtask number プロパティから特定のタスクの詳細を取得します。
|
getTaskHistory
|
指定タスクIDのタスク・バージョンのリストを取得します。
|
getTasks
|
タスクを上位レベルで問い合せて取得します:
task-definition 、identification-key 、state 、アプリケーション・ストライプ/ロールなどの上位レベルの検索属性を使用します。
- APIは、次のいずれかを返します:
- ルート・タスクのみ。
- 集計済タスク(つまり、集計済タスクと、集計できないか集計する必要のないタスクの両方)。
- ルート・タスクとサブ・タスク。承認フロー内の他のタスクは返されません。
- 前述のいずれかに加えて、FYIタスク(明示的にリクエストされた場合)。
- その他すべてのドリルダウンのケースで、個別のAPIを使用して設計とパフォーマンスを向上させることができます。
ユースケースの例を次に示します:
- ワークリスト+: 高レベルのルート・タスクとFYIタスクのみをフェッチし、集計の場合は集計済タスクのみをフェッチします。
- HCM: すべてのルート・タスクをフェッチします。集計は使用されないため、明示的に指定する必要はありません。
- FIN: 様々なユースケースがあります:
- すべてのルート・タスクのみをフェッチします。APIの使用:
ROOT_TASK_ONLY 。
- ルート・タスクとサブ・タスクのみを含むタスクをフェッチします。たとえば、オーダーに100件の明細があり、顧客がそのオーダーとサブ・タスクの根本原因を取得したいと考えている場合です。つまり、その100件の明細に対する100個の収集ターゲット・インスタンスが返されます。他のタスクは、集計済タスクであっても返されません。APIの使用:
ROOT_TASK_AND_SUB_TASKS_ONLY 。
- 集計済タスク(つまり、集計済タスクと、集計できないか集計する必要のないタスク)をフェッチします。APIの使用:
AGGREGATED_TASKS 。
インタフェース:
List<Task> getTasks(IWorkflowContext wfCtx, Set<String> displayColumns, QueryContext qryCtx) throws WorkflowException
このAPIのQueryContext で適用可能なパラメータは次のとおりです:
-
QueryAssignmentFilter queryAssignmentFilter (必須)
現在、次がサポートされています:
MY
GROUP
MY_GROUP
MY_GROUP_ALL
OWNER
CREATOR
その他は必要に応じて追加されます。
-
QueryContextTaskIdentifier taskIdentifier (必須)
QueryContextTaskIdentifierEnum 型
List<String> 値
Enum QueryContextTaskIdentifierEnum
String TASK_DEFN_NAME
String TASK_DEFN_ID
String TASK_NAME_SPACE
-
QueryContextTaskSelector taskSelector
QueryContextTaskSelectorEnum 型
Enum QueryContextTaskSelectorEnum
String ROOT_TASK_ONLY
String AGGREGATED_TASKS
String ROOT_TASK_AND_SUB_TASKS_ONLY
List<String> identificationKeys = new ArrayList<String>();
List<String> applicationStripes = new ArrayList<String>();
List<String> applicationRoles = new ArrayList<String>();
-
QueryContextTaskStates taskStates;
List<TaskStatesEnum> states;
Enum TaskStatesEnum
"ALERTED"
"ASSIGNED"
"COMPLETED"
"DELETED"
"ERRORED"
"EXPIRED"
"INFO_REQUESTED"
"OUTCOME_UPDATED"
"STALE"
"SUSPENDED"
"WITHDRAWN"
boolean includeFYITasks (デフォルトはfalse )
int startRow;
int endRow;
boolean localizeTasks (デフォルトはfalse )
-
taskOutcome (単一値)次のいずれかを選択します:
- カスタム値
- 次の列挙
APPROVE
REJECT
DEFER
YES
OK
ACCEPT
NO
使用上のノート:
- インタフェースでは、
wfCtx とqryCtx の両方が必須パラメータです。displayColumns は、ユーザーが追加の表示列をフェッチする場合のオプション・パラメータです。
qryCtx において:
queryAssignmentFilter とtaskIdentifier は必須パラメータであり、残りはすべてオプション・パラメータです。
- デフォルトの
startRow は0 、デフォルトのendRow は50 です。
- ユーザーが50行を超えるページ区切りサイズをリクエストすることはできません。
ROOT_TASK_ONLY はルート・タスクのみを返します。
AGGREGATED_TASKS は、集計済タスクと、集計できないか集計する必要のないタスクを返します。
ROOT_TASK_AND_SUB_TASKS_ONLY は、ルート・タスクと各ルート・タスクのサブタスク(収集ターゲット・インスタンス)のみを返します。
- このAPIは、デフォルトでFYIタスク(
includeFYITasks = false )を除外します。ユーザーは、このブールをtrue に設定することで、FYIタスクを返すように明示的にリクエストできます:
includeFYITasks=true をtaskSelector=ROOT_TASK_ONLY とともに使用すると、ルート・レベルのFYIタスクもすべて返されます。
includeFYITasks=true をtaskSelector=AGGREGATED_TASKS とともに使用すると、集計済FYIタスクと集計できない集計済タスクもすべて返されます。
- 現在、順序付けをパラメータとして指定するオプションはありません。順序付けは、降順のtask-numberおよび末尾のnullを使用して、デフォルトで行われます。
- 状態が検索フィルタとして使用されていない場合、すべての状態のタスクが問合せでフェッチされるため、データ取得のパフォーマンスに影響が出ます。
ASSIGNED またはREQUEST_INFO 、あるいはその両方のタスク状態を検索する場合、このAPIがアクション可能なタスクを返すのは、ASSIGNEES != null というサブ条件を問合せに追加したときのみです。
- このAPIは、パフォーマンス上の理由から、デフォルトでタスクのローカライズ/翻訳を行いません。タイトルなどのタスク・フィールドの翻訳を明示的にリクエストするには、コール元で
localizeTasks 属性を使用する必要があります。
- アクション計算:
- このAPIは、「完全な」アクション計算は行わないため、アクション関連の属性を返しません。
- このAPIは、ユーザーがタスクへの読取りアクセス権を持っているかどうかを確認するために「制限付き」アクション計算を行います。それ以外の場合は、空のタスクを移入します。
- 完全なアクション計算を行うには、
getTaskActionsWithOptionalAttrs APIを使用します。
- デフォルト列セット:
WFTASK_TASKID_COLUMN
WFTASK_ASSIGNEES_COLUMN
WFTASK_ASSIGNEESDISPLAYNAME_COLUMN
WFTASK_ASSIGNEDDATE_COLUMN
WFTASK_STATE_COLUMN
WFTASK_SUBSTATE_COLUMN
WFTASK_TITLE_COLUMN
WFTASK_DUEDATE_COLUMN
WFTASK_TASKDISPLAYURL_COLUMN は、インスタンス・レベルのURL (wftask 表に格納されているもの)を返します。パフォーマンス上の理由により、APIレベルの処理は行われません。
WFTASK_UPDATEDBY_COLUMN
<collection target>
taskDefinitionId
isRoot
isAggregated
isFyi
- 追加の表示列セット: 追加のセットでは次の列のみが許可されます:
Identificationkey
Stage
VersionReason
TaskDefinitionName
RootTaskID
ParentTaskId
taskNumber (ワークリストのユース・ケースにより追加)
- 返されるフィールド・セット内の翻訳可能フィールド: 追加のセットでは次の列のみが許可されます:
Title (wftask_tl 表にある翻訳済の値)
State (wftask_tl 表にある翻訳済の値)
Assignees (問合せ処理中の表示名の翻訳)
UpdatedBy (問合せ処理中の表示名の翻訳)
- 1秒未満というベンチマークを満たします。
includeFYITasks を使用したタスク・セレクタの条件:
includeFYITasks = true
ROOT_TASK_ONLY
- ベース条件
AND (roottaskid = taskid)
AGGREGATED_TASKS
- ベース条件
AND (workflowpattern = 'AGGREGATION' OR (aggregationtaskid IS NULL AND subtaskgroupinstanceid IS NOT NULL) OR (roottaskid = taskid AND aggregationtaskid IS NULL AND subtaskgroupinstanceid IS NULL))
ROOT_TASK_AND_SUB_TASKS_ONLY
- ベース条件
AND (roottaskid = taskid OR subtaskgroupinstanceid IS NOT NULL)
includeFYITasks = false
ROOT_TASK_ONLY
- ベース条件
AND (IWT.taskid = IWT.roottaskid AND EXISTS (select 1 from wftask wfn where (wfn.workflowpattern IS NULL OR wfn.workflowpattern <> 'FYI') AND WT.rootTaskId = wfn.rootTaskId)
AGGREGATED_TASKS
- ベース条件
AND ((workflowpattern = 'AGGREGATION' AND EXISTS (select 1 from wftask w2 where (w2.workflowpattern IS NULL OR w2.workflowpattern <> 'FYI') AND w2.aggregationtaskid = IWT.taskid)) OR (aggregationtaskid IS NULL AND subtaskgroupinstanceid IS NOT NULL AND workflowpattern <> 'FYI') OR (roottaskid = taskid AND aggregationtaskid IS NULL AND subtaskgroupinstanceid IS NULL AND workflowpattern <> 'FYI'))
ROOT_TASK_AND_SUB_TASKS_ONLY
- ベース条件
AND ((IWT.taskid = IWT.roottaskid OR subtaskgroupinstanceid IS NOT NULL) AND EXISTS (select 1 from wftask wfn (where wfn.workflowpattern IS NULL OR wfn.workflowpattern <> 'FYI') AND IWT.rootTaskId = wfn.rootTaskId))
|
getTaskSequence
|
タイプが順序のタスクについて、IDがタスクIDのタスクのタスク順序ツリーを取得します。
|
getTaskVersionDetails
|
指定のタスクIDとバージョン番号について、特定のタスク・バージョン詳細を取得します。
|
getWorkflowContext
|
指定のコンテキスト・トークンを使用してヒューマン・ワークフロー・コンテキストを取得します。
|
getWorkflowContextForAuthenticatedUser
|
JAASアプリケーションによって認証されたユーザーのIWorkflowContext オブジェクトを取得します。これは、Enterprise JavaBeansアイデンティティ伝播またはSAMLトークン・アイデンティティ伝播とともに使用します。
|
isFYITask
|
taskId またはrootTaskId 入力パラメータに基づいて、関連付けられたタスクがFYIタスクの場合はtrue 、それ以外の場合はfalse を返します。
インタフェース:
boolean isFYITask(IWorkflowContext wfCtx, String taskId) throws WorkflowException
wfCtx とtaskId は、どちらも必須パラメータです。
- 1秒未満というベンチマークを満たします。
動作:
次の条件が満たされると、APIはtrue を返し、それ以外の場合はfalse を返します。
|
queryAggregatedTasks
|
指定した問合せを実行し、問合せで返されたタスクの数を、指定した列ごとにグループ化して集計します。
|
queryTaskErrors
|
指定の述語に一致するタスク・エラー・オブジェクトのリストを返します。
|
queryTasks
|
指定のフィルタ条件に一致するタスクのリストを返します。タスクは、指定の順序付け条件(存在する場合)に従ってリストされます。基準に一致するタスクのリスト全体を返すか、クライアントがページング問合せを実行できます。その場合は、リストのうち指定した数のタスクのみが取得されます。フィルタ条件は次のとおりです。
-
assignmentFilter : タスクを割当て先または作成者に従ってフィルタします。割当てフィルタに指定できる値は次のとおりです:
-
keywords : オプションの検索文字列です。この場合は、この文字列がタスクのタイトル、タスク識別キーまたはタスク・テキスト・マップ済属性(以前のフレックス・フィールド)に含まれているタスクのみが返されます。
-
predicate : オプションのoracle.bpel.services.workflow.repos.Predicate オブジェクトです。これによって、クライアントはSQLのような複雑な問合せ述語を指定できます。
|
queryViewAggregatedTasks
|
指定したビューに定義されているように問合せを実行し、そのビューに定義されているチャート・プロパティに従って選択したタスクを集計します。
|
queryViewTasks
|
指定のビューの基準に従ってタスクのリストが返されます。タスク・リストの全体またはページを返すことができます。クライアントは、ビューのコンテンツに対してフィルタと順序付け基準を追加指定できます。
|