BEA ホーム | 製品 | デベロッパ・センタ | support | askBEA
 ドキュメントのダウンロード   サイト マップ   用語集 
検索

BPM クライアント アプリケーション プログラミング

 前 次 目次 索引 PDFで表示  

タスクの管理

タスクは、テンプレート定義の作成に記載のように、テンプレート定義の作成プロセスの一部として定義されます。

この章では、タスクの管理方法について説明します。内容は以下のとおりです。

この章に記載するメソッドの詳細については com.bea.server.admin.Admin を参照してください。WebLogic Integration Studio を使用してタスクを管理する方法については、『WebLogic Integration Studio ユーザーズ ガイド』の「ワークフロー テンプレートの定義」を参照してください。

 


タスクの取得

特定のワークフロー テンプレートで定義されたタスクのリストを取得するには、以下の com.bea.wlpi.server.admin.Admin メソッドのいずれかを使用します。

public javautil.List getTasks(
java.lang.String assigneeId,
java.lang.String orgId,
boolean role
) throws java.rmi.RemoteException,
com.bea.wlpi.common.WorkflowException
public javautil.List getTasks(
java.lang.String assigneeId,
java.lang.String orgId,
boolean role,
boolean incompleteonly,
boolean
sortAscending
) throws java.rmi.RemoteException,
com.bea.wlpi.common.WorkflowException

getTasks() メソッドのパラメータを次の表に示します。パラメータには値を指定する必要があります。

表15-1 getTasks() メソッドのパラメータ

パラメータ

説明

有効な値

assigneeId

取得するタスクのリストの assignee (ユーザまたはロール) の ID

有効なユーザまたはロールを指定する文字列。

現在のユーザまたはロールのリストを取得する方法については、セキュリティ レルムのコンフィグレーションを参照。

orgId

タスクを取得するオーガニゼーションの ID

有効なオーガニゼーション ID を指定する文字列。

すべてのオーガニゼーション ID のリストの取得方法については、すべてのオーガニゼーション名を取得するを参照。

role

assigneeId パラメータに指定された割り当て先がロール (true) とユーザ (false) のいずれであるかを指定するブール フラグ

true (ロール) または false (ユーザ)。

incompleteonly

未完了のタスクだけを返す(true)のか、すべてのタスクを返す(false)のかを指定するブール フラグ

true (未完了のタスクのみ) または false (すべてのタスク)。

sortAscending

タイムスタンプ(日および時)をソート キーとするタスクのソートを、昇順(true)で行うのか、降順(false)で行うのかを指定するブール フラグ

true (昇順) または false (降順)。


 

各メソッドは、com.bea.wlpi.common.TaskInfo オブジェクトのリストを返します。各タスクについての情報にアクセスするには、TaskInfo オブジェクトに記載する TaskInfo オブジェクト メソッドを使用します。

たとえば、次のコードでは、オーガニゼーション ORG1 内のロール ROLE1 (role パラメータが true に設定してあることに注意) のタスクのリストが取得されます。このコード例では、adminAdmin EJB への EJBObject 参照を表します。

List taskList = admin.getTasks(“ROLE1”, “ORG1”, true);

getTasks() メソッドの詳細については、Javadoc の com.bea.wlpi.server.admin.Admin を参照してください。

 


タスクの割り当て

タスクに割り当てられているユーザまたはロールを変更する、またはタスクの割り当てを解除するには、それぞれ以下の com.bea.wlpi.server.admin.Admin メソッドを使用します。

public void taskAssign(
java.lang.String templateDefinitionId,
java.lang.String instanceId,
java.lang.String taskId,
java.lang.String assignTo,
boolean bRole,
boolean bLoadBalance
) throws java.rmi.RemoteException,
com.bea.wlpi.common.WorkflowException
public void taskUnassign(
java.lang.String templateDefinitionId,
java.lang.String instanceId,
java.lang.String taskId
) throws java.rmi.RemoteException,
com.bea.wlpi.common.WorkflowException

taskAssign() および taskUnassign() メソッドのパラメータを次の表に示します。パラメータには値を指定する必要があります。

表15-2 taskAssign() および taskUnassign() メソッドのパラメータ

パラメータ

説明

有効な値

対象

taskAssign()

taskUnassign()

templateDefinitionId

タスクを含むワークフロー インスタンスがインスタンス化されたテンプレート定義の ID

有効なテンプレート定義 ID を指定する文字列。

テンプレート定義 ID を取得するには、次の com.bea.wlpi.common.TaskInfo メソッドを使用する。

