• 沒有找到結果。

工作流程定制模块的设计步骤

在文檔中 硕 士研 究生 学位 论 文 (頁 39-45)

工作流程 定制模块要遵照一定的设计顺序和步骤 。首先要实现 的是工作流 的 过程 定义 ,然后我们才 能在流程定义的基础上利用工作流引擎实现工作流执行服 务 , 最后结合工作流 的客户端调用 , 从而实现整个流程 的定制 。设计步骤如 图 一 所 示

工作流过程 定义

工作流执行服 务

工作流客户端 调用

工作流管理和监控

图 一 工作流程定制模块的设计步骤

下面将就每个步骤 的设计依次介绍 。

工 作 流 过 程 定义 的设 计

工作流程定义工具为用户提供一种对实际业务过程进行分析 、建模 的手段 , 并生成业务过程的可被计算机处理的形式化描述 。工作流过程模型包含 了工作流 执行服务运行该过程 的所有必需的信息,包括它启动和结束的条件 、组成 的活动 、 活动 间导航 的准则 、参与其 中的用户 、需要激活的应用程序 的指针 、需要用到 的 工作流相关数据 的定义等等 。

在工作流的建模期间需要参考组织 角色模型来获得有关组织结构和组织 内 角色 的信息 。过程定义指定完成某项活动的组织实体或角色 ,而不是定义具体人 员 。工作流执行服务负责在工作流运行环境 内将组织实体或角色映射为特定 的人 员 。

工作流程定义工具主要用于分析 、建模 、描述并记录经营过程 。它应输 出一 个 能被工作流引擎动态解释 的过程定义 。不 同的工作流产 品其建模工具输 出的格 式是不 同的 , 参考模型 中的接 口 不仅使工作流的定义阶段和运行阶段分离 , 使 用户可 以分别选择建模工具和执行产品,还可 以使不同的工作流产 品合作 ,共 同 为一个过程定义 的执行提供运行服务环境 。

工作流管理联盟针对工作流建模做 了两方面的工作

建立 了一个元模型 它用于描述一个过程模型 内各 个对象 、它们之间的关系及它们的属性 ,有利于多个工作流产品之间交换模型信 息 。

定义 了一套可 以在工作流管理系统之 间及在管理系统与建模工具之 间 交互过程模型定义的 接 口。图 一为工作流管理联盟定义 的过程元模型 。

作流定义

作 流

相 关 数 据

需要激活 的应用程序

转换条件

图 一 过程元模型

我们 的系统没有单独 设计工作流 的建模工具 , 因为 已经提供 了 一个 图形化流程设计工具 , 我们可 以用它来创建流程 的描述文件 。目前这个流程 设计 工具支 持大部分流程 功 能 , 包括 步骤 、分支和 聚合 的创建 , 它 是基 于

组件 设计 的 , 如 图 一所示 。

彝 珊 尔爵峨妙脚卿 拳绷

彝窜 诀衡扭枕 礴 翻 ‘自时鲜,护瞬

瞬 矛 劫协茸伶斑 每 众确军彝禽 墉笋角姗声翻拓, 汾苟联喊

毕 幽 铺带魄 滋 右 徽姚潇铸雄 常嵘专零熬

位 麟脸 幼 麟夔 扮 诺 澡娜冲

雀 嘴 泛匆盛跳

篡 篡 篡 翻薰 熬 熬

图 一 流程设 计 工具

通过流程设计工具我们可 以得到一个 的流程描述文件 , 这个 文件 就是工作流过程定义和工作流执行服务的数据接 口,是 的中心部分 , 它描述 了给定流程 的所有步骤 、状态 、状态 的转移 、和它所支持的方法 。

基于工作流引擎的工作流执行服务设计

我们得到工作流的过程定义之后 ,就可 以使用工作流引擎来完成工作流执行 服务 的设计 了 。工作流引擎负责激活并解释过程定义的全部或部分 ,并 同外部 的 应用程序进行交互, 完成工作流过程实例 的创建 、执行与管理 , 为工作流程 的运 行提供一个运行 时环境 。主要完成 以下功能

解释流程定义 , 生成过程实例 , 并管理其实施过程 。

依据过程定义和工作流相关数据 为过程实例 的导航提供进入和退 出的 条件 、并行或 串行执行活动 的信息 、用户信息或所需激活 的应用程序 的信息等等 。

