一种流程引擎平台的制作方法

文档序号:6367554阅读:213来源:国知局
专利名称:一种流程引擎平台的制作方法
技术领域
本发明属于工作流(W0RKFL0W),业务流程管理(BPM)领域,特别涉及一种流程引擎平台的设计方法和流程弓丨擎平台系统。
背景技术
工作流(Work Flow)就是工作流程的计算模型,即将工作流程中的工作如何前后组织在一起的逻辑和规则在计算机中以恰当的模型进行表示并对其实施计算。工作流要解决的主要问题是为实现某个业务目标,在多个參与者之间,利用计算机,按某种预定规则自动传递文档、信息或者任务。简单地说,工作流就是一系列相互衔接、自动进行的业务活动或任务。我们可以将整个业务过程看作是一条自动化生产线,生产线上的产品就是待审核的表单和文档。 工作流属于计算机支持的协同工作(Computer Supported Cooperative Work,CSCff)的一部分。后者是普遍地研究ー个群体如何在计算机的帮助下实现协同工作的。现有技术手段是,许多公司采用纸张表单,手工传递的方式,一级ー级审批签字,工作效率非常低下,对于统计报表功能则不能实现。

发明内容
本发明的目的正是为了克服上述现有技术存在的缺陷和不足而提供一种流程简单、实用、办公效率高、能够提升了公司核心竞争カ的流程引擎平台系统。本发明的目的是通过如下技术方案来实现的。—种流程引擎平台,本发明由流程引擎核心模块,流程引擎接ロ模块两大部分组成;
其中流程引擎核心模块又分别包括有流程虚拟机模块,流程语言模块,业务扩展模块;其中流程语言模块分别与流程虚拟机模块和业务扩展模块连接;流程语言模块和业务扩展模块又分别与流程引擎接ロ模块连接;
流程引擎接ロ模块又分别包括有webservice接ロ模块,EJB接ロ模块,其它接ロ模
块;
流程语言模块又分别包括有XPDL模块,BPDL模块,BPMN模块,其它流程语言模块;
流程引擎接ロ模块与应用系统连接。业务扩展模块为ー个以上分别并排设置的模块,即可根据需要设置多个业务扩展模块,例如业务扩展模块1,业务扩展模块2,业务扩展模块3,业务扩展模块4。流程引擎核心实现流程的执行功能,流程引擎接ロ支持和不同运行环境下的应用系统集成。其中流程引擎核心又包含流程虚拟机,流程语言模块,业务扩展模块,流程虚拟机针对不同的流程语言提供了通用的流程运行机制,流程语言模块在流程虚拟机基础上执行某种特定的流程语言编制的流程,业务扩展模块在流程语言模块基础之上针对特定的应用环境提供相应的业务逻辑。
流程引擎核心和流程接ロ模块相互独立,在这种设计下,流程引擎平台可以最大程度满足各种应用系统运行环境的需求,最大程度的支持各种运行环境下的应用系统流程虚拟机独立,独立的流程虚拟机的设计,可以实现通用的流程执行机制,支持多种流程语言的执行。
独立的流程语言模块,独立的流程语言模块设计,可以在流程虚拟机的支持下,提供多种不同的流程语言的执行功能,执行多种不同流程语言编制的流程。根据权利要求I所述的流程引擎平台,其特征在于扩展的业务模块,通过扩展的业务模块,使流程引擎平台在保持通用性,支持不同应用系统的情况下,能够针对不同的应用进行裁剪,优化,支持该种应用系统特定的业务逻辑。优化扩展的活动图流程执行模型。国内的工作流应用有很多特殊之处,例如部门会签,文件的取回与补送等等,这些特殊的需求使用通用的流程执行模型并不能很好地实现,通过优化扩展标准的活动图流程执行模型,很好地解决了这些特殊的问题。本发明采用的系统结构连接关系,辅助以相应工作流软件,使用者只需在电脑上填写有关表单,会按照定义好的流程自动往下跑,下一级审批者将会收到相关资料,并可以根据需要修改、跟踪、管理、查询、统计、打印等,大大提高了效率,实现了知识管理,提升了公司的核心竞争カ。工作流引擎是指工作流作为应用系统的一部分,并为之提供对各应用系统有决定作用的根据角色、分エ和条件的不同决定信息传递路由、内容等级等核心解决方案。ー个应用系统最关键的部分不是系统的界面,也不是和数据库之间的信息交換,而是如何根据业务逻辑开发出符合实际需要的程序逻辑并确保其稳定性、易维护性(模块化和结构化)和弹性(容易根据实际业务逻辑的变化作出程序上的变动,例如决策权的改变、组织结构的变动和由于业务方向的变化产生的全新业务逻辑等等)。Workflow引擎解决的就是这个问题如果应用程序缺乏強大的逻辑层,势必变得容易出错(信息的路由错误、死循环等等)。就好比一辆汽车,外表做得再漂亮,如果发动机有问题就只是ー个摆设。应用系统的弾性就好比引擎转速方面的性能,加速到100公里需要I个小时(业务流程发生变动需要进行半年的程序修改)还能叫好车吗?引擎动不动就熄火(程序因为逻辑的问题陷入死循环)的车还敢开吗?
为了能够让工作流引擎能够执行业务流程,需要创建业务流程模型,这个创建业务流程模型的过程称为流程建摸。目前已经有多个标准化组织致力于流程建模领域的标准化,并发布了自己的流程建模语言标准。例如工作流管理联盟(WFMC)制订的XPDL,对象管理组织(OMG)制订的BPMN,BPMN2,结构化信息标准促进组织(OASIS)制订的BPEL等,这些不同的流程建模语言之间既有共性,也有各自的侧重点。目前市场已经存在一些流程引擎平台,但这些流程引擎平台往往存在一些技术上的缺点
单一流程语言多数流程引擎平台仅能支持特定的流程建模语言,这使得该流程引擎平台的适用范围受到限制,在遇到规模较大或者复杂ー些的应用环境,需要支持多种不同的流程建模语言編制的流程吋,不能胜任。支持的应用环境有限多数流程引擎平台在架构设计上未考虑与应用集成时复杂的运行环境要求,仅支持少数几种特定的环境,如果应用系统要求的运行环境超出了流程引擎平台支持的范围,流程引擎平台就变得毫无用处。难以支持不同应用系统特殊的业务逻辑应用系统中集成流程引擎需要从两个方面来看,一方面,应用系统集成流程引擎需要的是流程引擎提供的执行业务流程的通用功能,通过流程流程引擎,应用系统可以灵活的适应业务流程的变化,另ー方面,不同的应用系统中,往往有特殊的业务逻辑,所以需要流程引擎支持这种特殊性。如果流程引擎平台在设计时未考虑这一点,将难以解决此问题。流程虚拟机通过引入流程虚拟机的概念,使整个流程引擎平台具备了通用的流程执行功能,不同的流程建模语言(如前面背景技术中所述的XPDL,BPMN, BPEL等)編制的流程都能够在此流程虚拟机之上执行,大大拓展了流程引擎的应用范围。流程虚拟机通过以下方式实现
对不同的流程建模语言进行分析之后,根据其共性,总结提炼ー套通用的流程对象模型,这个流程对象模型就是运行时内存中的流程模型,在这个流程模型基础之上,使用优化扩展后的活动图流程执行模型对其进行解释和执行,使流程引擎平台具备ー个通用的执行基础。流程建模语言执行模块在流程虚拟机之上,是针对不同流程建模语言的流程建模语言执行模块,这些模块负责将不同的流程建模语言編制的流程,解析转换为流程虚拟机提供的通用流程模型,这样不同的流程建模语言編制的流程,都能够在流程虚拟机之上执行。业务扩展模块由于应用系统千变万化,各自都有自己特殊的业务逻辑,在ー个通用的流程模型中不可能完全涵盖这些特殊之处,所以流程建模语言均支持扩展定义。流程引擎平台在架构设计上引入了业务扩展模块,允许应用系统利用流程建模语言定义特有的业务逻辑,并在运行时使用这些业务逻辑。本发明的有益效果是,流程引擎平台实现了统一,可扩展的流程执行功能,为应用系统中的业务流程提供统ー的执行平台,将应用系统中数量庞大的业务流程集中统一管理,很大程度简化了应用系统的开发和维护。同时,流程引擎平台支持业务流程的按需配置,可以根据用户的需要快速配置和调整业务流程,提供了更好的用户价值。本发明流程简单、实用、办公效率高、能够提升了公司核心竞争カ。下面结合说明书附图和具体实施方式
对本发明做进ー步的阐述。


