// 假设我们定义了流程PROC1, 它定义了3个活动ACT1, ACT2, ACT3
ExecutionAdministration ea = Shark.getInstance().getAdminInterface().getExecutionAdministration();
ea.connect(userName, password, engineName, null);
AdminMisc am = Shark.getInstance().getAdminInterface().getAdminMisc();
// 流程实例序号, 已知
String procId = "1_1_proc1";
// 活动实例序号
String actId = "";
// 获得流程实例到目前为止所创建的活动实例
WfActivity[] wfas = ea.getProcess(procId).get_sequence_step(0);
if ( wfas != null && wfas.length > 0 )
{
// 获得最后一个活动实例的序号
actId = wfas[wfa.length - 1].key();
}
// 获得流程定义序号,在这里获得PROC1
String procDefId = am.getProcessDefinitionId(procId);
// 获得活动定义序号,在这里获得ACT1, ACT2, ACT3之一
String actDefId = am.getActivityDefinitionId(procId, actId);
// p.s. 可以看到,使用Shark.getInstance().getAdminInterface()方法,可以获得Shark的管理工具类,其中的api可以获取很多需要的信息