与外部资源交互完成各项活动 。

维护工作流控制数据和工作流相关数据 这些数据包括不 同过程和活动 实例 的内部状态信息 、工作流引擎用于协调和恢复的各种检查数据和恢复 重起 信 息等 , 并 向用户传递必要 的相关数据 。

在我们 的工作流程定制模块 中, 工作流 引擎就是 , 工作流执行 服务就是在 的基础上 , 结合业务数据表 , 在程序 中调用

的核心接 口 , 从而完成工作流 的运转 。

工作流客户端调用的设计

在过程实例 的运行过程 中,有些任务需要与人为意愿相结合 , 即必须 由人工 来完成 。每一个这样的任务就被称作是一个工作项 。在工作流的实施过程 中, 每 个用户都会具有很多不同的角色 , 都会处于很多个流程实例 中, 因此 舰 为每 一个用户维护一个工作项列表 , 表示当前需要该用户处理 的所有任务 , 该用户就 是通过工作流客户端应用程序与工作流系统相交互 。

工作流客户端应用程序包含一个工作列表处理器或称为任务表处理器 ,终端 用户只能通过该处理器来访 问工作流系统 。具体地 ,终端用户通过工作流 引擎分 派给用户 的工作项列表来操纵过程实例 的继续执行 。其 中 , 工作项列表 是 由工作

列表处理器来显示给终端用户 的 。 工作列表处理器 的主要功 能如下

令 负责将工作流 引擎分配给用户的工作项显示给终端用户

令 通过定义一系列的方法供工作流执行服务调用 , 向工作项列表中添加工 作项 、从工作项列表 中删除完成的活动 、激活临时挂起 的活动等

令 提供 了工作项 的相关属 性并基 于这些属性对工作项进行排序和选 择 今 提供 了工作流 引擎相关 的状态信息

令 在执行工作项 时 , 工作列表处理器也可能直接或者 由终端用户间接调用 应用程序来完成任务

令 为了管理和监控工作流执行 的 目的, 工作列表处理器还要报告任一选 中 的工作项 中包含 的活动 的完成情况 。

我 们 系 统 中 的工 作 列 表 处 理 器 是 通 过 流 程 处 理 模 块 、客 户 端 界 面 以及 的几个主要 的数据库表来实现 的 。当执行流程 的某一步骤 时 , 流程 处理模块会调用 的 方法 , 该方法完成流程 的运转 , 并 向工 作 流 表 中添 加 或 删 除 数 据 。用 户 从 客 户 端 界 面 发 起 查 询 , 从 工 作 流 主 表

可 以得到工作流 的 和状态 , 从 当前步骤表

可 以得到用户 的当前任 务列表 , 而从历史步骤表 中可 以查询 到工作项 中活动 的完成情况 。

管理及监控工具 的设计

管理及监控工具 的功 能是对 系统 中流程实例 的状态进行监控与管理 , 它将过 程运行 中与流程分析有关 的实际数据和都存储在运行历史数据库 中 , 同时它也监 视着系统 的运行 。主要功能包括 以下几个方面

建立 、设置和优化组成工作流管理系统 的各个软件 对过程模 型进行 实例化

将过程模型 中的角色 实例化

将运行 中的过程 实例 、活动实例和数据分发到各个工作流引擎 中 启动 、挂起 、恢复和终止过程 实例

管理 正在执行 的过程 实例 并对 正常或异常退 出的过程 的历史数据进行

统计和分析 。

工作流管理系统在运行阶段提供 的一个重要 的服务就是对运行 的工作流进 行管理和监控 。管理监控工具提供给具有特定权限的人员 ,对过程实例的执行进 行监督 、控制 实时查看任务的执行状况 挂起 、中止过程实例 改变过程实例 的执行路径 对任务重新进行分派等 。也可直接调用消息管理器

,

向特定人员发 送消息 , 进行任务催办 。

管理监控器使工作流可在人为的控制之下执行 。当执行过程 中出现意外 ,导 致任务无法正常完成 ,或根据实际情况需要对任务进行调整时,人为的干预显得 尤 为重要 。

在文檔中 硕 士研 究生 学位 论 文 (頁 39-45)

相關文件