public final java.lang.String getTemplateDefinitionId()

TaskInfo オブジェクトを取得する方法については、タスクの取得を参照。TaskInfo オブジェクトで選択可能なメソッドの詳細については、TaskInfo オブジェクトを参照。

+

+

instanceId

タスクを含むワークフロー インスタンスの ID

有効なインスタンス ID を指定する文字列。

インスタンス ID を取得するには、次の com.bea.wlpi.common.TaskInfo メソッドを使用する。

public final java.lang.String getInstanceId()

TaskInfo オブジェクトを取得する方法については、タスクの取得を参照。TaskInfo オブジェクトで選択可能なメソッドの詳細については、TaskInfo オブジェクトを参照。

+

+

taskId

割り当てまたは割り当て解除を行うタスクの ID

有効なタスク ID を指定する文字列。

タスク ID を取得するには、次の com.bea.wlpi.common.TaskInfo メソッドを使用する。

public final java.lang.String getTaskId()

TaskInfo オブジェクトを取得する方法については、タスクの取得を参照。TaskInfo オブジェクトで選択可能なメソッドの詳細については、TaskInfo オブジェクトを参照。

+

+

assignTo

タスクを割り当てる assignee (ユーザまたはロール) の ID

有効なユーザまたはロールを指定する文字列。

現在のユーザまたはロールのリストを取得する方法については、セキュリティ レルムのコンフィグレーションを参照。

+


bRole

assigneeId パラメータに指定された割り当て先がロール(true)または ユーザ(false)であるかを指定するブール フラグ

true (ロール) または false (ユーザ)。

+


bLoadBalance

指定されたロール内でロード バランスを行うかどうかを指定するブール フラグ(この設定は、bRole 値が true に設定されている場合のみ有効)。

true (ロード バランスを行う) または
false (ロード バランスを行わない)。

+



 

タスクが割り当てられる実際の割り当て先は、以下の条件で決定されます。

たとえば、次のコードでは、ユーザ joe にタスクが割り当てられます。このコード例では、adminAdmin EJB への EJBObject 参照を表します。

admin.taskAssign(
task.getTemplateDefinitionId(),
task.getInstanceId(),
task.getTaskId(),
“joe”,
false,
false
);

次のコードでは、同タスクの割り当てが解除されます。

admin.taskUnassign(
task.getTemplateDefinitionId(),
task.getInstanceId(),
task.getTaskId(),
“joe”,
false,
false
);

テンプレート定義、ワークフロー インスタンス、およびタスク ID は、com.bea.wlpi.common.TaskInfo オブジェクト、task と関連するメソッドを使用して取得されます。task オブジェクトは、タスクの取得に記載のメソッドを使用して取得されます。

com.bea.wlpi.common.TaskInfo メソッドの詳細については、TaskInfo オブジェクトまたは、Javadoc の com.bea.wlpi.common.TaskInfo を参照してください。

taskAssign() および taskUnassign() メソッドの詳細については、Javadoc の com.bea.wlpi.server.admin.Admin を参照してください。

 


タスク数の取得

特定のユーザに割り当てられているタスクの数を取得するには、次の com.bea.wlpi.server.admin.Admin メソッドを使用します。

public int[] getTaskCounts(
java.lang.String assigneeId,
java.lang.String orgId,
boolean isRole
) throws java.rmi.RemoteException,
com.bea.wlpi.common.WorkflowException

getTaskCounts() メソッドのパラメータを次の表に示します。パラメータには値を指定する必要があります。

表15-3 getTaskCounts() メソッドのパラメータ

パラメータ

説明

有効な値

assigneeId

タスクを取得する assignee (ロールまたはユーザ) の ID

有効なユーザまたはロールの ID。

現在のユーザまたはロールのリストを取得する方法については、セキュリティ レルムのコンフィグレーションを参照。

orgId

タスクを取得するオーガニゼーションの ID

有効なオーガニゼーション ID を指定する文字列。

すべてのオーガニゼーション ID のリストを取得する方法については、アクティブなオーガニゼーションの管理を参照。

isRole

assigneeId パラメータに指定された割り当て先がロールまたはユーザであるかを指定するブール フラグ

true (ロール) または false (ユーザ)。

このメソッドは、次の表で説明する、5 つの要素から成る配列を返します。

表15-4 getTaskCounts() メソッドの配列要素

要素

説明

TASKCOUNT_TOTAL

ユーザやロールに割り当てられたタスクの総数

TASKCOUNT_PENDING

割り当てられているタスクのうちペンディング中のものの数