图I为流程引擎平台整体结构图。
具体实施方案如图I所示,一种流程引擎平台,本发明由流程引擎核心模块,流程引擎接ロ模块两大部分组成;
其中流程引擎核心模块又分别包括有流程虚拟机模块,流程语言模块,业务扩展模块;其中流程语言模块分别与流程虚拟机模块和业务扩展模块连接;流程语言模块和业务 扩展模块又分别与流程引擎接ロ模块连接;
流程引擎接ロ模块又分别包括有webservice接ロ模块,EJB接ロ模块,其它接ロ模块;
流程语言模块又分别包括有XPDL模块,BPDL模块,BPMN模块,其它流程语言模块;
流程弓I擎接ロ模块与应用系统连接。业务扩展模块为ー个以上分别并排设置的模块,即可根据需要设置多个业务扩展模块,例如业务扩展模块1,业务扩展模块2,业务扩展模块3,业务扩展模块4。流程引擎核心实现流程的执行功能,流程引擎接ロ支持和不同运行环境下的应用系统集成。其中流程引擎核心又包含流程虚拟机模块,流程语言模块,业务扩展模块,流程虚拟机模块针对不同的流程语言提供了通用的流程运行机制,流程语言模块在流程虚拟机模块基础上执行某种特定的流程语言编制的流程,业务扩展模块在流程语言模块基础之上 针对特定的应用环境提供相应的业务逻辑。应用系统是任何需要使用流程引擎平台的应用程序,这些程序可以使用任意编程语言编制,在任意运行环境中执行。webservice接ロ模块这是流程引擎平台提供的webservice接ロ,任何应用系统,只要能够使用webservice技术,就能通过此接ロ调用流程引擎平台,使用流程引擎平台提供的功能。EJB接ロ模块对于运行在J2EE环境中的应用系统,需要使用EJB调用引擎平台的环境中,流程引擎平台可以提供EJB接ロ模块,供应用系统调用。流程引擎核心这是流程引擎平台提供的可配置,可扩展的流程模型执行核心引擎。包括三大部分流程虚拟机流程虚拟机提供通用的流程执行功能,一般情况下不需要做任何改动。流程语言模块流程语言模块是特定的流程建模语言的执行模块,可以支持多种流程建模语言,包括常见的XPDL,BPMN, BPEL,如果应用系统有需要,也可以定义自己的流程建模语言并扩展开发流程语言模块。业务扩展模块业务扩展模块实现特定的应用系统业务逻辑,增强了流程引擎的适应性,应用系统可根据需要扩展开发,配置多个业务扩展模块,使流程引擎平台更贴近应用系统的需求。
权利要求
1.一种流程引擎平台,其特征在干,由流程引擎核心模块,流程引擎接ロ模块两大部分组成; 其中流程引擎核心模块又分别包括有流程虚拟机模块,流程语言模块,业务扩展模块;其中流程语言模块分别与流程虚拟机模块和业务扩展模块连接;流程语言模块和业务扩展模块又分别与流程引擎接ロ模块连接; 流程引擎接ロ模块又分别包括有Webservice接ロ模块,EJB接ロ模块,其它接ロ模块; 流程语言模块又分别包括有XPDL模块,BPDL模块,BPMN模块,其它流程语言模块; 流程弓I擎接ロ模块与应用系统连接。
2.根据权利要求I所述的ー种流程引擎平台,其特征在干,业务扩展模块为ー个以上分别并排设置的模块。
全文摘要
一种流程引擎平台,本发明由流程引擎核心模块,流程引擎接口模块两大部分组成。本发明很大程度简化了应用系统的开发和维护。同时,流程引擎平台支持业务流程的按需配置,可以根据用户的需要快速配置和调整业务流程,提供了更好的用户价值。
文档编号G06F9/44GK102646236SQ20121009513
公开日2012年8月22日 申请日期2012年3月30日 优先权日2012年3月30日
发明者丁镇涛, 侯彦文, 普雄伟, 王云涛, 王航, 罗渊, 袁云昌, 赵俊辉, 陈云川, 陈园林 申请人:云南远信科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1