您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码:  验证码,看不清楚?请点击刷新验证码 必填



  求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Modeler   Code  
会员   
 
   
 
 
     
   
 订阅
  捐助
SPSS 与 IBM Case Manager 的业务数据集成方法
 
来源:数据仓库之路 发布于 2016-9-21
   次浏览      
 

本文介绍

SPSS 是目前广泛应用于各种领域的数据挖掘预测工具。IBM Case Manager 是一个图形化的案例管理系统,运用这个系统可简化案例管理方案的设计和构建,管理案例处理的流程。如何让 IBM Case Manager 和 SPSS 开发结合起来,让客户在传统的数据展示之外,实现深入的分析挖掘,并将其运用到医疗反欺诈的案例流程管理当中,是一件非常有意义和创新性的工作。本文着重介绍了 SPSS 和 ICM 使用 java Application 进行业务数据上的集成,以及如何使用 IBM FileNet Content Engine 、IBM Case Builder 建立 solution 并为之配置好集成环境与条件。

通过阅读本文可以让读者了解这 2 个产品的业务数据集成的概念与方法。对其在以后的集成扩展工作与行业解决方案架构设计都会有所帮助。

SPSS 概述

SPSS 是一款预测分析的系列软件,提供了统计分析、数据和文本挖掘、预测模型和决策优化等功能,能够帮助您预测变更,采取行动来提高业绩。它广泛应用于各个行业的数据发掘与预测分析工作。在本文中将用到的产品家族包括:

SPSS Collaboration and Deployment Services 可以帮助您,管理分析资产、实现过程自动化并高效且广泛而安全地共享结果。因为当开发人员和使用分析的人员可以协作时,便可以提高分析效率。

SPSS Decision Management 可自动化和优化事务决策,然后部署以持续获得最大成果。它结合了预测分析、本地规则和计分,以实时交付推荐的操作。该软件有助于指导员工和系统每次都能制定正确的业务决策。

IBM SPSS Modeler 是一种数据挖掘工作台,帮助你建立预测模型,快速、直观且无需编程。

图 1. SPSS 产品结构功能示例

SPSS 产品结构功能示例

IBM Case Manager 概述

ICM 是 ECM(企业内容管理)解决方案的一部分,可以应用于各个行业。它是 IBM 最新推出的企业级内容与流程管理解决方案产品。IBM Case Manager(V5.1)提供了一个将信息、流程和人有机统一在一起的案例全景视图,提供了优秀的方案管理平台及工具,使得业务分析人员可以设计并实现新一代的案例管理解决方案。

ICM 是一种以内容、信息、数据为依托的案例流程处理软件。业务分析师可以通过它来创建业务解决方案、设计业务流程,包括定义角色、文档类、案例类型、案例属性、任务和以“人”为中心的流程。他可以创建一个或多个流程,分成不同的人物或者角色去处理。

ICM 由核心组件和可选组件组成,其中核心组件如 Case Manager 构建器,Case Manager 客户机,FileNet P8 等,是 ICM 不可缺少的组件,用以完成方案的创建和案例的处理等功能。另外是可选的组件,如 IBM Content Analytics ,eForm,Lotus Sametime 等,除了内容管理及流程管理外,ICM 还依赖这些可选组件来实现更加成功、更加优化的案例成果。ICM 依托于 WAS,需要在 WAS 的 profile 上面进行部署,同时需要启动 application 的 server,可以用 web 的方式进行访问。

图 2. ICM 的产品结构示例

Case Manager 与 SPSS 集成背景介绍

本文以 IBM 智能分析解决方案(医疗行业反欺诈 , 浪费和滥用)为背景,SPSS 提供了预付欺诈检测模型,ICM 提供了处理欺诈流程的自适应系统。该解决方案能够使用预测模型和聪明的业务规则从最新的数据中发现可疑交易。

这个反欺诈 , 浪费和滥用的解决方案能大大降低成本在欺诈和滥用方面。它帮助客户发现可疑交易前的付款 , 减少损失 , 并推荐的方法来进行干预。

在 SPSS DM 规则中位数为 3% 和 10% 之间的所有支付的赔款是具有欺骗性的或错误的本文中将详细介绍 SPSS 模型预测出来的可疑报销是如何和 ICM 的业务流程系统数据进行交互集成的。

文章中涉及到的产品相关信息为:DB2、Websphere Application server、SPSS Modeler、SPSS Decision Management、SPSS Collaboration and Deployment Services。完整的可以正常运行的 ICM 环境的镜像(ICM VM),包括可以正常启动的 IBM Case Manager、FileNet CE、Process Engine Manager, WebSphere Application Server 、IBM Tivoli Directory Admin Server Services 等。

通过 SPSS 发布 Output Data Files

我们在这里不详细介绍业务决策的分析流程和模型测评方法,本文将主要介绍数据集成的源头到 case 触发结束。首先说明一下我们的业务数据来源:

