一种轻量级状态机工作流系统实现的研究.docVIP

一种轻量级状态机工作流系统实现的研究.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一种轻量级状态机工作流系统实现的研究

一种轻量级状态机工作流系统实现的研究   摘要:针对中小型办公审批系统中普遍存在的业务规则纷繁、复杂、动态、缺乏集中管理机制等种种问题,采用Drools规则引擎技术对业务规则进行封装,从而实现集中管理。结合办公审批需求特点,设计开发了一种基于状态机的轻量级工作流系统,实现了程序与业务逻辑的分离,提高了程序的可维护性和可扩展性,将其集成到办公审批系统框架中。以科技项目管理系统为例,将该框架应用其中,实践证明该研究成果是可行的,并能应用于其它中小型办公审批系统。   关键词:规则引擎;工作流;办公审批系统;状态机;轻量级   中图分类号:TP319 文献标识码:A 文章编号文章编号2014)001006204   基金项目基金项目:重庆市教委科研项目(KJ120824)。   作者简介作者简介:张小川(1965-),男,重庆理工大学教授,研究方向为人工智能、计算机软件;何龙(1989-),男,重庆理工大学计算机科学与工程学院硕士研究生,研究方向为智能系统与智能软件。   0 引言   传统的信息系统把业务过程嵌入到应用程序的代码之中,给后期维护和升级变更带来了困难。为了创建易于更改和灵活应用的软件系统,工作流管理技术应运而生。工作流管理联盟(Workflow Management Coalition, WMC)是工作流技术的标准化组织,于1993年8月成立,其相继制定了一系列工业标准。根据其定义,工作流是一类能够完全或者部分自动执行的经营过程, 根据一系列过程规则,文档、信息或任务能够在不同的执行者之间传递、执行[1]。   在实际的应用程序开发中,工作流系统使得业务过程得以从代码中独立出来[2],并调度相关的人力或信息资源,按照预定的逻辑次序推进工作流实例的执行,实现业务过程的自动化执行,为企业业务运行提供软件支撑环境。   当前各科研机构与企业围绕工作流系统,取得了众多研究成果,比如对复杂业务过程的支持、工作流系统的柔性建模[3]等等。但是对于业务规则而言,依然存在纷繁、复杂、动态、缺乏集中管理等问题[4]。在传统办公审批系统中,业务规则通常是以硬编码的方式存在于系统中的,这就为系统的维护带来了很大的隐患,而且对于复杂系统而言,繁杂的业务规则互相缠绕,往往也会使得开发人员陷入其中,无法自拔[5]。   本文针对这一现状,结合规则引擎技术,提出了一种针对中小型办公审批系统的轻量级状态机工作流系统。在本系统中,传统的工作流模块负责宏观的工作流流程定制,规则引擎则负责微观的业务逻辑管理,实现了程序与业务逻辑的分离,具有良好的可维护性和可扩展性,同时也为其它领域工作流系统提供了一种参考方案。   1 规则引擎   规则引擎的诞生,一方面来源于人工智能研究的发展,另一方面来源于软件开发领域应对纷繁、复杂、动态的业务规则思考。   本质上,规则引擎是一种基于规则的专家系统,它将规则作为一种知识进行存储,一条业务规则通常最终可以用IF (…) THEN的谓词形式进行描述,定义了当一定业务条件满足情况下需要完成的操作处理内容[6]。在规则引擎中,业务规则通常由业务分析人员提出和修改,然后由开发人员按照一定的描述规则将其以文本的形式定义在应用程序之外。运行时,规则引擎通过接受数据输入,解释业务规则,最终根据规则做出业务决策。从这个意义上来说,规则引擎实现了业务规则与应用程序的分离,是软件方法学在“关注点分离”上的一个重要进展。   在办公审批系统中,会存在很多规则。这些规则按照功能可分为:流程型规则、访问控制型规则、公式型规则3种。   流程型规则:办公审批系统会存在众多的分支节点,除了由人工选择决定流程走向的,更多的则是系统根据当前上下文,匹配相应的流程型规则,自动决定流程走向。对流程型规则的集中管理,方便了对流程关键分支的把控。   访问控制型规则:访问控制的目标是防止非法用户的访问以及合法用户对系统资源的非法使用。访问控制方式主要有以下几种:基于受控对象的访问控制、基于角色的访问控制[7]、基于任务的访问控制以及基于任务和角色的访问控制[8]。不论采取何种方式,都会产生大量的访问控制规则。对于复杂流程而言,比如基于任务和角色的访问控制方式,数据流与控制流之间相互紧密耦合,系统维护更是异常困难。因此将访问控制规则集中管理,可以清晰地描述系统访问控制规则结构,提高系统的可维护性。   公式型规则:在系统进行数值计算的时候,经常会用到公式型规则,比如薪资计算。通常在制定公式型规则的时候,会分析企业的相关政策,然后进行公式的提取和编写。虽然公式的推导过程比较复杂,但是可以大大降低计算的难度[910]。   从提高系统开发效率的角度出发,本文将采用Drools规则引擎技术,这是由JBoss开

文档评论(0)

189****7685 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档