跳转到主要内容

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

当您初次登录到 developerWorks 时,将会为您创建一份概要信息。您在 developerWorks 概要信息中选择公开的信息将公开显示给其他人,但您可以随时修改这些信息的显示状态。您的姓名(除非选择隐藏)和昵称将和您在 developerWorks 发布的内容一同显示。

所有提交的信息确保安全。

  • 关闭 [x]

当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

所有提交的信息确保安全。

  • 关闭 [x]

如何集成 IBM SPSS Decision Management 与 IBM WebSphere ILOG JRules

聂磊, 高级软件工程师, IBM
聂磊的照片
聂磊,当前在 IBM 主要负责 SPSS Decision Management 产品的设计和研发工作。
杜伟, 软件工程师, IBM
杜伟的照片
杜伟,当前在 IBM 主要负责 SPSS Decision Management 产品的设计和研发工作。
姜继东, 软件工程师, IBM
姜继东的照片
姜继东,当前在 IBM 主要负责 SPSS Decision Management 产品的测试工作。

简介: IBM SPSS Decision Management 和 ILOG JRules 都是为用户提供策略和决策服务的产品,二者的集成将在一定程度上增强 Decision Management 在业务规则方面的处理能力,并且能更好的发挥其自身的可配置和预测分析的优势,为用户提供专业的服务。本文通过介绍两者之间相互集成的过程和方式,以期用户能快速的掌握并应用 ILOG JRules 所创建的规则集到 Decision Management 的产品中进行预测分析解决实际的商业问题。

发布日期: 2011 年 12 月 29 日
级别: 中级
访问情况 : 3375 次浏览
评论: 


IBM SPSS Decision Management 简介

IBM SPSS Decision Management 使企业用户能够直接运用预测分析解决实际的商业问题。用户可以配制出针对自己客户或者特殊商业模式的应用。而这些应用都是基于以下功能模块 :

  • 可以自动生成决策的业务规则。
  • 内置的预测分析模型。
  • 使用优化和模拟来使通过以上两种方法产生的决策达到最优。

IBM WebSphere ILOG JRules BRMS 简介

IBM WebSphere ILOG JRules 是业界先进的业务规则管理系统,以其易用性、先进的规则管理功能和与 SOA 的紧密集成等特点而受到用户的青睐。它为不同的用户角色(开发人员、分析人员、业务人员等)提供了功能强大的编辑工具来管理、追踪、更改规则。本文内容将涉及 WebSphere ILOG JRules 以下两个模块 :

  • WebSphere ILOG Rule Studio:用于定义、修改、部署规则的基于 Eclipse 的开发环境。它允许合作编辑和调试 Java 代码和规则。
  • WebSphere ILOG Rule Team Server:用于定义、修改、部署规则的基于 Web 的开发环境,分布式业务团队可以通过它协作、创建、管理、验证和部署业务规则。

Decision Management 和 ILOG JRules 集成的好处

Decision Management 和 ILOG JRules 都是为用户提供策略和决策服务的产品,二者的集成将在一定程度上增强 Decision Management 在业务规则处理方面的能力,同时可以更好的结合自身的可配置和预测分析的优势,为用户提供更好的服务。

下面我们以保险业为例来描述其优越性。保险公司为了做出最好的决定,就需要确定能够管理多少风险。例如,如果一个拥有非常多理赔历史记录,最近又增加保险覆盖范围的客户 , 报告了一个新的损失,你可能要将这个理赔标记为需要特殊处理。经过更多的信息收集,这个理赔可再次打分并提供信息给理赔调解员给理赔是否可疑。

通过 Decision Management, 您可以使用业务流程所代表的关于客户,客户行为,政策和理赔的知识定义风险因素。这些风险因素为风险评估和提出建议提供了基础。

将公司的使用经验与业务规则相结合,增加了自动决策过程的准确性。业务规则与预测模型配合使用是最有效的。它通过搜索未知关系,检测可疑模型,识别新的理赔来帮助客户获得如何应对每个理赔的额外洞察力。

