采用规则引擎解决业务流程频繁变动与软件维护之间的矛盾的方法

文档序号:8380735阅读:312来源:国知局
采用规则引擎解决业务流程频繁变动与软件维护之间的矛盾的方法
【技术领域】
[0001] 本发明涉及一种采用规则引擎解决业务流程频繁变动与软件维护之间的矛盾的 方法。
【背景技术】
[0002] 规则引擎由推理引擎发展而来,是一种嵌入在应用程序中的组件,实现了将业务 决策从应用程序代码中分离出来,并使用预定义的语义模块编写业务决策。接受数据输入, 解释业务规则,并根据业务规则做出业务决策。企业级管理者对企业IT系统的开发有着如 下的要求:1.为提高效率,管理流程必须自动化,即使现代商业规则异常复杂。2.市场要求 业务规则经常变化,IT系统必须依据业务规则的变化快速、低成本的更新。3.为了快速、低 成本的更新,业务人员应能直接管理IT系统中的规则,不需要程序开发人员参与。

【发明内容】

[0003] 本发明针对以上问题的提出,而研制一种采用规则引擎解决业务流程频繁变动与 软件维护之间的矛盾的方法。本发明采用的技术方案如下:
[0004] 一种采用规则引擎解决业务流程频繁变动与软件维护之间的矛盾的方法,其特征 在于包括:
[0005] 企业服务体系分为三个部分:应用程序/数据获得系统:捕获和存储应用程序提 交的所有数据,是业务服务的使用者;主要功能是提交业务请求和处理业务判定;业务服 务:通过具体实现的能调用的网络服务器或者API,调用选定的规则引擎来执行业务规则 逻辑或对业务规则逻辑进行运算,产生反馈信息和数据;同时也提供方便和有效维护业务 规则逻辑的功能;支持服务:提供业务服务使用者所提交的相关数据,即规则引擎执行业 务规则或运算业务规则所需要的相关数据或应用程序或服务接口;
[0006] 将业务规则从程序代码中分离出来,用管理数据的方式来管理业务规则,即采用 基于ECA规则的描述方法来描述业务规则,然后采用规则引擎来解释并执行这些规则;基 于ECA、面向对象的Petri网的业务流程;业务规则在快运平台中的设计。
[0007] 由于采用了上述技术方案,本发明提供的方法具有:使用方便、处理速度、技术实 现容易等特点。另外,该方法基于计算机系统的实现,只需将该方法编译成相应的程序即可 实现对现有计算机的升级,因此其成本非常低廉适于广泛推广。
【附图说明】
[0008] 图1为本发明所述方法的流程分析图。
【具体实施方式】
[0009] 如图1所示的采用规则引擎解决业务流程频繁变动与软件维护之间的矛盾的方 法,具体如下:企业服务体系分为三个部分:应用程序/数据获得系统:捕获和存储应用程 序提交的所有数据,是业务服务的使用者。主要功能是提交业务请求和处理业务判定。业 务服务:通过具体实现的可调用的网络服务器或者API,调用选定的规则引擎来执行业务 规则逻辑或对业务规则逻辑进行运算,产生反馈信息和数据。同时也提供方便和有效维护 业务规则逻辑的功能。支持服务:提供业务服务使用者所提交的相关数据,即规则引擎执行 业务规则或运算业务规则所需要的相关数据或应用程序或服务接口。
[0010] 基于业务规则的快运平台的设计,本项目将业务规则从程序代码中分离出来,用 管理数据的方式来管理业务规则,即采用基于ECA规则的描述方法来描述业务规则,然后 采用规则引擎来解释并执行这些规则。
[0011] (一)基于ECA、面向对象的Petri网的业务流程
[0012] 以受理货物业务中的制作运单、货物受理为例,用基于ECA规则的面向对象的 Petri网分析如下:
[0013] 受理货物中的制作运单,采用基于ECA规则的面向对象的Petri网分析:
[0014] 发生制作运单事件会触发的条件:(1)空白的可用运单(2)网点的有操作权限的 操作人员。满足上述两个条件时,会执行修改运单的相关状态或者是修改其他的运单相关 属性的动作。在上述的过程中,运单对象和操作员对象是两个从实际操作中抽象出来的对 象。"运单状态为空白可用状态"是运单对象的属性,"网点操作人员的操作权限"和"操作 人员是本网点的操作人员"是操作员对象的属性。
[0015] 通过此类流程的建模分析,可以很直观的进行业务规则的提取、分析。
[0016](二)业务规则在快运平台中的设计
[0017] 在应用业务规则系统后,平台的框架结构图为:
[0018] 系统体系架构结构分为四个逻辑层:
[0019] Web层一 Presentation,Web层为客户端提供对应用程序的访问。Web窗体只是用 HTML提供用户操作,而代码隐藏文件实现各种控件的事件处理。大多数企业级Java应用是 通过Web介面进行交互的,其中被广泛使用的Web表现层框架是Apache的Struts。理想的 结果是:我们写的应用可以从表现层知道它下面的应用层,而不是通过相反的方向。它的好 处在于不仅仅可以使我们将来变换其它的表现层(比如Ajax或web service界面)。
[0020] 业务外观层一Business Fafade,业务外观层主要负责管理业务流程的总体执 行。业务外观层用作隔离层,它将用户界面与各种业务功能的实现隔离开来。除了低级系 统和支持功能之外,对数据库服务器的所有调用都是通过此程序集进行的。这些业务流程 可以是长期运行的业务流程、事务业务流程以及持久业务流程。
[0021] 业务规则层一 Business Rules,业务规则层包含各种业务规则和逻辑的实现。从 业务流程中以单独实体的形式提取业务规则可更好地对系统进行分离,从而提高可维护 性。规则引擎通常是复杂逻辑(涉及实体之间的一些相互依赖性以及与顺序相关的逻辑计 算)的发源地。规则引擎可以对规则集进行并行和按顺序的评估。此外,规则能够对输入数 据和中间数据的值进行评估并确定是否应引发规则。与传统的Java过程代码相比,该层设 计提供了一个更简单、可维护性更高的解决方案。
[0022] 数据访问层一 Data Access,数据访问层为业务规则层提供数据服务。这一层是作 为业务规则系统架构中的DataAccess项目实现的。
[0023] 以上所述,仅为本发明较佳的【具体实施方式】,但本发明的保护范围并不局限于此, 任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其 发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。
【主权项】
1. 一种采用规则引擎解决业务流程频繁变动与软件维护之间的矛盾的方法,其特征在 于包括: 企业服务体系分为三个部分:应用程序/数据获得系统:捕获和存储应用程序提交的 所有数据,是业务服务的使用者;主要功能是提交业务请求和处理业务判定;业务服务:通 过具体实现的能调用的网络服务器或者API,调用选定的规则引擎来执行业务规则逻辑或 对业务规则逻辑进行运算,产生反馈信息和数据;同时也提供方便和有效维护业务规则逻 辑的功能;支持服务:提供业务服务使用者所提交的相关数据,即规则引擎执行业务规则 或运算业务规则所需要的相关数据或应用程序或服务接口; 将业务规则从程序代码中分离出来,用管理数据的方式来管理业务规则,即采用基 于ECA规则的描述方法来描述业务规则,然后采用规则引擎来解释并执行这些规则;基于 ECA、面向对象的Petri网的业务流程;业务规则在快运平台中的设计。
【专利摘要】本发明公开了一种采用规则引擎解决业务流程频繁变动与软件维护之间的矛盾的方法,包括企业服务体系分为三个部分:应用程序/数据获得系统:捕获和存储应用程序提交的所有数据,是业务服务的使用者;业务服务:通过具体实现的能调用的网络服务器或者API,调用选定的规则引擎来执行业务规则逻辑或对业务规则逻辑进行运算,产生反馈信息和数据;支持服务:提供业务服务使用者所提交的相关数据,即规则引擎执行业务规则或运算业务规则所需要的相关数据或应用程序或服务接口;将业务规则从程序代码中分离出来,用管理数据的方式来管理业务规则,然后采用规则引擎来解释并执行这些规则;基于ECA、面向对象的Petri网的业务流程;业务规则在快运平台中的设计。
【IPC分类】G06F9-44
【公开号】CN104699472
【申请号】CN201310666672
【发明人】夏铭泽
【申请人】大连灵动科技发展有限公司
【公开日】2015年6月10日
【申请日】2013年12月6日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1