WfXML-R:基于 REST 的流程整合

  • Gavin Terrill
  • 徐涵

2008 年 6 月 5 日

话题:SOAREST架构

/workflows

该资源是工作流分析师最初创建的主要容器。该资源包含名称信息、作者以及其他跟工作流相关的元数据。它指向定义(definitions)及实例(instances)等其他资源。

/definitions

对于一个特定的工作流,可以有一个或多个流程定义(process definitions)被指定、载入引擎和版本化。要为工作流规定要执行的各项活动,就必须要有流程定义。流程定义本质上就是流程实例的工厂(factory)。

/processes

流程实例(process instances)执行实际的工作。它包含区分不同流程的上下文信息。一个流程实例资源只能被使用一次:它被创建,然后被启动,它可以被暂定、继续、终止。如果一切正常的话,它最终将结束。

/activities

流程实例(process instance)可以在任意时刻进入“等待某个外部活动完成”的状态。该活动(activity)代表该流程里的等待点(wait-point)。流程(process)可以等待某个人与之交互,也可以等待流程里某个自动化步骤的结果。该活动提供流程所等待事物(比方说任务承担者)的信息,以及关于“已经等待了多久”、“愿意等待多久” 的详细信息。这样的话,该活动担当的是那个远程流程的一个观察者。该活动可以提供它所等待的远程流程实例的 URL。

/traces

在执行一个特定流程的过程中,系统可以收集历史信息或有关序列路径、各个活动后的输入 / 输出、时间戳等追踪信息。

/participants

参与者执行具体的活动(activities)。他们可以是人,也可以是其他 Web 服务。

/workitems

人可以成为一个工作流里的参与者,也可以被分配任务(或活动)去执行。这些请求可以在“仓库”里排队,以便用户获取和执行。这些请求就是工作项目(workitems)。

/engine

引擎本身也许是最有访问价值的资源了。远程应用可能想查看并修改某些引擎属性。管理员可能会创建或删除一个新的引擎资源,或者获取一个运行着的引擎的列表。

/errors

引擎维护着一个运行时错误的列表,用户可以获取该列表。

SOAREST架构