无限财产公司(IPACC)实施 Decision Management,并集成了基于 ILOG JRules 的业务规则,以减少周期时间,降低成本并改善客户服务。由于 IPACC 可以确定哪个司机拥有较高的事故和理赔发生率,其盈利能力取决于其欺诈性理赔的识别能力。Decision Management 将有关欺诈和代位理赔的工作流程和数据收集自动化,帮助调解员快速识别可疑个案和处理正当理赔的速度。

自从部署了该方案,IPACC 已经出现了其快速理赔 1100% 的增长,将损失理算费用从 14% 减少到 11%。它将其转介到 SIU 的时间从 14 天减少到 24 小时,可以识别和处理代位索赔减少到 10 到 15 天,而不是 26 天。这改善了它整个理赔过程的速度和准确性,是其客户更满意。

集成方式及过程

IBM SPSS Decision Management 和 IBM WebSphere ILOG JRules BRMS 是通过远程调用 Web services 的方式集成的。每一个部署的 JRules 规则都对外暴露为了一个决策服务。通过调用 JRules 规则的决策服务,Decision Management 应用可以得到和该应用数据模型相比配的返回对象,并最终的到 JRules 规则的计算结果。而具体的集成方式会有两种:第一种也使最理想的一种是:假设 Decision Management 应用和 JRules 规则是基于同一套数据建立的,这也保证了他们之间的数据差异只是格式上的差异而不是内容上的差异。本文我们将针对这种调用方式介绍 Decision Management 和 JRules 的集成。 这二种是如果 Decision Management 应用和 JRules 规则是基于两套数据建立的,这就需要在两者之间做一些相应的数据处理和转换的中间层来完成集成。关于这种集成方式,我们将在 IBM SPSS Decision Management 和 IBM WebSphere ILOG JRules 集成,第 2 部分,这篇文章里来具体讲解。

1、下载 JRules 决策服务所需的数据模型:

首先我们创建一个 SPSS Decision Management for Claims 的应用。


图 1. SPSS Decision Management for Claims 的应用界面
图 1_DM-LaunchPage

创建完成后,就进入了该应用的 Home 页面。


图 2. SPSS Decision Management for Claims 应用的 Home Page
图 2_DM-HomePage

然后,我们进入数据页面创建该应用的工程数据模型(Project Data Model)。


图 3. Data 页面
图 3_DM-DataTab

我们创建基于 Decision Management 演示工程数据文件 insurance_claim_data.txt 的工程数据模型,并将该数据命名为 insurance_claim_data。该数据文件位于 $Modeler Server installation directory$\Demos\.


图 4.Data Source 编辑框
图 4_DM-DataEditor

保存该数据之后,Decision Management 会对该数据进行数据扫描。数据扫描可以得到该数据每一个字段的数据类型和取值范围。


图 5.Data Scan 过程界面
图 5_DM-DataScan

数据扫描完成之后,会在工程数据模型区域显示该数据的所有字段以及每个字段的具体信息。


图 6.Project Data Model 创建成功界面
图 6_DM-PDM

之后我们从工具栏里点击下载元数据的图标。


图 7. 下载元数据图标
图 7_DM-DownloadMetadata

从弹出的下载元数据窗口中点击下载按钮,就可以下载基于这个工程数据模型的元数据压缩包文件。


图 8. 下载元数据对话框
图 8_DM-DownloadMetadataDialog

这个压缩包中包含一个 XSD 文件 insurance_claim_data.xsd 和一个 WSDL 文件 insurance_claim_data.wsdl。XSD 文件描述了该应用的工程数据模型。它包含了两个复杂类型 insurance_claim_data 和 insurance_claim_dataresponse 的定义。这两个复杂类型分别是该应用的请求数据类型和接受返回的数据类型。insurance_claim_dataresponse 的定义中默认包含了一个字符串类型的元素 value。如果想使用其它类型的返回值或者同时返回过个值,我们可以修改或者增加 insurance_claim_dataresponse 定义中的元素。


清单 1. 修改前 insurance_claim_dataresponse 定义中的元素
				
 <xsd:complexType name="insurance_claim_dataresponse"> 
	 <xsd:annotation> 
		 <xsd:appinfo> 
			 <dmname>insurance_claim_dataresponse</dmname> 
		 </xsd:appinfo> 
	 </xsd:annotation> 
	 <xsd:sequence> 
		 <xsd:element name="value" type="xsd:string" /> 
	 </xsd:sequence> 
 </xsd:complexType>

