今天开始了ODM入门系列之二,在这个系列中我会讲讲规则执行服务的搭建安装,规则集的打包发布以及如何将部署之后的规则集发布为web服务,供其他服务或应用使用。
首先,我们先看一幅图:
这是我画的一张ODM各组件之间关系,其中WEB APP是我们自己的项目或应用,可以通过web服务的形式来调用RES上已经部署的RuleApp包来执行规则。
再来看一张图:
(截屏自IBM官网)
这是IBM官网上的一张介绍ODM不同组件如何交互的一张图。
从这两张图都可以看出RES在ODM整个产品中都起着一个非常重要的作用--执行规则集,这也是为什么说RES是规则引擎的原因,那么,今天我们就一起搭建一下RES服务。
ODM为我们提供了不同web容器对应的res安装服务包,你可以打开如下目录查看“{installPath}\IBM\ODM815\ODM\executionserver\applicationservers”,其中{installPath}是你ODM安装路径,在此目录下可以看到好几种web容器命名的文件夹:
在这里,我一weblogic12为例,进行安装,打开weblogic12文件夹:
这些便是一些服务安装包和资源调度安装包,其中和是必须要安装的,那这两个包是干什么的?从名字也可以看出,第一个是管理规则集包括查看、测试、修改、执行、存储等等功能的服务包,第二个可以暂且认为是资源调度的功能包。
接下来,在weblogic上新建一个domain,取名为res_domain,启动并登陆weblogic:
首先,配置数据源,点击服务→数据源:
在右侧选择“新建”→一般数据源
数据源名称一定要是“resdatasource”,JNDI名称一定为“jdbc/resdatasource”,
数据库这里我使用的是Oracle,点击下一步:
选择jdbc驱动,点击下一步:
默认不用修改,点击下一步:
填写数据库连接配置,点击下一步,
这一步可以测试是否可以连通数据库,点击“测试配置”按钮,显示“连接测试成功”,点击“完成”按钮,完成数据源的配置。
注意以下一点,给配置的数据源用户需要有如下数据库操作权限(这一点非常重要):
接下来,我们还需要做一些配置工作,配置res用户组和用户,用户组(即角色)如下表:
组名 | 说明 | 默认用户和密码 |
resAdministrators |
管理员权限 |
resAdmin resAdmin |
resDeployers | 部署、浏览、修改ruleApp,测试规则集权限 |
resDeployer resDeployer |
resMonitors | 浏览ruleApp,监控决定历史和访问决策中心报告权限 |
resMonitor resMonitor |
具体配置过程以resAdministrators为例:
1、点击“安全领域”,之后点击myrealm
2、选择“用户和组”,选择“组”:
3、点击“新建”按钮,输入名称:resAdministrators和说明:管理员组:
4、点击“OK”按钮,提示创建成功
5、以同样的方式创建另外两个组。
组创建完之后,我们需要创建用户了,用户表如下:
用户 | 密码 | 组 |
resAdmin | resAdmin1 | resAdministrators, resDeployers, resMonitors, Administrators |
resDeployer | resDeployer1 | resDeployers, resMonitors |
resMonitor | resMonitor1 | resMonitors |
创建步骤如下,以resMonitor为例:
1、如以上配置“组”一样,通过“安全领域”→“myrealm”→“用户和组”→“用户”来进入用户配置页面
2、点击“新建”按钮,填入信息:
3、点击“OK”按钮。
4、回到用户列表,点击刚才添加的“resMonitor”用户,进入用户信息配置页,点击“组”tab页:
5、在“父组”中选择“resMonitoers”添加到右侧“所选”列表中
6、点击“保存”按钮。
7、以同样的方式,按照完成用户表中所有用户的创建和配置。
组和用户都配置完毕了,接下来需要“启用匿名服务管理器”,下面是IBM官网给出的原因:
要使用Rule Execution Server与WebLogic服务器,您必须激活在WebLogic Server启用了匿名管理查询选项。此选项提供MBean API WebLogic Server MBean的只读访问。注册完整的规则执行服务器和资源mbean需要这种访问。
1、点击“res_domain”→“安全”,选择“一般信息”,勾选“启动匿名管理员查找”
2、重启weblogic
还要再做最后一个配置:“运行非管理员运行诊断”,即为“resMonitors”和“resDeployers”组的用户添加运行诊断权限,如何实现?配置“JMX Policy Editor ”,步骤如下:
1、点击“安全领域”→“myrealm”→“一般信息”,勾选“使用授权提供程序保护JMX访问”,然后重启weblogic
2、服务器重新启动之后,点击“角色和策略”选项卡,选择“领域策略”:
3、单击JMX策略编辑器
4、JMX策略编辑器页面上,检查全局作用域被选中,然后单击下一步
5、在下一个页面,检查所有的MBEAN类型被选中,点击下一步
6、在属性和操作表中,选中“操作: 调用权限”,之后点击“创建政策”按钮
7、单击添加条件,在谓词列表中选择角色,并单击下一步
8、输入Admin,并点击添加,点击下一步
9、返回编辑JMX策略编辑器页面,点击添加条件,在谓词列表中选择“组”,点击下一步
10、添加组,没有管理员权限,你允许运行诊断测试。例如,添加所有resDeployers和resMonitors组遵循这些步骤:
a、输入resDeployers,点击添加
b、输入resMonitors,点击添加
c、点击完成
显示如下:
11、点击“保存”按钮
12、重启weblogic
至此,我们终于终于完成了所有的准备配置工作,接下来,可以安装jrules-res-management-WL12.ear了,还是分步骤来说吧:
1、点击“部署”→“安装”
2、找到jrules-res-management-WL12.ear服务包,点击下一步
3、选择“将此部署安装为应用程序”,点击下一步:
4、以下步骤默认即可。
资源调度器的安装同jrules-res-management-WL12.ear一样,安装完之后查看服务情况:
接下来,访问以下看看,访问地址为:“localhost:7007/res”,登录页面如下:
使用配置的用户名来进行登录,登录进来之后的控制台页面如下:
如果,你能进入到这个界面,证明你的res基本已经安装成功了,可以对服务器进行诊断:
点击“运行诊断”,查看服务器运行情况:
查看之后,发现服务器运行正常。
好啦,这篇博文就到这了,下一篇会介绍如何将规则项目打包并发布到res服务上,并介绍如何在res上测试规则集,以及res提供的种种功能。
如果您对这篇博文有任何疑问,请留言,我会第一时间回复您!
同时,欢迎转载,惠及他人,但请注明出处,感谢!