2020(工作规范)2020年工作流参考手册初稿V

上传人:精****库 文档编号:134496050 上传时间:2020-06-05 格式:DOC 页数:105 大小:554.11KB
返回 下载 相关 举报
2020(工作规范)2020年工作流参考手册初稿V_第1页
第1页 / 共105页
2020(工作规范)2020年工作流参考手册初稿V_第2页
第2页 / 共105页
2020(工作规范)2020年工作流参考手册初稿V_第3页
第3页 / 共105页
2020(工作规范)2020年工作流参考手册初稿V_第4页
第4页 / 共105页
2020(工作规范)2020年工作流参考手册初稿V_第5页
第5页 / 共105页
点击查看更多>>
资源描述

《2020(工作规范)2020年工作流参考手册初稿V》由会员分享,可在线阅读,更多相关《2020(工作规范)2020年工作流参考手册初稿V(105页珍藏版)》请在金锄头文库上搜索。

1、第 1 章 总体说明 在使用 EOS WorkFlow 的过程中 无论是开发者在 开发环境 中定义业 务流程 还是 工作流引擎 控制流程流转 或是工作流参与者使用的 客户 端 再或者管理员使用的 管理与监控工具 在这期间都会贯穿 EOS Workflow 的 5 个主要对象 流程定义 活动定义 流程实例 活动实例以 及工作项 1 1 EOS 工作流开发过程简述 EOS 的工作流开发过程可以看作是一个不断迭代的过程 如下图 首先是分析需求 然后根据需求定义流程 在这个阶段最主要的工作任务 其实是设计 根据业务需求来设计流程 这个流程要怎么走 流程相关的数据 如何流动 流程的参与者如何界定 与流程

2、相关的业务数据如何流动及保存等 等 在这个阶段的工作结果是一个可以发布的流程 第一次形成的流程可能是 一个比较简单的 并不完善的版本 但是随着迭代的进行 这个流程将不断地 被修正和改进 直到形成一个能够使用的版本 接下来是流程的发布 流程发布的目的是让工作流引擎能够识别该流程 在开发环境 JBoss 下可以直接在 Studio 中发布流程 开发阶段一般用此方法 在生产环境中一般是先打包 然后在 http localhost 端口 eosmgr 中发布 流程发布后就可以执行了 流程在执行阶段叫流程实例 它有待启动 运 行 挂起 完成 结束 中止等六种状态 我们在设计及开发的过程中可能会犯一些错误

3、 从而导致发布的流程执行 不正确 或者还可能已经开发好的流程满足不了现在的需求 需要进行调整 这个时候迭代就开始了 1 2 概念说明 流程定义 描述一个完整的业务过程 它由若干活动组成 包括了流程的 基本信息 流程的开始和结束条件 组成的活动 活动间流转的规则 需要用 户执行的工作任务 工作项 可能调用的应用程序以及流程相关数据等信息 提交到流程定义库 WFProcessDefine 后会包含流程定义 ID 流程定义的唯 一标识 流程定义名称 版本号 流程定义描述以及提交时间等描述 活动定义 包含在流程定义之中 代表了一个相对独立的 逻辑的工作单 元 一个活动代表一个需要由相关资源处理 或者由

4、计算机处理的任务 其中 定义了该活动的基本信息 执行该活动的参与者 时间限制 工作项信息 触 发事件 启动策略等信息 流程实例 当流程定义提交 发布到服务器以后 就可以启动该流程 启 动时会创建流程定义的一个实例 叫流程实例 同一个流程定义可以有多个流 程实例 每一个流程实例会被保存在流程实例库 WFProcessInst 中 包括流程 实例 ID 唯一标识 流程实例名称 流程定义 ID 流程实例的状态 该实 例的启动者 启动时间 相关数据等信息 活动实例 流程实例中的每个活动称为活动实例 每一个活动实例会被保 存在活动实例库 WFActivityInst 中 包括活动实例 ID 唯一标识 活

5、动实例 的状态 所属的活动定义 ID 以及流程实例 ID 时间限制 是否超时 创建时 间等信息 工作项 表示流程实例在流转过程中为完成某个活动实例所要参与者做的 工作 一个活动实例可以对应一个或多个工作项 每个工作项会被保存在工作 项库 WFWorkItem 中 包括工作项 ID 唯一标识 参与者 ID 工作项的状 态 所属的活动实例 ID 流程实例 ID 等信息 对象间的主要关系 流程定义和活动定义是在工作流开发阶段所确定 流程实例 活动实例和 工作项则是在工作流运行阶段确定 一个流程定义由多个活动定义组成 一个流程定义可以创建多个流程实例 一个流程实例包含多个活动实例 每个活动实例可以包含

6、一个或多个工作 项 在一些特定的情况下 比如 一个活动要循环执行多次 一个活动定义会 存在多个活动实例 具体如下图所示 其他概念 工作流 工作流管理联盟 WFMC 给出的 工作流 定义是 全部或者部分 由计算机支持或自动处理的业务过程 干预过程 业务程序的自动化处理 文档 信息或者任务按照定义好的 规则在参与者间传递 来完成整个业务目标或者对整个业务目标的完成 做贡献 同时 工作流 可能由手工组织 参与者 它主要描业务流程在实例化后的运行过程中参与操作的人员 角色或组织 工作流相关数据 工作流引擎根据工作流相关数据和转换条件进行推进 工作流相关数据的属性 包括数据名称 数据类型和数据值等 它是

7、工作流引擎执行任务推进的依据 转移条件 主要负责为流程实例的推进提供导航依据 引擎根据转移条件实现流程的流转 聚合模式 指当流程中的一个活动存在多个前驱活动时 该活动产生实例的规则将根据 聚合模式 而定 聚合模式包括 全部聚合 单一聚合 多路聚合 AND XOR OR 全部聚合 模式表示只有当所有前驱活动都运行结束后才 启动该活动实例 如果存在尚未运行结束的前驱活动 则该活动处于等待状态 单一聚合 模式表示只要任何一个前驱活动运行结束 则该活动即进入运行 状态 多路聚合 模式表示满足条件的前驱活动都完成 该活动才可进入运行 状态 分支模式 当一个活动的后继活动有多个时 需要确定这些后继活动产生

8、活动实例的规则 即分支模式 分支模式包括 全部分支 单一分支 多路分支 AND XOR OR 全部分支 模式表示条件表达式计算结果为 True 的所有活动都产生活动实 例 单一分支 模式则表示从后继活动中任选一个条件表达式为 True 的 活动产生实例 单一分支 模式下需要指定一个 缺省迁移 当所有条件都 为 False 时 此缺省迁移对应的活动则会产生实例 多路分支 表示该活 动的完成会触发所有满足条件的后继活动 工作流客户端 工作流客户端是提供给用户完成工作流任务的浏览 查询 执行的界面 以及 工作流程启动的界面 EOS 工作流客户端通过 web 界面的方式提供给用户 按用户和角色取得工作

9、项 工作列表的自定义归类 工作项的签收 拒收 执行 提醒 竞争工作项的处理 图形化的启动过程 工作流管理监控工具 工作流管理监控工具是为用户提供基于 Web 方式的工作流实例的管理和监控 功能以及业务流程的管理 支持图形化工作流实例的管理 支持图形化监控过程实例的运行情况 支持图形化业务流程的管理 运行期实时数据查询 图形化再现流程运行过程 工作项的重分配 流程统计分析 工作项统计分析 1 3 相关配置说明 以下是一些有用的配置说明 关于 EOS 工作流的具体配置说明请参考附录 配置文件 wfconfig xml 工作流数据连结的配置在哪里 在 config eosconfig xml 文件中

10、的 module name workflow group name database 中 指定了工作流的包名称和 unitID 通过包名称及 unitID 就可以从 EOSEJBREGISTER 表中获得数据库连接的 DATASOURCE 和 IP 地址 带有工作流的 EOS 应用一定要采用数据源的方式 配置了数据源与连接池 且 eosconfig xml 文件中 single 值为 false 连接数据库 这样才能保证工作流 和业务系统中事务的完整性 而且工作流调度引擎需要连接池来处理对数据库 的并发控制 不能使用 JDBC 直接连接 否则在实际的使用中会出现并发控制 错误 例如 使用 EO

11、S5 0 在工作流客户端的 我的任务 待执行的工作任 务 执行一个待执行的工作项 该工作项的任务是调用一个人工活动去查一张 表 如果在 studio 中启动项目 server 功能一切正常 如果启动外部 server 这个功能有时候正常 有时候出错 出错页面的截图和详细的 log 见 附件 注 出错是不确定的 有时候连续好几次都报错 有时候连续好几次 都对 在编写工作流的业务自动机 业务逻辑 中 相关的工作流操作 如 完成工作流节点 回退 设置工作流的相关数据等操作 和外部的业务操作都 要并在一个 transaction 事务 中 工作流历史表的相关说明 EOS 数据库中存在以 WF H 开头

