IBM Business Process Manager V7.5 WLE Rest API 应用
这里介绍一个 IBM Business Process Manager V7.5 WLE Rest API 的应用场景。图 4 展示了 JK 公司的 HR Open New Position 流程。首先 Hiring Manager 提交招聘申请,如果需要 General Manager 审批,则流程流转至 General Manager。General Manager 根据招聘内容决定是否同意招聘申请。如果 General Manager 同意,则 Human Resources 负责查找职位候选人;如果 General Manager 拒绝,则系统会通知 Hiring Manager。
图 4. HR Open New Position 流程
在 HR Open New Position 这个场景中,可以使用 IBM Business Process Manager V7.5 WLE Rest API 帮助用户实现以下功能:查询对用户开放的流程模板,获取流程模板的 itemID 和 snapshotID。
Rest API 方法:
GET /v1/exposed Rest API URL:
http://localhost:9080/rest/bpm/wle/v1/exposed/process" 结果
{
status:"200",
data:
{
exposedItemsList:
[{
type: "process",
itemID: "25.c904b3b1-afc1-4698-bf5a-a20892c20275",
processAppID: "2066.9ab0d0c6-d92c-4355-9ed5-d8a05acdc4b0",
snapshotID: "2064.714199ad-cdcd-4aae-a0d8-ffaf88cfeb94",
display: "HR Open New Position",
ID: "2015.1053"
}]
}
}
启动 HR Open New Position 流程,创建流程实例。将流程模板的 itemID 作为 bpdId 的输入内容,snapshotID 作为 snapshotId 的输入内容,调用 Rest API 方法。用户可以在方法的返回结果中获取新建的流程实例的详细信息,例如,流程实例 ID 等。
Rest API 方法:
POST /v1/process?action={string}&bpdId={string}[&snapshotId={string}][&processAppId={string}] Rest API URL:
http://localhost:9080/rest/bpm/wle/v1/process?action=start&bpdId=25.c904b3b1-afc1-4698-bf5a-a20892c20275&snapshotId=2064.714199ad-cdcd-4aae-a0d8-ffaf88cfeb94&parts=all 结果是:
{
"status": "200",
"data": {
"creationTime": "2011-11-16T08:55:38Z",
"description": "",
"executionState": "Active",
"lastModificationTime": "2011-11-16T08:55:39Z",
"name": "Employee Requisition for (1014)",
"piid": "1014",
"processTemplateID": "25.c904b3b1-afc1-4698-bf5a-a20892c20275",
"processTemplateName": "HR Open New Position",
"processAppName": "Hiring Sample",
"processAppAcronym": "HSS",
"snapshotName": null,
"snapshotID": "2064.714199ad-cdcd-4aae-a0d8-ffaf88cfeb94",
"dueDate": "2011-11-30T08:55:38Z",
"comments": [],
"tasks": [
{
"activationTime": "2011-11-16T08:55:39Z",
"clientTypes": [
"IBM_WLE_Coach"
],
"completionTime": null,
"containmentContextID": "1014",
"description": "Task: Submit requisition",
"displayName": "Task: Submit requisition",
"dueTime": "2011-11-16T09:55:39Z",
"kind": "KIND_PARTICIPATING",
"lastModificationTime": "2011-11-16T08:55:39Z",
"name": "Submit job requisition",
"originator": "tw_admin",
"owner": "tw_admin",
"priority": 30,
"startTime": "2011-11-16T08:55:39Z",
"state": "STATE_CLAIMED",
"tkiid": "1498",
"piid": "1014",
"status": "New",
"priorityName": "Normal",
"assignedTo": "tw_admin",
"assignedToType": "user",
"data": {},
"serviceID": "1.551dd543-a770-4d6c-b0e0-1c9d61242e55"
}
],
"documents": [],
"data": {},
"diagram":{}
}
}
}
查询用户或组待执行的任务。当 General Manager 登陆审批系统时,可以通过 WLE Rest API 查询 General Manager 待执行的任务。在查询的返回结果中,用户可以获得某一用户或组待执行的任务的概要信息,包括任务 ID 等。
Rest API 方法:
PUT /v1/search/query[?columns={string}][&condition={string}][&sort={string}][&secondSort={string}][&organization={string}][&saveAsName={string}] Rest API URL:
http://localhost:9080/rest/bpm/wle/v1/search/query 结果 :
{
"status": "200",
"data": {
"data": [
{
"instanceName": "Employee Requisition for (1014)",
"taskId": 1498,
"bpdName": "HR Open New Position",
"instanceStatus": "Active",
"taskSubject": "Task: Submit requisition",
"taskPriority": "Normal",
"taskAttachedExtActivityRef": null,
"instanceDueDate": "2011-11-30T08:55:38Z",
"taskAssignedTo": {
"type": "User",
"who": "tw_admin"
},
"instanceId": 1014,
"taskAttachedInfoPathFormRef": null,
"taskStatus": "Closed",
"taskDueDate": "2011-11-16T09:55:39Z"
}
],
"firstColumnSort": "taskDueDate",
"secondColumnSort": "taskPriority",
"organization": "byInstance",
"autoColumns": [
"instanceId",
"taskAssignedTo",
"taskAttachedExtActivityRef",
"taskAttachedInfoPathFormRef",
"taskId",
"taskStatus"
]
}
}
http://www.ibm.com/developerworks/cn/websphere/library/techarticles/1204_wangy_wlerestapi/1204_wangy_wlerestapi.html