打开我们之前建立好的 DM portal 进入指定的决策平台。我们将通过 Decision Management 的评分结果保存到数据库的表,作为我们的业务数据。在集成代码中我们将通过 Java Application 程序,从数据库中读取这些数据,并调用 ICM API。从而触发 FileNet CE 中 Document 的生成。

选择进入我们的 solution

图 3. SPSS DM 应用示例

选择 deploy 去生成我们需要的得分数据表。

图 4. SPSS DM 流程模板示例

选择立即评分生成模型运行出来的评分业务数据导表。

图 5. SPSS DM 规则制订示例

业务数据会生成到之前定义好的数据库中,表:PREDICT.DM_OUTPUT。我们还可以预览生成的前 1000 条记录。

图 6. SPSS DM 结果发布示例

这样 PREDICT.DM_OUTPUT 表中的内容即变成为了我们系统的待集成数据。数据结构如下:

图 7. DB2 表结构示例

通过 IBM FileNet Content Engine 创建 Document Class 集成规则

在这一章我们首先登录 FileNet Content Engine 创建一些配置文件,为集成的生成结果做准备条件。

使用 FileNet Enterprise Manager Administration Tool 登录 FileNet Content Engine。

图 8. FileNet P8 Tool 示例

选择 ICM Domain> Object Stores > CMTOS > Root Folder,在其下面新建一个文件夹。该文件夹命名为“SPSS Score Document”。我们生成的 Document 都将放到这个文档下面。

图 9. Content Engine Enterprise Manager 示例

图 10. 文件夹创建向导示例

选择 ICM Domain> Object Stores > CMTOS > Document Class,右键选择新建一个 class。该 Class 命名为“HFP_ClaimDetails”。我们新建的 class 的相关参数都是和 Java Application 中 conf.properties 这个配置文件相对应的。

图 11. 新建 Class 示例

图 12. Class 创建向导示例

属性名称定义,对应的表格如下:

表 1. 对应表

图 13. 属性设置示例

属性设置示例

使用 Java Application 进行 ICM 与 SPSS 的集成

我们选择 IBM Rational Application Developer 8.5 作为 IDE 进行 Java Application 应用开发。

对于连接数据库相关的 jar 包括:

db2dbgm.jar, db2jcc4.jar, db2jcc.jar, db2jcc_license_cu.jar, db2policy.jar, db2qgjava.jar, db2umplugin.jar

我们调用 ICM API 需要用到相关的 jar 包括:

AjaxProxy.jar, Common.jar, commons-codec-1.3.jar, commons-httpclient-3.1.jar, commons-logging-1.0.4.jar, j2ee.jar, Jace.jar, log4j.jar, stax-api.jar, xlxpScanner.jar, xlxpScannerUtils.jar

下面列举了调用 DB2 读取数据的方法,我们从 properties.conf 配置文件中读取数据库的连接信息:

清单 1. 数据库连接函数示例

public static Connection createconn() { 
Connection conn = null;
try {
Class.forName(p.getProperty("className")).newInstance();
String url = p.getProperty("url");
Properties props = new Properties();
props.setProperty("user", p.getProperty("user"));
props.setProperty("password", p.getProperty("password"));
conn = DriverManager.getConnection(url, props);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (InstantiationException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return conn;
}

public static PreparedStatement prepare(Connection conn, String sql) {
PreparedStatement stat = null;
try {
stat = conn.prepareStatement(sql);
} catch (SQLException e) {
e.printStackTrace();
}
return stat;
}

清单 2. ICM API 调用函数 makeConnection 示例

// Determine the transport to use via the URI string 
String uri = null;
if (connectEjb == true)
{
// Example of EJB connection for WebLogic
uri = "t3://remotehost:7001/FileNet/Engine";
}
else
{
// Example of WSI connection for WebSphere
uri = p.getProperty("uriWsi") ;
}
UserContext uc = null;
Subject connSubject = null;
Connection conn = Factory.Connection.getConnection(uri);
if(p.getProperty("sJAASConfig") != null) {
System.setProperty("java.security.auth.login.config", p.getProperty("sJAASConfig"));
}
Subject subject = UserContext.createSubject(conn, p.getProperty("inCEUser"),
p.getProperty("cePassword"), p.getProperty("sJAASStanza"));
uc = UserContext.get();
uc.pushSubject(subject);
connSubject = subject;
// Get domain
Domain domain = Factory.Domain.fetchInstance(conn, null, null);
// Get object stores for domain
ObjectStore os = Factory.ObjectStore.fetchInstance(domain,
p.getProperty("objectStoreName"), null);

清单 3. ICM API 调用函数 createDocFromStream 示例

 //create new doc 
Document doc = Factory.Document.createInstance(os, ceClassName);
doc.getProperties().putValue("DocumentTitle", ceDocTitle);
doc.set_MimeType(mimeType);
if (propNameList != null && propNameList.length > 0) {
if (propNameList != null && propNameList.length > 0) {
putPropValues(doc.getProperties(), propNameList, propValueList);
}
//check in content
if (contentStream != null) {
ContentTransfer ctObject = Factory.ContentTransfer.createInstance();
ContentElementList contentList = Factory.ContentTransfer.createList();
ctObject.setCaptureSource(contentStream);
ctObject.set_ContentType(mimeType);
contentList.add(ctObject);
doc.set_ContentElements(contentList);
}
//save doc
doc.checkin(AutoClassify.DO_NOT_AUTO_CLASSIFY,CheckinType.MAJOR_VERSION);
doc.save(RefreshMode.REFRESH);
//file doc to folder
if (ceFolderPath != null && ceFolderPath.length() > 0) {
Folder folder = Factory.Folder.fetchInstance(os, ceFolderPath, null);
ReferentialContainmentRelationship rcr = folder.file(doc,
AutoUniqueName.AUTO_UNIQUE, ceDocTitle,
DefineSecurityParentage.DO_NOT_DEFINE_SECURITY_PARENTAGE);
rcr.save(RefreshMode.REFRESH);
}

下图是 properties.conf 的示例内容,里面配置了我们需要的所有的详细参数名称与参数值。

清单 4. 参数设置示例

 #db in spss environment 
className=com.ibm.db2.jcc.DB2Driver
url=jdbc:db2://127.0.0.1:50000/FSP
user=db2admin
password=db2admin

#sql in used,keep default
sql=(SELECT * FROM PREDICT.DM_OUTPUT) fetch first 10 rows only

#configuration for CE
uriWsi=http://127.0.0.1:9080/wsi/FNCEWS40MTOM
sJAASStanza=FileNetP8WSI
sJAASConfig=
inCEUser=p8admin
cePassword=filenet
objectStoreName=CMTOS
domainName=ecmdemo
mimeType=text/plain
ceClassName=HFP_ClaimDetails
ceDocTitle=SPSS_Score_
ceFolderPath=/HealthCare/HealthCare Fraud Prevention/Claim Documents

#document properties name
caseNumber=HFP_CaseNumber
claimNumber=HFP_ClaimNumber
subjectIdentifier=HFP_SubjectIdentifier
SPSSScoreFactor=HFP_SPSSRiskFactor
FAMSCLRAScore=HFP_FAMSCLRAScore
criteria=HFP_Criteria

在 ICM 中创建 solution 并配置相关集成条件

在 ICM Case Builder 中可以导入之前建好的 solution,也可以新建一个干净的 solution 进行业务流程的配置和开发。

我们首先通过 web 的方式登录 ICM Case Builder。

图 15. logon 示例

然后选择我们建立的 solution,选择 edit 对其进行配置。

图 16. 应用方案编辑示例

选择 Document Type 这个页面,新建一个 type。这个 type 与我们之前建到 CE 里面的 Class Type 一致。我们从 Reuse Document Type 中选择后添加。

图 17. 文档类型编辑示例

再转到 Case Types 页面,新增一个 Case Type,在 Starting document type: 中选择我们刚才建好的 Document Type。保存成功后,选择 close 退回到 solution 页面,点击 test。如果 test 成功后,再选择 deploy 这样整个配置就完成了,Case 流程的第一个角色用户登录后就可以在任务栏中看到通过 Java Application 运行的结果触发生成的 case 了。

图 18. 案例类型编辑示例

图 19. 案例类型选择示例

图 20. 保存部署设置示例

 

   
次浏览       
相关文章

基于EA的数据库建模
数据流建模(EA指南)
“数据湖”:概念、特征、架构与案例
在线商城数据库系统设计 思路+效果
 
相关文档

Greenplum数据库基础培训
MySQL5.1性能优化方案
某电商数据中台架构实践
MySQL高扩展架构设计
相关课程

数据治理、数据架构及数据标准
MongoDB实战课程
并发、大容量、高性能数据库设计与优化
PostgreSQL数据库实战培训
最新活动计划
LLM大模型应用与项目构建 12-26[特惠]
QT应用开发 11-21[线上]
C++高级编程 11-27[北京]
业务建模&领域驱动设计 11-15[北京]
用户研究与用户建模 11-21[北京]
SysML和EA进行系统设计建模 11-28[北京]

MySQL索引背后的数据结构
MySQL性能调优与架构设计
SQL Server数据库备份与恢复
让数据库飞起来 10大DB2优化
oracle的临时表空间写满磁盘
数据库的跨平台设计
更多...   

并发、大容量、高性能数据库
高级数据库架构设计师
Hadoop原理与实践
Oracle 数据仓库
数据仓库和数据挖掘
Oracle数据库开发与管理

GE 区块链技术与实现培训
航天科工某子公司 Nodejs高级应用开发
中盛益华 卓越管理者必须具备的五项能力
某信息技术公司 Python培训
某博彩IT系统厂商 易用性测试与评估
中国邮储银行 测试成熟度模型集成(TMMI)
中物院 产品经理与产品管理
更多...