实战Drools规则引擎
上QQ阅读APP看书,第一时间看更新

1.4.2 远程调用模式

远程调用模式是将规则独立于应用程序之外、以Drools的规则服务器(KIE Server)方式运行并接收外部请求。规则服务器和应用程序分别运行在各自独立的Java虚拟机上,可以分别独立启动和维护,如图1-4所示。

图1-4 规则的远程调用模式

应用程序引入规则客户端的依赖,通过规则客户端向规则服务器传递所需的参数,触发规则并收取结果。外部系统可以通过应用程序定义好的协议(REST/JMS/EJB/WS-*)来访问应用程序或微服务,间接使用规则服务器,在这种情况下规则服务对外部系统来说是透明的。

外部系统也可以直接通过REST协议调用规则服务器,以实现自身的规则逻辑。此时的规则逻辑可以是与应用程序的规则逻辑不同的规则组合,规则服务器可以是多个独立的规则容器(KIE Container)。

终端用户不直接访问规则服务器,规则服务器上的规则由业务人员制定和维护,独立于具体的业务应用程序。业务人员可以灵活地调整规则,不会因为规则的变更而暂时终止业务。