使用 IBM BPM V7.5 WLE Rest API 管理业务流程

简介: 本文介绍了 IBM Business Process Manager V7.5 WLE Rest API 的主要功能,并通过一个案例,向读者展示如何使用 IBM BPM V7.5 WLE Rest API 操控业务流程。本文主要面向业务流程的设计和开发人员,假定读者对业务流程有基本的了解,您可以参见参考资料以了解更多 IBM BPM V...显示全部
简介: 本文介绍了 IBM Business Process Manager V7.5 WLE Rest API 的主要功能,并通过一个案例,向读者展示如何使用 IBM BPM V7.5 WLE Rest API 操控业务流程。本文主要面向业务流程的设计和开发人员,假定读者对业务流程有基本的了解,您可以参见参考资料以了解更多 IBM BPM V7.5 WLE Rest API 相关的内容。

IBM Business Process Manager V7.5 简介



2011 年 IBM 推出了综合性的业务流程管理平台 IBM Business Process Manager V7.5。它为用户提供了进行流程设计、执行、监控的工具及运行时环境,并能够帮助流程所有者、业务用户进行业务流程的改进。作为 IBM 的战略产品,IBM Business Process Manager V7.5 整合了 IBM 的两个市场领先的 BPM 平台 WebSphere Lombardi Edition 和 WebSphere Process Server。WebSphere Lombardi Edition 简单易用,有快速的投入产出,同时业务人员可以深入参与流程的建模和管理。WebSphere Process Server 有很好的高性能,强大的整合能力,以及对事务性的出色支持。IBM Business Process Manager V7.5 将两者的优势很好的结合在一起,既保护了 IBM 客户的长期投资,又提供了功能更为强大全面的产品功能。

图 1. IBM Business Process Manager V7.5

收起
参与11

返回一路向北的回答

“答”则兼济天下,请您为题主分忧!

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
2012-04-27
浏览1587

回答者

一路向北 最近回答过的问题

回答状态

  • 发布时间:2012-04-27
  • 关注会员:1 人
  • 回答浏览:1587
  • X社区推广