应用业务规则管理技术构建
灵活的BSS/OSS
何仁杰
3G不仅仅是一种新的无线技术,更是一种新的业务平台。
许多新业务将随着3G的出现而应运而生。
作为运营商,他们很难准确预知未来3G的新业务到底以何种业务策略进行运作,一切将由市场决定。
因此一个能够灵活应对策略变化的业务运营支撑系统(BSS/OSS)对运营商来讲至关重要。
经验证明,使用传统的系统开发思路和技术已无法满足运营商对灵活性的要求,业务规则管理技术作为一种经过实践考验的技术在灵活性和应对市场变化方面体现出了独特的优势。
四层结构的BSS/OSS
目前,许多BSS/OSS都实现了三层结构,即接入层(包括展现层)、应用逻辑层和数据层。
三层结构由于使用了数据库管理系统(DBMS),很好地实现了数据集中管理和数据在应用层上的共享,使新应用的添加和修改比传统方式方便了许多。
但是这种三层结构系统在灵活性方面还是存在着瓶颈,主要表现在:
1)业务规则还是驻留在程序中,无法被有效的管理。
规则无法被查询、无法被共享。
2)业务规则的实现非常复杂繁琐。
几乎很难解决规则之间的复杂关联关系(如互斥、并发、顺序、多选一等)。
3)业务规则的维护十分困难,在程序代码级上的规则维护不仅耗时,而且风险很大。
虽然有些系统使用了所谓的参数化和模板化来试图提供灵活性,但经验证明,这种方式的效果依然有限。
4)业务人员无法接触到他们的业务规则。
更无从参与业务规则的开发。
由于业务规则在BSS/OSS中是最活跃的元素,为了能够真正实现灵活性,我们必须把业务规则作为一种特殊的“对象”转移到程序之外,在一个特殊的层面,即“业务规则层”上进行管理。
这个“业务规则层”结合原来三层结构中的“接入层”、“应用层”和“数据层”就构成了四层结构的
BSS/OSS。
业务规则层与其它层的最大区别在于它完全向精通业务策略的非技术人员开放。
过去所有的开发工作都由IT人员承担;现在,通过业务规则层上提供的各种服务(Service),业务人员可以参与规则的开发和管理。
四层结构的好处不言而喻:它实现了业务规则的集中统一的控制,实现了规则的共享和复用、缩短了的业务策略的定制周期,改变了业务规则的开发方式。
这种结构使得运营商们第一次有机会能够把业务规则变化成他们的特殊资产,第一次能够自如地调整他们的运营策略。
业务规则管理系统(Business Rules Mangement System,简称BRMS)
业务规则管理(BRM)技术是实现四层结构BSS/OSS的关键技术。
它的精髓就是:把复杂的业务逻辑从程序中剥离出来,转化为特殊的“对象“,即业务规则,在程序外进行管理。
这里所说的业务规则是一种非过程化的逻辑描述。
一条业务规则仅包含条件部分和执行部分,描述的是某个条件下的执行逻辑。
例如:
如果(If)
对象之间的条件测试满足
那么(Then)
执行某些操作
[否则(Else)]
执行其它分支操作
复杂的业务逻辑往往需要多个规则通过链式推理或叠加后才能实现。
这看似复杂的规则执行过程在BRM中完全由规则引擎所代劳,规则开发者只需要关注规则本身的内容以及规则的属性(如优先级、时效期、权限级和状态等)。
实现BRM的系统就是业务规则管理系统(BRMS),一个完整BRMS至少要包括这样几个部分: 规则引擎 (Rule Engine):用于解析规则,并根据规则中的定义触发程序中的方法(Method)或操作(Operation)。
规则引擎需要开发人员通过程序接口(API)的方式嵌入在应用程序中。
业务规则可以动态地被加载到规则引擎中去。
规则库 (Rule Repository):用于存放业务规则和规则元数据(Meta Data)的地方。
一般上,BRMS 需提供一组程序接口(API)或服务(Service),用于实现对规则的分类、查询、版本控制、权限控制、测试,以及对规则的状态、时效跟踪和控制等功能。
规则库可以依托文件系统,也可以依托数据库管理系统。
规则管理工具(Rule Builder):用于管理、创建和修改业务规则的图形化工具。
除了开发人员,业务人员也可以使用这套工具实现对规则的管理、编辑和调试。
规则语言框架(Rule Language Framework):利用这个框架,开发人员可以非常方便的定制面向业务的规则语言和规则模板,以方便业务人员直接接触规则。
在四层结构的BSS/OSS中,BRMS的使用思路是:在系统中嵌入规则引擎 (Rule Engine);让规则引擎解析指定的规则包,并执行规则包中的规则;业务规则被集中保存在规则库中;开发人员和业务人员以不同的角色,通过界面工具可以登入到规则库中对规则进行编辑、修改和查询等操作,系统管理员可以使用规则工具动态部署规则到指定的规则引擎中去。
BRMS¬O业级 应 术 Gartner在它的2005¦s报 G0*******¡中指出:业务规则引擎(Business Rule Engines)是继OS技术、数据库技术之后的又一个重要的技术,它为企业的应用系统带来了极大的灵活性。
由于BSS/OSS是运营商依赖的重要系统,无论国内外用户都必然选用高性能和开放度高的商用BRMS。
据IDC 2004年的研究报告,目前全球77%的BRMS市场份额被四家国外厂商瓜分,其中BRMS的最大软件供应商是法国的ILOG公司,它的产品横跨Java、C++和.Net平台,尤其在电信领域具有很强的优势。
业务规则管理系统在BSS/OSS中的应用现状和前景
类似DBMS技术,BRMS在BSS/OSS中非常多的应用点。
只要是“规则敏感”的地方都是BRMS 的用武之地。
例如:在计费系统中,BRMS已被国内外的运营商使用在计费的话单预处理,批价,帐务等不同阶段。
在中国, BRMS首先应用在优惠和营销方面。
大客户管理和渠道管理也是BRMS的应用热点,因为这些应用领域,由于不同客户、不同区域所使用的业务规则都不相同,如果采用传统的“按需编写程序”的方式,往往会使系统开发和以后的维护成本急剧上升。
但是使用BRMS,开发商就有可能开发出一个稳定的平台,而规则可以在不改动程序的前提下按需定制。
在OSS方面,规则引擎主要使用在服务管理,网络管理方面等。
例如HP著名的OpenView Temip 就利用ILOG Rules实现了对告警的相关性分析和过滤。
一些国内的电信设备供应商和网络管理开发商也开发了不少基于规则引擎的网管系统。
总结
利用BRMS所构建的四层结构的BSS/OSS具有这样些特色:
业务规则可以被有效的管理,如规则查询、权限控制、实时部署、规则共享、版本管理等。
业务规则可以用面向业务的非技术语言表达,让运营商可以真真切切地接触到他们的规则。
业务规则的变更很少涉及到对程序代码修改,极大降低了系统维护成本、提高了系统的灵活性。
嵌入规则引擎的系统结构,由于没有了复杂的规则逻辑而变得简单清晰。
降低了开发风险和成本。