TASKCOUNT_INACTIVE

割り当てられているタスクのうちアクティブでないものの数

TASKCOUNT_COMPLETED

割り当てられているタスクのうち完了したものの数

TASKCOUNT_OVERDUE

割り当てられているタスクのうち期日超過のものの数


 

たとえば、次のコードでは、現在のユーザに割り当てられたタスクの数が取得され、配列 taskCounts[ ] にその数が格納されます。このコード例では、adminWorklist EJB への EJBObject 参照を表します。

int taskCounts[] = admin.getTaskCounts(“ROLE1”, “ORG1”, true);

配列 taskCounts[ ] の各要素にタスク数が格納されます。たとえば、 taskCounts[TASKCOUNT_TOTAL] は、タスクの総数、taskCounts[TASKCOUNT_PENDING] は、ペンディング中のタスクの総数を示します。

getTaskCounts() メソッドの詳細については、Javadoc の com.bea.wlpi.server.admin.Admin を参照してください。

 


タスクへの完了または未完了マークの付与

タスクに完了(done)または未完了(undone)としてマークするには、それぞれ以下の com.bea.wlpi.server.admin.Admin メソッドを使用します。

public void taskMarkDone(
java.lang.String templateDefinitionId,
java.lang.String instanceId,
java.lang.String taskId
) throws java.rmi.RemoteException,
com.bea.wlpi.common.WorkflowException
public void taskUnmarkDone(
java.lang.String templateDefinitionId,
java.lang.String instanceId,
java.lang.String taskId
) throws java.rmi.RemoteException,
com.bea.wlpi.common.WorkflowException

taskMarkDone() および taskUnmarkDone() メソッドのパラメータを次の表に示します。パラメータには値を指定する必要があります。

表15-5 taskMarkDone() および taskUnmarkDone() メソッドのパラメータ

パラメータ

説明

有効な値

templateDefinitionId

タスクを含むワークフロー インスタンスがインスタンス化されたテンプレート定義の ID

有効なテンプレート定義 ID を指定する文字列。

テンプレート定義 ID を取得するには、次の com.bea.wlpi.common.TaskInfo メソッドを使用する。

public final java.lang.String getTemplateDefinitionId()

TaskInfo オブジェクトを取得する方法については、タスクの取得を参照。TaskInfo オブジェクトで選択可能なメソッドの詳細については、TaskInfo オブジェクトを参照。

instanceId

タスクを含むワークフロー インスタンスの ID

有効なインスタンス ID を指定する文字列。

インスタンス ID を取得するには、次の com.bea.wlpi.common.TaskInfo メソッドを使用する。

public final java.lang.String getInstanceId()

TaskInfo オブジェクトを取得する方法については、タスクの取得を参照。TaskInfo オブジェクトで選択可能なメソッドの詳細については、TaskInfo オブジェクトを参照。

taskId

完了または未完了マークを付けるタスクの ID

有効なタスク ID を指定する文字列。

タスク ID を取得するには、次の com.bea.wlpi.common.TaskInfo メソッドを使用する。

public final java.lang.String getTaskId()

TaskInfo オブジェクトを取得する方法については、タスクの取得を参照。TaskInfo オブジェクトで選択可能なメソッドの詳細については、TaskInfo オブジェクトを参照。


 

taskMarkDone() メソッドは、現在の日付および時間にタスク Completed 値を設定します。さらに、指定されたタスクの Marked Done イベントと関連する、すべてのアクションの連続実行を行います。ただし、taskMarkDone() メソッドは完了マークの付けられたタスクには影響しません。タスクの Marked Done イベントの定義については、『WebLogic Integration Studio ユーザーズ ガイド』の「ワークフローのテンプレートの定義」を参照してください。

taskUnmarkDone() メソッドは Completed 日付を消去します。このメソッドは、指定されたタスクの Activated イベントと関連するアクションの実行にはつながりません。

たとえば、次のコードでは、指定されたタスクに完了マークが付けられ、Completed 値が現在の日付および時間に設定され、指定されたタスクの Marked Done イベントと関連するアクションが実行されます。このコード例では、adminAdmin EJB への EJBObject 参照を表します。

admin.taskMarkDone(
task.getTemplateDefinitionId(),
task.getInstanceId(),
task.getTaskId()
);

次のコードは、同タスクに未完了マークを付け、Completed 日付を消去します。

admin.taskMarkUndone(
task.getTemplateDefinitionId(),
task.getInstanceId(),
task.getTaskId()
);

