基于构件的工作流管理系统研究
1 引 言
目前,工作流技术被越来越多的用来支持实现企业业务管理系统的开发较之传统应用软件系统有较高的灵活性。近年来,对工作流的研究也是一个热点。
2 工作流管理系统的构件化设计
2.1 工作流管理系统的结构框架
各种不同类型的系统各有其不同的特点,例如所运行的环境,所使用的领城等都各不相同。对干一个大的机构而言,一种WfMS可能并不满足某个复杂的业务过程中所有环节的需要。同时不同的机构会选择不同的产品去满足其业务管理的要求。这些应用上的特点要求各种不同类型的WfMS应该能够实现互连和互操作,以便他们能够被纳入到一个统一的框架之中,在不同的位置与领域发挥其各自的优势与作用。因此,不论是从用户的角度来讲,还是从开发者的角度来讲,都迫切需要一个大家都共同遵守的标准。工作流管理联盟(WfMC)提出了一个工作流管理系统的参考模型,作为工作流的标准。该模型讲工作流管理系统分为过程定义工具、工作流执行服务、客户应用程序,被调应用程序,管理及监控工具五个组成部分,各个组成部分之间通过接口进行交互。结合“面向公、检.法、司的信息领域”的这种领域特点,在WfMC的WfMS参考模型的基础上,我们提出基于构件的,面向公、检、法、司的工作流管理系统的结构框架。
2.2 工作流引擎构件
工作流引擎是工作流管理系统的核心。它为流程实例提供运行时的执行环境,主要完成解释业务流程定义、响应客户端请求以及推动流程实例运行等功能。在结构上,可以将工作流引擎划分为三个模块,分别为交互接口模块,工作流分析工具、工作流执行服务器。
为了保证工作流引擎完成系统的调度功能,引拿必须解决四个向题:①解析客户端的请求,引擎必须知道发送请求的时那个活动;②如何将工作流实例和工作优定义关联起来;③同一流程的多个实例如何区分;④与业务流程和控制过程相关的数据如何维护。为此,我们设计了工作流引擎的构件化模型。
该构件封装了对工作流实例以及工作流相关数据的所有操作,是一个方法的集合,对外提供接口。其中IWorkflowUser是定义用户可使用的工作流方法的接口,IWorkflow是定义工作流实例操作的接口,IWfTemplateNode是定义工作流结点操作的接口。IWfTemplate是义工作流模板操作的接口,这些接口的方跳分别在WorkflowUser DAO,WorkflowDAO,WfTemplateNode DAO,WfTemplateDAO四个类中其体实现。其中,lworkflowUser封装的方法主要有getCurrentStepsByUser()获得用户的工作任务列表;doNextAction()完成当前步骤后,保存当前步骤的数据,同时初始化下一个步骤;doBackAction()定义进行退回操作的方法;getCurrentEntry()获得当前的某个工作流实例对象等。lworkflow封装的方法主要有Initialize()初始化一个工作流,创建流程实例;addWfEntryStep()向当前进行的工作流实例库擂入数据;addWfOldEntryStep()向工作流实例历史记录库播入数据;getCurrentStep Byuser()获得用户的工作任务列表等等。这些方法作的工作主要是对工作任务库的维护、对工作流实例库的维护,对工作流实例的历史记录库的维护、产生任务列表、初始化工作流实例,分配任务给用户。
2.3 流程定义构件
流程定义,也称为过程定义,是一种规则规定了活动的执行顺序。庆程定义构件由四个子构件构成,分别为活动结点管理子构件、连接器管理子构件、工作流摸板管理子构件、操作按钮管理子构件。
活动结点管理子构件封装了活动结点的属性以及对活动结点属性的操作。在一个业务过程中,把一个活动结点称为一个步骤。由于我们研究的是“面向公、检、法,司的信息领域”,所应用的业务流程都是由表单驱动的。针对这利顺域特性我们把一个步骤定义为一个多元组Node=(Tid,Sid,N,P,SL,HI,A,HT,HS,BS,BT)。其中Tid是活动结点所属的模板id;Sid是活动结点的标识;N定义步骤名称;P定义步骤页面。
SL={sign,nosign}定义步骤类型,HI={display,nodisplay}定义是否显示历史意见,其A={archive,noarchive}定义是否归档,archive定义结点的归档属性,HT={user,depart,initiator,chooser}定义处理者类型,HS={alone,all}定义步骤的处理策略,其中,alone表示独立处理;all表示所有人处理,这是针对会签特性的步骤设置的属性,HS与HT是关联处理的。BS={back,noback{定义退回策略,BT={bi︱bi=1,2…i…, n , i∈N,且n≤len}司定义退回类型,len为业务过程的活动数。
模板管理子构件封装了工作流模板的属性和对属性的操作。工作流模板是工作流业务过程的一个逻辑表示。工作流模板Template定义为一个三元组(Tid,Tname,V),其中,T记是工作流模板的标识,Tname是工作流模板的名称,V是工作洗模板的版本号。当摸板变更时,工作流引攀通过解析V,实现工作流实例从老版本流程向新本版流程迁移。讨论了工作流管理系统的流程柔性动态变更的问题,提出了当模型版本变更时,如何实现工作流实例迁移的解决策略。
连接器管理子构件封装了连接器的属性和对连接器属性的操作。文章讨论的流程定义构件是一个可视化的定义工具.业务过程是通过图形化的结点序列构成的,结点之间通过连线连接,而连接器Linker就是结点间连线的逻辑表示。连接器Linker定义为一个五元组(Tid,Lid,Sid,eid,lineid),其中,Tid是连接器所在流程的模板标识;Lid是连接器标识,唯一确定一个连接器;aid是Linker所连接的起点步骤的标识;eid是Linker所连接的后续步骤的标识,lineid是Linker对应的实际连线的标识。例如:Linker(1,1,2,3,1)表示连接器1属于模板1,在界面上它的实际连线时线段1,它连接两个结点,前端结点是Node2,后继结点是Node3,Node2≤Node3,≤表示偏序。
2.4 业务流程管理构件
业务流程管理构件主要实现用户视图管理,业务数据管理,业务逻辑管理。业务流程管理构件由四个子构件集成而成,分别为表单定义子构件、表单样式管理子构件、表单跳转控制子构件、业务数据管理子构件。
表单定义子构件是实现业务逻辑视图化的一个工具。当系统定义一个新的业务流程时,需要为这个流程产生用户视图,也就是产生表单。表单定义子构件的输入是业务逻辑需求.轴出是符合需求的表单,处理过程是根据业务逻辑需求,由用户输入相关属性,系统根据属性集,在业务流程数据库生成相应的数据库表,然后生成一个没有经过效果加工的粗糙的页面表单,表单上的每个元素都对应业务流程的一个需求项。
表单样式晋理子构件是实现粗糙页面美观化的一个工具。它的输入是表单定义子构件产生的原始表单,原始表单通过调用样式管理子构件提供的样式,对表单的字体、背景、间距、颜色等属性进行设置,从而使表单达到一定的视觉美感。
表单跳转控制子构件主要实现表单的跳转。表单跳转控制子控件servletSet={
业务 数 据 管理子构件主要是对表单的属性数据进行维护。UCSet={UC1,UC2,…,UCn}是对各个表单的属性进行操作的方法的集合。UCset维护着业务流程的业务数据库。UC的方法包括基础数据的入库、业务数据的更新,业务数据的查询(包括多个条件的组合查询)等。
3 结 语
本文从基于构件的软件开发方法出发,讨论构件化的工作流管理系统的设计。在研究过程中,还有如下问题是需要我们进一步研究的:1)业务流程的动态扩展问题,也就是业务流程管理构件的智能化即如何使计算机水平相对较低的用户能够在不需要开发人员的协助下自己根据业务需求定制符合需求的表单。2)样式的自定义与表单的预览问题。构件库里的样式再多,也不可能完全符合用户的需求,这就要求样式管理构件具有自定义功能。用户可以在已有的样式的基础上进行修改或扩展,使样式完全用户的需求。(万方数据)
- 1雷士“政治学”:揭秘吴长江回归之路
- 2数据挖掘技术在中小企业福州OA中的应用研究
- 3企业和软件,是需要相互适应的
- 4中小企业创世纪在逆境中寻求生机
- 5知识管理系统同文档管理系统的区别
- 6深度挖掘让ERP销售数据找到市场感觉
- 7ERP热门:深入中小企业为何常瘫痪?
- 8办公OA实施中遇到的阻力及处理方案
- 9微信OA办公系统未来的前景分析
- 10迅雷的窘境:投资方或撤离 缺钱拟寻资本注入
- 11八百客助力教育培训行业成功实施CRM
- 12福州OA成功实施必不可少的两个“简单”经验
- 13下一代数据中心专注业务集中与数据集中
- 14星巴克中美价差最高八成多 销售快过期咖啡豆
- 15致命错误 非理性扩展影响SOA架构
- 16SOA与云计算结合 推动企业发展
- 17农心方便面被指含致癌物 涉案商品仍在销售
- 18简述电子商务对运输物流和供应链的影响
- 19据调查显示亚太地区SOA实施呈增加趋势
- 20CIO如何看微软“先养鱼后收网”策略
- 21概念解析:数据仓库与数据集市
- 22试分析SOA采用率缘何下降?
- 23SOA更多体现在理念指导的方面
- 24加强绩效考核 破解企业信息化不等式
- 25SOA标准发展混乱 国内业务缺少经验
- 26重梳思路 系统安全呼唤协同防护
- 27双汇集团:资产“转”出高收益率
- 28SaaS在国内抓住“长尾”需特殊商业模式
- 29B2C电子商务是否在偏离轨道?
- 30把握五大黄金原则 做聪明购房人买房不怕涨