12、的几张表 这是工作流历史表 分别对应 了流程实例 活动项实例 工作项实例等等 业务上经常需要通过这些历史数 据进行统计分析 至于什么时候进行记录备份 帮助文档中没有提到 其实 在 EOS 系统配置文件 wfconfig xml 中 定义了历史记录备份的策略 如下 TIME BASED 0 30 5 00 第 2 章 建模过程 EOS Studio 提供了可视化的开发环境来定义工作流业务流程模型 提供串 行 分支 并行 聚合 循环 同步 子流程等丰富的流程逻辑结构 以及人 工活动 自动活动 路由活动等多种活动类型 并可对这些活动属性进行定义 如参与者类型 触发事件 子流程属性 时间限制 回退动作

13、 多工作项等 定义属性时可选择不同的数据类型 可灵活的扩展活动 可以通过表单数据为 活动节点设置动态表单 其表单数据实现了动态表单的编辑 为日常工作中表 单的定制提供了良好的设计工具 2 1 流程定义 流程定义由流程属性 活动属性 连接线三部分构成 开发者可以根据实 际中的业务需要设置流程上的基本属性 触发事件 时间限制以及流程启动者 对每一个具体的活动则可根据实际情况设定其运行的方式 参与者以及调用的 应用等信息 完成流程定义的描述后即可提交 发布 提交后的流程将生成 XML 格式的流程定义文件 存入流程定义库中 2 1 1 流程版本 版本号的产生方式如下 1 开发人员指定 版本号的格式为

14、X Y Z 其中 X 0 Y 0 99 Z 0 99 若指定的版本在流程 定义库中不存在 则按指定的版本号生成新版本 若指定的版本在流程定义库 中存在 则覆盖流程定义库中已有的版本 例如 某流程在流程定义库中存在 1 1 1 和 1 2 3 两个版本 若要提交第三个版本 开发人员指定新版本号 1 1 2 那 么该流程提交流程定义库的版本号即为 1 1 2 若指定版本号为 1 1 1 则该流程在 提交流程定义库时会覆盖原有 1 1 1 版本的流程 2 自动生成新版本 获取流程定义库中同一流程的最大版本 并在此基础上 加 1 作为当前流程 的版本号 2 1 2 触发事件 2 1 2 1 触发事件说

15、明 流程触发事件表示按照流程定义中的设置流程实例在运行到某个阶段所需 要工作流引擎做某种类型的某个动作 某个阶段 即为事件的触发时机 某种类型 即为事件类型 某个动作 即为事件的动作 触发时机 表示指定的事件动作在何时触发 EOS WorkFlow 提供了创建 动 结束 超时和提醒 5 个触发时机 创建 表示指定的事件在流程实例创建时触发 此时流程实例实际上处于 待启动 的状态 并没有合适的活动实例产生 简言之 流程实例此时只是 做好运行的准备 但未真正开始运行 例如 把田径比赛中的 110 米栏比作流 程实例 那么创建时的流程实例就相当于已站在助跑器前的运动员们等待发令 枪响的那一刻 启动

16、表示指定的事件在流程实例启动时触发 此时 流程实例已真正处 于运行状态了 流程实例已开始运行 各活动实例将会相继产生 例如 流程 实例此时的状态若比作 110 米栏 就相当于运动员们听到发令枪响冲离起跑线 的那一刻 结束 表示指定的事件在流程实例结束时触发 即流程实例中所有的活动 实例均已完成时触发 超时 表示指定的事件在流程实例超时时触发 例如 若流程的超时时间 订为 1 天 那么定义的事件将在流程实例启动时开始计时 并在 1 天之后触发 此事件 提醒 表示指定的事件在流程实例指定的提醒时间触发 例如 若流程的 提醒时间订为 1 小时 那么定义的事件将在流程实例启动时开始计时 并在超 时前 1 小时触发此事件 事件类型 标明事件动作的类型 EOS WorkFlow 提供基于 EOS 平台的 业务逻辑和运算逻辑两种类型 事件动作 由开发人员根据具体的业务需求自行定义 可以是一个运算逻辑也可以是 一个业务逻辑 2 1 2 2 触发事件设置方法 场景 在流程 启动的同时 获取指定节点信息并放入该流程实例相关数据的指 定节点下 如获取流程信息中创建者节点 WFContext WFProces

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 企业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号