テンプレート定義、ワークフロー インスタンス、およびタスク ID は、com.bea.wlpi.common.TaskInfo オブジェクト、task と関連するメソッドを使用して取得されます。task オブジェクトは、タスクの取得に記載のメソッドを使用して取得されます。

com.bea.wlpi.common.TaskInfo メソッドの詳細については、TaskInfo オブジェクト または、Javadoc の com.bea.wlpi.common.TaskInfo を参照してください。

taskMarkDone() および taskMarkUndone() メソッドの詳細については、Javadoc の com.bea.wlpi.server.admin.Admin を参照してください。

 


タスク プロパティの設定

タスク プロパティを設定するには、次の com.bea.wlpi.server.admin.Admin メソッドを使用します。

public void taskSetProperties(
java.lang.String templateDefinitionId,
java.lang.String instanceId,
java.lang.String taskId,
int priority,
boolean doneWithoutDoit,
boolean doitIfDone,
boolean unmarkDone,
boolean modify,
boolean reassign
) throws java.rmi.RemoteException,
com.bea.wlpi.common.WorkflowException

taskSetProperties() メソッドのパラメータを次の表に示します。パラメータには値を指定する必要があります。

表15-6 taskSetProperties() メソッドのパラメータ

パラメータ

説明

有効な値

templateDefinitionId

タスクと対応するテンプレート定義の ID

有効なテンプレート定義 ID を指定する文字列。

テンプレート定義 ID を取得するには、次の com.bea.wlpi.common.TaskInfo メソッドを使用する。

public final java.lang.String getTemplateDefinitionId()

TaskInfo オブジェクトを取得する方法については、タスクの取得を参照。TaskInfo オブジェクトで選択可能なメソッドの詳細については、TaskInfo オブジェクトを参照。

instanceId

タスクと対応するワークフロー インスタンスの ID

有効なインスタンス ID を指定する文字列。

インスタンス ID を取得するには、次の com.bea.wlpi.common.TaskInfo メソッドを使用する。

public final java.lang.String getInstanceId()

TaskInfo オブジェクトを取得する方法については、タスクの取得を参照。TaskInfo オブジェクトで選択可能なメソッドの詳細については、TaskInfo オブジェクトを参照。

taskId

完了または未完了マークを付けるタスクの ID

有効なタスク ID を指定する文字列。

タスク ID を取得するには、次の com.bea.wlpi.common.TaskInfo メソッドを使用する。

public final java.lang.String getTaskId()

TaskInfo オブジェクトを取得する方法については、タスクの取得を参照。TaskInfo オブジェクトで選択可能なメソッドの詳細については、TaskInfo オブジェクトを参照。

priority

タスクの優先順位

0=低、1=中、または 2=高。

doneWithoutDoIt

タスクへの完了または未完了マークの付与に記載するメソッドを使用してタスクに完了マークを付けるパーミッション

true (有効化) または false (無効化)。

doitIfDone

タスクの実行に記載するメソッドを使用して、完了マークを付けた後にそのタスクを実行するパーミッション

true (有効化) または false (無効化)。

unmarkDone

タスクへの完了または未完了マークの付与に記載するメソッドを使用して、タスクに未完了マークを付けるパーミッション

true (有効化) または false (無効化)。

modify

taskSetProperties() メソッドを使用して、ランタイム プロパティを変更するパーミッション

true (有効化) または false (無効化)。

reassign

タスクの割り当てに記載するメソッドを使用して、タスクを別の参加コンポーネントに再び割り当てるパーミッション

true (有効化) または false (無効化)。


 

たとえば、次のコードは、デフォルトのタスク優先順位を 中(1)に設定し、他のすべてのタスク優先順位を有効化(true に設定)します。このコード例では、adminAdmin EJB への EJBObject 参照を表します。

admin.taskSetProperties(
task.getTemplateDefinitionId(),
task.getInstanceId(),
task.getTaskId(),
1,
true,
true,
true,
true,
true
);

テンプレート定義、ワークフロー インスタンス、およびタスク ID は、com.bea.wlpi.common.TaskInfo オブジェクト、task と関連するメソッドを使用して取得されます。task オブジェクトは、タスクの取得に記載のメソッドを使用して取得されます。

com.bea.wlpi.common.TaskInfo メソッドの詳細については、TaskInfo オブジェクト または、Javadoc の com.bea.wlpi.common.TaskInfo を参照してください。

taskSetProperties() メソッドの詳細については、Javadoc の com.bea.wlpi.server.admin.Admin を参照してください。

 

ページの先頭 前 次