例如,我们需要 JRule 决策服务返回三个字段 fraud,risk_level 和 risk_points。fraud 的取值范围为“True”和“False”;risk_level 的取值范围为“Low”,“Normal”和“High”;risk_points 为一个 Long(长整型)的字段。通过对 XSD 文件的修改,我们得到下面这个能满足需求的 insurance_claim_dataresponse 定义。


清单 2. 修改后 insurance_claim_dataresponse 定义中的元素
				
 <xsd:complexType name="insurance_claim_dataresponse"> 
	 <xsd:annotation> 
		 <xsd:appinfo> 
			 <dmname>insurance_claim_dataresponse</dmname> 
		 </xsd:appinfo> 
	 </xsd:annotation> 
	 <xsd:sequence> 
		 <xsd:element name="fraud" type="xsd:String"> 
			 <xsd:simpleType> 
				 <xsd:restriction base="xsd:string"> 
					 <xsd:enumeration value="True"/> 
					 <xsd:enumeration value="False"/> 
				 </xsd:restriction> 
			 </xsd:simpleType> 
		 </xsd:element> 
		 <xsd:element name="risk_level" type="xsd:string"> 
			 <xsd:simpleType> 
				 <xsd:restriction base="xsd:string"> 
					 <xsd:enumeration value="Low"/> 
					 <xsd:enumeration value="Normal"/> 
					 <xsd:enumeration value="High"/> 
				 </xsd:restriction> 
			 </xsd:simpleType> 
		 </xsd:element> 
		 <xsd:element name="risk_points" type="xsd:long"/> 
	 </xsd:sequence> 
 </xsd:complexType>

Note:WSDL 文件提供了该应用能够调用的 Web service 的定义模板

2、创建 JRules 决策服务:

在创建 JRules 决策服务时,在上一步下载的 WSDL 文件不会被用到。我们将基于下载的 XSD 文件创建 JRules 规则。首先我们在 Rule Studio 中创建一个标准规则项目(Standard Rule Project)。


图 9. 创建 Standard Rule Project 界面
图 9_Ilog-CreateProject

给规则项目一个项目名称比如 claim_rule,点击完成。


图 10. 创建 Rule Project Name 界面
图 10_Ilog-CreateRuleName

规则项目创建完成后,在 Rule Project Map 中可以看到 claim_rule 的操作流程图。


图 11. 创建 Rule Project Map 界面
图 11_Ilog-RuleProjectMap

我们点击 Import XOM 来给 claim_rule 添加一个执行对象模型(XOM)。在 Import XOM(导入执行对象模型)窗口中选择 Dynamic Execution Object Model(动态执行对象模型)。


图 12. Import XOM 界面
图 12_Ilog-ImportXOM

在 claim_rule 属性窗口中点击 Add External XSD …(添加外部 XSD)按钮,将我们在上一步下载的 XSD 文件导入到规则项目中。这个 XSD 文件,将作为 claim_rule 规则项目的动态执行对象模型。


图 13. Add External XSD 界面
图 13_Ilog-AddExternalXSD

执行对象模型成功导入后,我们将创建业务对象模型(BOM)。在 Rule Project Map 中点击 Create BOM,来创建业务对象模型。


图 14. Create BOM 在 Rule Project Map 里的位置
图 14_Ilog-CreateBOM

在新建业务对象模型窗口中,确认选择 Create a BOM entry from a XOM(从一个执行对象模型创建一个业务对象模型)。


图 15. Create a new BOM entry 界面
图 15_Ilog-CreateBOMEntry

并在 Choose a XOM entry(选择一个执行对象模型)中选择我们刚才导入的执行对象模型。这样业务对象模型就会被成功建立。


图 16. Create a BOM entry from a XOM 界面
图 16_Ilog-CreateBOMEntry2

下来我们需要给这个规则项目定义输入和输出参数。在 Rule Project Map 中点击 Define parameters,打开规则项目 claim_rule 的属相窗口。


图 17. Define parameters 在 Rule Project Map 里的位置
图 17_Ilog-DefineParameters

