量级
”这一概念,但是他的论文叙述的则重点是怎样构造一个“瘦客户端”。而文中设计的轻
量级工作流
miniFlow 系统架构侧重点就是充分支持了工作流技术的小型内核,可以耦合到
具体不同应用的
MIS 系统中,达到灵活应用的目的。
2 整合 MVC 的轻量级的 miniFlow 设计
miniFlow 是基于整合 MVC 架构的 Web 环境的系统,整个系统参照了 J2EE 架构,采用了
Brower/ActionServlet 控制器/BO 业务逻辑层/Hibernate DAO 层/DBMS 数据库服务层
多层的框架结构。轻量级是设计
miniFlow 系统所一直围绕的核心任务,为此,利用目前很
流行的
Struts2、Hibernate 开源框架和 Ajax 异步请求/响应技术来设计,主要采用了组件能
拔能插的特性来容易地扩展工作流管理系统的其它功能。
1.数据库服务层为工作流管理系统和业务系统通过持久层提供数据。
2.持久层用 Hibernate 进行数据库的完全封装,使软件开发者真正对数据库的操作是面
向对象的操作,完全实现了面向对象的设计思想,并且在该层进行了对通用公共方法的封
装,使整个系统都可以调用该公共的方法。在进行对方法封装时,也设置了开关控制等一些
操作,不仅提高了整个开发系统的效率,大大节约了项目的成本,也使系统开发的代码易
于维护和便于以后的升级。
3.业务逻辑层实现各种业务逻辑功能,是 miniFlow 系统的核心层。主要由工作流管理系
统和企业具体业务系统
(MIS、ERP 和 SCM 等)两部分组成。工作流引擎是工作流管理系统的
核心,其中引擎是通过引擎调度中心进行控制,该中心可以根据业务逻辑对工作流引擎进
行调用所对应的组件,组件分别由转发控制组件、任务指派组件、引擎调度规则组件等一些
可以由调度中心进行调度的组件构成;引擎是驱动流程流动的主要部件,工作流引擎主要
用来负责解释工作流流程定义、创建并初始化流程实例、控制流程流动的路径、记录流程运行
状态等工作。
4.用户客户端主要由客户层和逻辑表现层提供,不同用户因角色不同而具有不同的权限,
从而在客户端显示不同的页面操作信息,这些页面信息是由
Struts 的标签显示的,JSP 教本
在
Struts 的 ActionServlet 控制器下通过 WEB 容器的 ActionForm 表单和业务逻辑层的工作
流管理系统组件和系统业务组件进行交互工作,根据业务用户的不同需求来调用相应的工
作流管理系统组件。
3 miniFlow 系统核心架构设计
目前几乎所有的工作流产品都是重量级的,从而导致所采用的架构也是重量级的。通过一
些 研 究 和 总 结 发 现 , 目 前 的 工 作 流 管 理 系 统 中 的 大 多 功 能 几 乎 不 属 于
Workflow
Management System(WFMS)定义的概念范畴,从而导致了工作流管理系统的功能很难集成、
定制和重构到其它业务系统中。在
Claus Johanners 的“一个通用的内核对可靠过程的支持”论
文中论证了传统工作流管理系统架构没计的狭隘性。文中在设计
miniFlow 系统架构时不要
求实现工作流的所有功能,而仅足实现工作流管理系统的最小功能集合。目前大多数的企业
的业务流程几乎都是各类行政申请流程、通知流程、财务审批流程、人事处理流程及客服流程
等,这些流程一般都有严格的环节,不是随机化产生的,只要不背离这些过程化的流程环
节就可以完整地完成整个业务。文中没计的轻量级的
miniFlow 系统架构就设计了满足以上
所需的业务流程,不追求工作流管理系统功能的完备和复杂,以满足一般性业务为目的,