当前所在位置: 首页 >工作流专区>正文

返回列表页

基于SOA的工作流管理系统EleFlow的实现

时间:2013-04-24分类栏目:bpr作者:佚名

工作流引擎作为工作流管理系统的核心部分,提供对系统有决定作用的根据角色、分工和条件的不同决定信息传递路由、内容等级等核心解决方案。如果一个工作流系统缺乏功能强大的引擎,势必变得容易出错。在前面设计的基础上,对系统工作流引擎与系统的具体实现进行了设计。该引擎可以划分为几个模块,这些模块涵盖了引擎的使用、配置、流程定义、查询和运行时等方面内容,通过这些模块可以对整个系统进行调度和资源协调。其中,包括对工作流引擎核心模块、工作流引擎配置模块、工作流引擎定义模块、工作流引擎异常处理模块、工作流引擎的数据库结构进行了设计。

  WorkflowModule模块是引擎的核心,用户与工作流系统的大部分交互内容都在这部分模块内实现,它定义了最常用的接口、类和异常。Workflow接口是一个最基本的接口,通过与它交互,用户几乎可以完全使用EleFlow的功能,包括工作流调度和查询、工作流定义管理和设置工作流配置信息等。ConfigModule模块是工作流引擎配置模块,与EleFlow的配置相关,定义了一个类DefaultConfiguration,这个类实现了Configuration接口。LoaderModule模块是工作流引擎定义模块,与工作流定义密切相关,包含了与工作流定义中对应元素的实现类,如果在工作流引擎运行时需要了解指定的动作、步骤的状态、名字等信息时,这些元素的描述会起到很大作用。ExceptionModule模块负责处理工作流引擎的异常。工作流的错误包含两种错误:一是流程错误,如活动的执行者不存在,活动的应用程序定义错误等;二是系统的错误,如网络不通,数据库系统异常。对于工作流引擎控制器来说,前类异常属于无法处理的错误,只能通知错误的存在;后者是工作流引擎控制器可以处理的错误,工作流引擎控制器可以进行容错处理,例如:在数据库恢复后自动重新建立连接。执行机对可能出现的错误进行编码,并附有对应的描述信息。工作流引擎所使用的数据表主要是用来存储引擎调用时所需的数据,包括当前步骤数据和历史步骤数据。

在EleFlow中,函数function是用来定义(引用)并执行外部的商业逻辑和服务,实现EleFlow与外部具体的应用之间交互。当系统有额外的需求和功能,例如处理"角色"、"任务分配"、"提交任务"等诸如此类的操作,就扩展function接口。

工作流管理系统对安全性要求较高,为了达到要求,必须做到充分的安全控制。访问控制的目的是保护信息资源不被未授权用户浏览或修改,从而实现数据的保密性和完整性。因此,访问控制技术对解决工作流系统安全问题起着非常重要的作用。为了实现这一目标,工作流系统访问控制机制应当能够满足两方面的需求:一是用户选择,即能够在一个活动实例被激活后选择合适的用户来完成;二是实现活动实例与用户权限的同步,当一个用户试图完成工作列表中的某项工作时,能够判断该用户是否为合法用户,为合法用户分配必要的权限,并在工作完成后收回分配的权限。

文章来源:网络
上一篇:BPR经典N法下一篇: