background image

量级

”这一概念,但是他的论文叙述的则重点是怎样构造一个“瘦客户端”。而文中设计的轻

量级工作流

miniFlow 系统架构侧重点就是充分支持了工作流技术的小型内核,可以耦合到

具体不同应用的

MIS 系统中,达到灵活应用的目的。

整合 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 系统架构就设计了满足以上

所需的业务流程,不追求工作流管理系统功能的完备和复杂,以满足一般性业务为目的,