IBM Business Process Manager V7.5 WLE Rest API 简介
IBM Business Process Manager V7.5 提供了一套 Rest API 帮助用户管理业务资源,包括 BPD 相关资源、BPEL 相关资源等。本文主要介绍如何通过 IBM Business Process Manager V7.5 Rest API 管理 WebSphere Lombardi Edition 相关的业务流程,即 IBM Business Process Manager V7.5 WLE Rest API。
管理业务流程定义 (BPD) 资源的 IBM BPM 7.5 WLE Rest API 根据功能可以分为以下几类:管理流程的 Rest API管理服务的 Rest API管理任务的 Rest API管理查询的 Rest API管理组织的 Rest API管理其他资源的 Rest API
管理业务流程定义的 Rest API 主要负责管理业务流程模型、业务流程实例的相关内容,例如查询流程模型、流程实例的相关内容,启动、终止流程实例等。表 1 列出了 IBM Business Process Manager V7.5 提供的用于管理业务流程的 Rest API。
表 1. 管理流程的 Rest API
方法 | 描述 |
GET /rest/bpm/wle/v1/processModel/{bpdId}[?snapshotId={string}][&processAppId={string}][&parts={string}]
| 查询业务流程模型 |
POST /v1/process?action={string}&bpdId={string}[&snapshotId={string}][&processAppId={string}] | 启动流程 |
POST /v1/process?action={string}&message={string} | 向事件管理器发送消息,异步处理流程 |
GET /v1/process/{instanceId} | 查询流程实例 |
PUT /v1/process/{instanceId}?action={string} | 挂起 / 继续 / 终止流程实例 |
PUT /v1/process/{instanceId}?action={string}&dueDate={string} | 更新流程实例的到期日 |
PUT /v1/process/{instanceId}?action={string}&docId={string}[&data={string}][&docUrl={string}] | 更新流程实例相关文档 |
PUT /v1/process/{instanceId}?action={string}&step={string} | 调用流程实例的特定事件 |
PUT /v1/process/{instanceId}?action={string}&script={string} | 执行 javascript 表达式查询流程实例内容 |
DELETE /v1/process/{instanceId}?action={string}&docId={string} | 删除流程实例相关文档 |
POST /v1/process/{instanceId}?action={string}&comment={string} | 向流程实例添加注释 |
POST /v1/process/{instanceId}?action={string}&timerTokenId={string} | 启动计时器 |
POST /v1/process/{instanceId}?action={string}&docType={string}&name={string}[&data={string}][&docUrl={string}] | 向流程实例添加文档 |
GET /v1/process/{instanceId}/actions | 获取当前用户对流程实例的可执行操作 |
管理服务的 Rest API 主要负责管理服务的相关内容,例如查询服务的相关内容,启动、终止服务等。表 2 列出了 IBM Business Process Manager V7.5 提供的用于管理服务的 Rest API。
表 2. 管理服务的 Rest API
方法 | 描述 |
POST /v1/service/{instanceId}?action={string}[&createTask={boolean}][&parts={string}] | 启动服务 |
GET /v1/service/{instanceId} | 获取正在运行的服务 |
GET /v1/service/{instanceId}?action={string}[&parts={string}] | 获取服务的相关内容 |
PUT /v1/service/{instanceId}?action={string} | 停止正在运行的服务 |
PUT /v1/service/{instanceId}?action={string}[&parts={string}] | 继续停止的服务 |
PUT /v1/service/{instanceId}?action={string}&script={string} | 在运行的服务实例中执行 javascript 代码片段 |
PUT /v1/service/{instanceId}?action={string}&field={string}&value={string} | 在运行的服务中设置域值 |
管理任务的 Rest API 主要负责管理任务模板、任务实例的相关内容,例如查询任务模板、任务实例的相关内容,启动、终止任务等。表 3 列出了 IBM Business Process Manager V7.5 提供的用于管理任务的 Rest API。
表 3. 管理任务的 Rest API
方法 | 描述 |
GET /v1/taskTemplate/{templateId} | 获取任务模板 |
GET /v1/taskTemplate/{templateId}/clientSettings/{type} | 获取任务模板的客户端设置 |
PUT /v1/task?action={string} | 获取或释放任务实例 |
GET /v1/task/actions?taskIDs={string}[&actions={string}] | 获取人工任务的可执行操作 |
GET /v1/task/{taskId}[?parts={string}] | 获取任务 |
PUT /v1/task/{taskId}?action={string} | 启动 / 获取 / 取消任务 |
PUT /v1/task/{taskId}?action={string}[&toMe={boolean}][&back={boolean}][&toUser={string}][&toGroup={string}][&parts={string}] | 将任务分配给用户或组 |
PUT /v1/task/{taskId}?action={string}[&dueDate={string}][&priority={string}][&parts={string}] | 更新任务的到期日或优先级 |
PUT /v1/task/{taskId}?action={string}[&parts={string}][¶ms={string}] | 完成任务 |
GET /v1/task/{taskId}/clientSettings/{type} | 获取人工任务实例的客户端设置 |
管理查询的 Rest API 主要负责管理用于查询流程实例、任务等的查询的相关内容。表 4 列出了 IBM Business Process Manager V7.5 提供的用于管理查询的 Rest API。
表 4. 管理查询的 Rest API
方法 | 描述 |
GET /v1/processes/queries[?kind={string}][&content={string}] | 获取查询流程实例的查询的列表 |
GET /v1/processes/query/{queryName}/attributes | 获取查询流程实例的查询的属性 |
GET /v1/processes/query/{queryName}[?selectedAttributes={string}][&queryFilter={string}][&sortAttributes={string}][&offset={integer}][&size={integer}] | 通过查询条件获取流程实例 |
GET /v1/processes/query/{queryName}/count[?queryFilter={string}][&offset={integer}][&size={integer}] | 查询满足查询条件的流程实例 |
GET /v1/taskTemplates/queries[?kind={string}][&content={string}] | 获取查询任务模板的查询的列表 |
GET /v1/taskTemplates/query/{queryName}/attributes | 获取查询任务模板的查询的属性 |
GET /v1/taskTemplates/query/{queryName}[?interactionFilter={string}][&selectedAttributes={string}][&sortAttributes={string}][&offset={integer}][&size={integer}] | 通过查询条件获取任务模板 |
GET /v1/taskTemplates/query/{queryName}/count[?interactionFilter={string}][&offset={integer}][&size={integer}] | 查询满足查询条件的任务模板 |
GET /v1/tasks/queries[?kind={string}][&content={string}] | 获取查询任务实例的查询的列表 |
GET /v1/tasks/query/{queryName}/attributes | 获取查询任务实例的查询的属性 |
GET /v1/tasks/query/{queryName}[?selectedAttributes={string}][&interactionFilter={string}][&queryFilter={string}][&sortAttributes={string}][&offset={integer}][&size={integer}] | 通过查询条件获取任务实例 |
GET /v1/tasks/query/{queryName}/count[?interactionFilter={string}][&queryFilter={string}][&offset={integer}][&size={integer}] | 查询满足查询条件的任务实例 |
GET /v1/search/meta/{type} | 通过类型获取类型元数据 |
PUT /v1/search/query[?columns={string}][&condition={string}][&sort={string}][&secondSort={string}][&organization={string}][&saveAsName={string}] | 进行定制查询 |
GET /v1/performance/query?filter={string}[&columns={string}][&condition={string}][&sort={string}][&secondSort={string}][&onlyRollup={string}][&rollupRule={string}] | 对性能服务器进行定制查询 |
管理组织的 Rest API 主要负责管理用户、组的相关内容,例如查询用户、组的信息等。表 5 列出了 IBM Business Process Manager V7.5 提供的用于管理组织的 Rest API。
表 5. 管理组织的 Rest API
方法 | 描述 |
GET /v1/users[?filter={string}][&parts={string}] | 获取用户信息 |
GET /v1/user/{userNameOrID}[?parts={string}] | 获取用户信息 |
PUT /v1/user/{userNameOrID}?action={string}&key={string}&value={string} | 更新用户偏爱信息 |
GET /v1/groups[?filter={string}][&parts={string}] | 获取组信息 |
GET /v1/group/{groupNameOrID}[?parts={string}] | 获取组信息 |
管理其他资源的 Rest API 主要负责管理除以上几项以外的相关内容,例如查询系统的信息等。表 6 列出了 IBM Business Process Manager V7.5 提供的用于管理其他资源的 Rest API。
表 6. 管理其他资源的 Rest API
方法 | 描述 |
GET /v1/exposed | 获取对用户开放的对象 |
GET /v1/exposed/{type} | 通过类型获取对用户开放的对象 |
GET /v1/systems | 获取系统信息 |
GET /rest/bpm/wle/v1/processApps | 获取流程应用信息 |