我们需要在这里定义规则项目需要用到的输入和输出参数。输入参数为 XSD 中的 Insurance_claim_data 类型,输出参数为 Insurance_claim_dataresponse 类型。


图 18. Define parameters 的界面
图 18_Ilog-DefineParameters2

下面我们就可以利用创建出来的 BOM 建立相应的规则和规则集。这里我们不在详细介绍规则和规则集的创建步骤。规则和规则集创建完成后,我们可以对创建好的规则和规则集进行验证,并发布 claim_rule 这个规则项目。claim_rule 成功发布后,我们在规则执行服务器(Rule Execution Server)上,可以看到我们发布的 claim_rule。同时可以看到成功发布的规则已经创建了一个 WSDL。我们根据这个 WSDL 来调用规则项目的决策服务。

3、创建外部规则(External Rule)并在 Decision Management 中使用 :

为了能在 Decision Management 中调用调用成功发布的 JRule 决策服务,我们需要在 IBM SPSS Collaboration and Deployment Services Deployment Manager 中创建外部规则。

打开 Deployment Manager 后,我们可以在 Content Explorer 选项卡中看到 Decision Management 连接的 IBM SPSS Collaboration and Deployment Services 服务器。登录后,我们在需要创建外部规则的文件夹上单击鼠标右键,在右键菜单中单击 New --> External Rule。


图 19. Deployment Manager 里添加 Ilog Rule 的界面
图 19_PEM-AddIlogRule

在打开的创建新的外部规则窗口中,给名称字段键入一个外部规则名称,比如 claim_rule,并在 Web Service URL 字段键入 JRule 决策服务的 WSDL 地址,点击完成。这样,我们就成功创建了一个基于 JRule 决策服务的外部规则。


图 20. 基于 WSDL 的 Ilog Rule 添加界面
图 20_PEM-AddIlogRule2

现在我们可以在 Decision Management 中使用这个外部规则。在 Decision Management 中使用外部规则和使用 Decision Management 预测模型是一样的。在任何可以使用 Decision Management 预测模型的地方都可以使用外部规则。


参考资料

学习

获得产品和技术

讨论

作者简介

聂磊的照片

聂磊,当前在 IBM 主要负责 SPSS Decision Management 产品的设计和研发工作。

杜伟的照片

杜伟,当前在 IBM 主要负责 SPSS Decision Management 产品的设计和研发工作。

姜继东的照片

姜继东,当前在 IBM 主要负责 SPSS Decision Management 产品的测试工作。

关于报告滥用的帮助

报告滥用

谢谢! 此内容已经标识给管理员注意。


关于报告滥用的帮助

报告滥用

报告滥用提交失败。 请稍后重试。


developerWorks:登录


需要一个 IBM ID?
忘记 IBM ID?


忘记密码?
更改您的密码

单击提交则表示您同意developerWorks 的条款和条件。 使用条款

 


当您初次登录到 developerWorks 时,将会为您创建一份概要信息。您在 developerWorks 概要信息中选择公开的信息将公开显示给其他人,但您可以随时修改这些信息的显示状态。您的姓名(除非选择隐藏)和昵称将和您在 developerWorks 发布的内容一同显示。

请选择您的昵称:

当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

(长度在 3 至 31 个字符之间)


单击提交则表示您同意developerWorks 的条款和条件。 使用条款.

 


为本文评分

评论

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=Information Management
ArticleID=783324
ArticleTitle=如何集成 IBM SPSS Decision Management 与 IBM WebSphere ILOG JRules
publish-date=12292011

标签

Help
使用 搜索 文本框在 My developerWorks 中查找包含该标签的所有内容。

使用 滑动条 调节标签的数量。

热门标签 显示了特定专区最受欢迎的标签(例如 Java technology,Linux,WebSphere)。

我的标签 显示了特定专区您标记的标签(例如 Java technology,Linux,WebSphere)。

使用搜索文本框在 My developerWorks 中查找包含该标签的所有内容。热门标签 显示了特定专区最受欢迎的标签(例如 Java technology,Linux,WebSphere)。我的标签 显示了特定专区您标记的标签(例如 Java technology,Linux,WebSphere)。