林国椿:SOA架构中的规则服务

日期: 2008-05-12 作者:叶江 来源:TechTarget中国

  今天演讲了主题是两个关键词,一个是SOA当中的规则服务,还有一个是规则的引擎技术。这两个是如何联系在一起的。


  首先从我们角度讲一下SOA的理想、实现的方法和问题。然后谈一下SOA的规则服务以及面临的问题,然后我们讲一下基于规则引擎技术如何来实现SOA的规则服务,解决了传统的规则服务当中的一些问题。因为规则引擎技术是独立于SOA架构的技术,他可以做的更多。



  GuoChun Lin:


  具体的来看,他提供了一些业务规则的语言,还有很多的方式提供规则,然后提供了规则库,我们把一个大的企业当中,应用和规则都保存在这里面。规则引擎和规则服务器提供了一个运行的支持接着我们需要把规则发布到服务器上。通过标准来完成对规则的使用。规则和管理,因为前面仅仅是在规则的基本落实的实现,还有基本的功能,其实现在规则他可以做的更多,他可以进行规则管理,他对规则的生命周期进行管理,对他的权限进行管理,对他的版本进行控制等等,这是业务规则的一个管理。


  从这里我们可以看到,大概直观的来了解一下。首先第一个层次是实现,第二是我可以灵活的进行配置,如果我们进一步的了解的话,我们会发现他的很多,如果那么的规则的话,他里面有很多检查的条件,个数是可以随意改变的,另外他一些检查的因素可以随便的改变,包括里面的参数、公式、操作都是可以修改的。这是传统无法做到的,还有其他的表的形式,树的形式,这种表的形式也是对银行和保险业来说非常的有用,因为他们就好象在操作Excel表一样修改他们的规则,而他和Excel不一样的是,他在修改的同时,代码也被改变了。


  他是基于自然语言的规则来实现规则。你会看到,从规则的名字来看,我们就知道他对应的是什么需求,所以从原始的需求到中间的对应是非常清楚的,首先这个业务人员可以看的懂。包括你在如果里面增加条件,或者是改变检查的要素,或者是去修改那些数字,或者是修改公式,都是可以的。所以他在灵活性上是更进了一步。


  如果从宏观的角度或者从架构来看的话,他的规则引擎技术是通过外挂式的方式,你把规则拿出来,用规则引擎技术来做,你的主体影响或者是你的应用和规则之间标准结果进行调用。其实业务规则跟以前的数据库技术也是有很大的出入,这也是解决管理的问题。这也是解决业务规则管理的问题。在BIMS这个市场,其实我们还有其他的基于.net的平台的。


  接下来我们看一下如何实现SOA的理想,前面提到业务灵敏性,因为我们知道,很多的业务,比如说我的一个  促销活动,一个审批的规则是由这些规则组成的,这个规则可视化非常好,所以我很容易修改这种么业务模式的变化。或者是新的业务可以快速的改变,在原有的业务模式的基础上完成。从我们客户应用的效果来看他的流程可以被很大的提高。


  第二是业务的灵活性,他体现在对于很多复杂的变化的需求。比如说现在可以很好的被满足。其实我们传统的参数配置的这种需求其实是比较容易实现的,通过参数的变化,通过数据库变化等等来实现。通过规则的变化,通过公式的变化,这些结构性的变化以前是很难满足的,现在你可以很容易的增加删除规则你可以对规则进行管理,可以在任何的时间地点对规则进行管理。这实现了业务的灵活性。


  第三个是降低成本,为什么可以达到这样的目的呢?因为前面提到,以前的记录修改的周期需要经过一系列的开发流程,这个流程时间是相当长的。而现在你的规则被独立出来了,你的定义和其他部分定义的非常清楚,所以你只需要修改规则,除非你要修改到接口。


  重用,现在规则服务在重用上做的更好,因为里面的逻辑非常的清楚,他接口定义的非常清楚。你给我们什么样的接口我给你什么的结果都非常的清楚。所以我们可以大胆放心的用。


  另外我们是在BPM上做,BPM随着时间的一个推移,BPM会变得非常的复杂,他的结点会越来越多,他的分支越来越多,难以管理。其实最后如果你研究一个复杂的BPM的话,其实很多是业务规则上的一些流程,通过BPM来实现,其实这并不是很好的做法。我们完全可以把业务规则上的逻辑用BRM来做。达到一种BPM负责流程,BRM负责业务的规则。我们可以通过流程的简化将中间的业务规则实现,BPM和BRM之间有一个非常容易的集成的过程。


  因为现在BPM是很重要的SOA落地的技术,通过BPM很多SOA的理想得到了一定程度的实现。所以我们BPM的主流厂商店上用的很好,很多情况下你感觉不到这是什么产品,因为现在可以实现互换集成的作用。


  我们前面提到应用,现在很显然通过这种可视化非常好的树结构,我们可以看到里面规则的意义。他在规则上也有一个平台,IT人员和业务人员看到的规则是一样的。传统的方法规则难以维护,而现在通过这种新的技术,可以提供界面非常友好的,功能强大的规则维护管理工具。这个是面对业务人员的基于规则的环境,这个是面对IT人员的环境。这个规则容易维护周期被大大的缩短了。判断BRMS是否可以实现的有一个标准是里面是否有大量的业务规则,你是否需要灵活的配置这些规则。


  现在通过BRMS你对业务规则的修改你就不需要修改代码再编译、部署一系列的过程你现在点击一下按纽就可以了,你的系统都不需要终端。


  另外就是规则的管理上,我们可以看到BRMS可以进行一个大树式的规则管理。规则的有效性管理上,他们可以根据特定的规则,生命周期管理、版本管理、权限管理等等。


  最后简单介绍一下ILOG公司,有一些朋友可能不是很了解这家公司,ILOG是世界著名的业务规则的公司以及优化技术的公司,我们的总部设在法国。现在在纳斯达克还有欧洲证券交易所上市,我们是全球200强的一家软件公司。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

作者

叶江
叶江

相关推荐