面向服务体系结构中业务规则应用
本文从介绍面向服务体系结构领域中的业务规则概念出发,结合实际的应用场景,重点讲述了基于IBM业务整合旗舰产品WID和WPS如何实现业务规则逻辑的灵活应用……
1.业务规则相关概念
讲述如何在面向服务体系结构SOA中应用业务规则之前,澄清一些容易混淆的概念是有必要的。这是因为在实际的应用中,很多业务人员和IT技术人员常常把业务策略(Business Policy)和业务规则(Business Rule)等同或混淆。
业务策略(Business Policy)
其实,业务策略本身只是一种声明,通常以自然语言来编写。例如,“供应商给予金牌客户最优惠的折扣为70%。”对于有效的业务策略而言,其实现必须提供适当的实施点。
业务规则(Business Rule)
业务规则则是强制性的,并且逻辑上是可执行的;规则是实现策略实施点的有效方式。一个业务规则是指捕获和实现业务策略的手段和途径,它能执行策略、做出决策以及从已有的数据中推断出新的数据。
规则集(Rule Set)
顾名思义,规则集就是许多规则的集合。每条规则包含一个条件过滤器和多个动作。
条件过滤器(Condition)
一个条件过滤器可以包含多个过滤条件。条件过滤器是多个布尔表达式的组合,其组合结果仍然是一个布尔类型的。一个条件描述了某种动作触发时所处的情景或者状态,在后面的应用场景例子中,条件就是指客户本身的身份,如是金牌客户还是铜牌、银牌或普通客户。
动作(Action)
在程序运行时,动作将会在条件过滤器值为真的情况下执行。每一种动作都应当有其相应的条件,在后面的应用场景例子中,动作是指提供给客户什么样的折扣信息。不同的条件出现,就会有不同的动作被触发。
2.应用场景
接下来以供应链中一个常见的业务场景作为案例来讲述一下如何在SOA中应用业务规则。在我们的场景中,假定供应商能够根据请求客户的不同身份和状态,基于一定的业务规则,来决定应以什么样的折扣提供给客户。 如图2-1所示,描述了四种不同身份的客户,包括金牌客户、银牌客户、铜牌客户以及普通客户。客户在购买商品时,供应商会根据他们的身份和购买时间(节假日或正常工作日)分别给予不同的折扣, 例如:在正常工作日期间,给予金牌客户最优惠的折扣70%,给予银牌客户和铜牌客户的折扣分别是80%和90%,而普通用户则没有任何折扣;而在节假日期间为了提高销售量,做出了更加优惠的销售策略, 如金牌客户在消费金额超过5000元,折扣率可达45%,普通客户在消费金额超过1000元之后也会享受不同程度的优惠。
- 本文关键词:

