使用 Web Services 整合 IBM FileNet P8 BPM 与 IBM WebSphere ILOG JRules

管理业务规则与业务过程

当前竞争激烈的业务环境要求一个组织的业务过程必须是高度动态的。一个业务必须能适应和管理快速变化的业务规则及业务过程。通过一个业务规则管理系统(BRMS),您能够从业务过程中提取出业务规则,并单独地对它们进行管理,最终实现过程合理化。本文阐述了如何整合行业领先的 BRMS 产品 IBM® WebSphere® ILOG® JRules 与综合业务过程管理系统(BPMS)产品 IBM FileNet® P8 BPM。[2010 年 11 月的更新包括以下修改:术语专家系统换成了决策服务;取消了业务规则条件检查 1 等于 1;取消了名称前加 PI 前缀;在规则包中规则组织得更好;规则流根据新的包设计进行了更新。--Ed]

Ranjeeth Pasupathi, 软件工程师, IBM

Ranjeeth Pasupathi 的照片 Ranjeeth 是 IBM India Software Labs 的一位软件开发人员。他专注于新技术、敏捷 BPM 和关系数据管理等方面。他目前的研究包括(但不限于)在 SOA 环境中的产品之间实现更丰富整合的 Web Services 技术改进。



Bharathi Anjeneya, 软件工程师, IBM

Bharathi Anjeneya 的照片 Bharathi 是 IBM India Software Lab 的 Enterprise Content Management 团队的一位软件工程师。她有 10 年的软件开发经验。她参与多个 ECM 产品研发,包括 IBM Document Manager、Content Manager OnDemand、IBM FileNet Report Manager、FileNet Enterprise Manager 和 FileNet BPM。



2011 年 2 月 21 日 (最初于 2010 年 4 月 29 日)

引言

现代软件系统设计强调使用业务规则管理系统(BRMS)管理复杂的业务和决策逻辑。这能够让您更好地管理快速变化的业务规则的需求。您可以改进您的业务过程敏捷性来提供更好的决策方法并能更好地维护您的软件系统。业务过程管理系统(BPMS)能够直接利用 BRMS 解决方案所提供的功能。查看 参考资料 中所包含的更多关于以业务为中心的 BPM 和 BRMS 联合的价值。

本文阐述了整合这两个行业领先的软件系统的必要步骤:

IBM FileNet P8 Business Process Manager
在人与系统之间管理内容及与人紧密联系过程的工作流。
IBM WebSphere ILOG JRules
通过支持实时修改业务规则而帮助组织快速修改业务决策。

这两个产品的整合方法有以下几种:

  • 规则连接框架
  • Java™ 组件整合
  • Web services

本文关注于使用 Web Services 实现这两种产品的低耦合整合。


理解先决条件

本文至少需要以下配置:

  • 安装包含 Content Engine、Process Engine 和 Application Engine 的 IBM FileNet P8 Platform Version 4.5 或以上版本
  • 安装包含 Rule Studio 和 Rule Execution Server 的 IBM WebSphere ILOG JRules Version 7.0 或以上版本

以下其他有用的条件:

  • 熟悉 Eclipse
  • 具有使用 IBM FileNet P8 Process Designer 的基本经验

在本文中,使用 IBM FileNet P8 Version 4.5.1 与 IBM WebSphere ILOG JRules Version 7.0.2 整合。


探讨医疗保险的用例

第一个例子描述的是一个保险承保过程,它利用 BRMS 进行直接处理。BRMS 负责处理一般任务,包括检查健康等级、检查 BMI 和计算客户保险费。联合使用 Filenet 和 BRMS 可实现流程编制和自动化的决策制定,从而自动化最小风险应用程序的登记。而保险人员只使用人工任务处理 Filenet 中复杂的应用程序。

示例场景的保险处理工作流是由一个系统步骤组成的,它调用一个决策服务进行直接处理,以保持场景简单并重点关注使用 BRMS 进行技术整合。处理流程中的一些主要步骤,包括验证客户输入、计算客户健康登记、计算保险费,在 Filenet 中可以设置为调用不同决策的独立步骤。

自动核保的决策服务是用 JRules 中的规则实现的。其中有两个人工任务要根据情况进行判断。如果决策服务不接受政策要求(返回 false),工作流就转发到人工承保进行评估。可以自动发送电子邮件通知,但是为了简化这个实现,在示例场景中设计一个人工任务。图 1 显示这个处理工作流。

图 1. 医疗保险用例图
向 iLOG JRules 发送政策请求。如果不是直通结构的,则转到是否接受政策判断。如果是,则电子邮件通知。如果不是,转到人工处理。

设计业务规则

WebSphere ILOG JRules Rule Studio 是用来创建规则项目的 Eclipse 插件。要创建一个新的规则,我们需要完成以下步骤:

  1. 选择 Program Files > IBM WebSphere ILOG JRules V7.0.2 > Rule Studio 打开 Rule Studio。
  2. 单击 File > New > Rule Project,如图 2 所示。
图 2. 使用 Rule Studio 创建一个新的规则项目
显示创建一个新规则项目的下拉菜单
  1. 选择 Standard Rule Project 并输入一个正确的项目名称。
  2. 保留项目的默认设置,然后单击 Finish

Rule Studio 底部的规则项目图可以指导您由规则项目定义进行 RuleApp 部署。

创建 XOM 和 BOM

在 ILOG JRules 中创建的规则是针对一个 Executable Object Model (XOM) 运行的,它引用了应用对象和外部应用数据。XOM 是 Business Object Model (BOM) 的基本实现。BOM 是对应于所写规则的模型。您可以从零开始创建一个 BOM,您也可以通过解析您的执行对象模型(XOM)自动创建 BOM。本文阐述了如何使用以下步骤从一个 XOM 创建一个 BOM。JRules 可以使您能够从 Java 对象或 XML 创建 XOM。本文使用的是一个动态 XML XOM。

  1. 将下面的 FileNet XSDs 保存到您的本地硬盘:http://www.wfmc.org/standards/docs/TC-1025_bpmnxpdl_24.xsdhttp://www.wfmc.org/standards/docs/TC-1025_schema_10_xpdl.xsd。文件 bpmnxpdl_24.xsd 引用文件 schema_10_xpdl.xsd file 作为它的模式定义。
  2. 编辑 bpmnxpdl_24.xsd 文件,然后将属性 http://www.wfmc.org/standards/docs/TC-1025_schema_10_xpdl.xsd 修改为 [localpath]/[filename]
  3. 从规则项目图中选择 Import XOM
  4. 在 XOM 选择窗口选择 Dynamic Execution Object Model (XSD or WSDL)
  5. 单击 Add External XSD,如图 3 所示。
图 3. 创建 XOM
截图:按钮高亮显示的 Dynamic Execution Object Model
  1. 选择 FileNet XSD(bpmnxpdl_24.xsd),然后单击 Finish。这样会为规则项目创建 XOM。
  2. 单击规则项目图的 Create BOM 链接,然后为 BOM 设置名称。
  3. 保证选中 Create a BOM entry from a XOM,然后单击 Next
  4. 单击 Browse XOM,选择惟一可用的 XOM,然后单击 OK。这样就可以看到可用的记录,如图 4 所示。
图 4. 创建 BOM
截图:高亮显示的新 BOM Entry 和高亮显示的 org.wfmc._2002.xpdl1_0
  1. 选择第一个记录,然后单击 Finish。您可能在创建 BOM 时会遇到一些错误,这是因为 XOM 有几个成员名称相同。
  2. 单击每一个错误,然后在默认说明后加上数字后缀,修正这些错误。
  3. 保存规则项目。然后错误应该就会消失。

创建所需要的参数

业务规则按照一组称为 parameters 的对象发挥作用,这些对象代表规则服务的接口。按照以下步骤创建参数:

  1. 单击规则项目图中的 Define parameters
  2. 保证参数的方向选择遵循设计。
  3. 保存例子使用的变量名、类型和说明,包括本文所使用的变量。如表 1 所示。
表 1. 例子的重要变量
名称类型方向说明
heightjava.lang.FloatINHeight
weightjava.lang.FloatINWeight
genderjava.lang.StringINGender
dobjava.util.DateINDate of Birth
maritalStatusjava.lang.StringINMarital Status
empStatusjava.lang.StringINEmployment Status
monthlyIncomejava.lang.DoubleINMonthly Income
reqCoveragejava.lang.DoubleINRequested Coverage
insurRejectedjava.lang.BooleanINInsurance Rejected in 5 years
empInsurancejava.lang.BooleanINApplicant has Employer provided Insurance
otherInsurancejava.lang.BooleanINApplicant has other Insurance
hasAIDSjava.lang.BooleanINApplicant has AIDS
isAlcoholicjava.lang.BooleanINApplicant is Alcoholic
hasCancerjava.lang.BooleanINApplicant has Cancer
hasKidneyStonesjava.lang.BooleanINApplicant has Kidney Stones
hasTumorjava.lang.BooleanINApplicant has Tumor
hasHiBPjava.lang.BooleanINApplicant has High Blood Pressure
hasDiabetesjava.lang.BooleanINApplicant has Diabetes
bmijava.lang.FloatIN_OUTBody Mass index
bmiResultjava.lang.StringIN_OUTBMI Result
insuranceAcceptedjava.lang.BooleanOUTInsurance Accepted
aidsRatingjava.lang.IntegerIN_OUTAIDS Rating
cancerRatingjava.lang.IntegerIN_OUTCancer Rating
alcoholicRatingjava.lang.IntegerIN_OUTAlcoholic Rating
kidneyStonesRatingjava.lang.IntegerIN_OUTKidney Stones Rating
tumorRatingjava.lang.IntegerIN_OUTTumor Rating
diabetesRatingjava.lang.IntegerIN_OUTDiabetes Rating
hiBPRatingjava.lang.IntegerIN_OUTHigh BP Rating
healthRatingjava.lang.IntegerIN_OUTHealth Rating

创建规则包

规则集是以包组织的,每一个包都包含一组规则。要创建一个新的规则包,在规则项目图单击 Add rule package,然后设置一个正确的名称。按照顺序添加以下三个规则包:

  1. Initialize:初始化业务规则中用到的参数
  2. Calculate:计算 BMI 和健康等级
  3. Verify:用于自动承保的实际业务规则

创建所需要的业务规则

每一个业务规则都是由一组条件和一组语句构成的。条件和语句会根据规则项目所定义的参数起作用。要创建一个业务规则,需要完成以下步骤:

  1. 单击 File > New > Business Rule,然后设置一个正确的名称。
  2. 选择希望在其中创建规则的包。
  3. 单击 Finish。然后代码编辑器就会显示,您可以在上面编辑规则。
  4. 在 Verify 包下,在代码编辑器上创建一个规则,如清单 1 所示,这样如果一个患者的 BMI 结果是 ObeseUnderweight,Insurance Accepted 条件将被设置为 false
清单 1. 检查体重指数的规则
if
     'BMI Result' is "Obese"
     or 'BMI Result' is "Underweight"
then
     set 'Insurance Accepted' to false ;
  1. 在 Verify 包下,在代码编辑器上创建一个规则,如清单 2 所示,这样如果一个患者的健康等级超过 60,Accept The Insurance 条件就会被设置为 false
清单 2. 验证一个可接受的分健康等级的规则
if
     'Health Rating' is more than 60
then
     set 'Insurance Accepted' to false ;
  1. 在 Verify 包下,在代码编辑器中创建一个规则,如清单 3 所示,这样如果过去 5 年曾经有保险被拒绝,那么 Accept The Insurance 条件会被设置为 false
清单 3. 检查保险在过去 5 年是否被拒绝的规则
if
     'Insurance Rejected in 5 years' is true
 then
     set 'Insurance Accepted' to false ;
  1. 在 Initialize 包下,在代码编辑器中创建规则初始化参数,如清单 4 所示。
清单 4. 初始化输入变量
then
    set 'Insurance Accepted' to true ;
    set 'AIDS Rating' to 100 ;
    set 'Cancer Rating' to 90 ;
    set 'Tumor Rating' to 80 ;
    set 'Kidney Stones Rating' to 70 ;
    set 'Diabetes Rating' to 60 ;
    set 'Alcoholic Rating' to 50 ;
    set 'High BP Rating' to 40 ;
    set 'Body Mass index' to Weight / ( Height * Height ) ;
    set 'Health Rating' to 0;
  1. 在 Calculate 包下,逐个创建规则,并设置正确的名称,如清单 5-11 所示,计算不同疾病的健康等级。
清单 5. 如果申请者有 AIDS,加入健康等级
if
    'Applicant has AIDS'
then
    set 'Health Rating' to 'Health Rating' + 'AIDS Rating' ;
清单 6. 如果申请者酗酒,加入健康等级
if
    'Applicant is Alcoholic' 
then
    set 'Health Rating' to 'Health Rating' + 'Alcoholic Rating' ;
清单 7. 如果申请者有癌症,加入健康等级
if
    'Applicant has Cancer' 
then
    set 'Health Rating' to 'Health Rating' + 'Cancer Rating' ;
清单 8. 如果申请者有肿瘤,加入健康等级
if
    'Applicant has Tumor' 
then
    set 'Health Rating' to 'Health Rating' + 'Tumor Rating' ;
清单 9. 如果申请者酗酒,加入健康等级
if
    'Applicant has Kidney Stones' 
then
    set 'Health Rating' to 'Health Rating' + 'Kidney Stones Rating' ;
清单 10. 如果申请者有糖尿病,加入健康等级
if
    'Applicant has Diabetes' 
then
    set 'Health Rating' to 'Health Rating' + 'Diabetes Rating' ;
清单 11. 如果申请者高血压,加入健康等级
if
    'Applicant has High Blood Pressure' 
then
    set 'Health Rating' to 'Health Rating' + 'High Blood Pressure Rating' ;
  1. 使用一个将 BMI 与 BMI 结果关联的决策表计算 BMI 结果,如图 5 所示。
图 5. 使用一个决策表计算 BMI 结果
截图包含 BMI 中断的决策表

创建规则流

一个规则流决定了规则集的执行顺序。要创建这个规则流,您必须完成以下步骤。

  1. 单击 Add RuleFlow,设置一个名称,然后单击 Finish。这样就会打开一个图形化编辑器。
  2. 单击 Start 图标,然后单击图表区域创建流的开始点。
  3. 单击创建结束点。
  4. 按照执行顺序将规则从项目浏览器拖到图表区域。
  5. 单击 Create Transition 图标,然后单击开始对象。
  6. 单击规则包。这样就能创建开始和第一个规则之间的转换。
  7. 为其他规则和结束点创建类似的转换。图 6 显示的规则流的最后结果。
图 6. 创建规则流
从 Initialize Input 到 Calculate bmi 到 Check bmi 到 lsInsuranceRejected 到 Initialize Health Rating 到 Calculate Health Rating 到 Verify Health Rating 的流程

创建规则应用

这个规则应用是将要部署到执行服务器的部署存档。要创建这个规则应用,需要完成以下步骤。

  1. 单击规则项目图的 Create RuleApp,并设置一个名称。
  2. 选择需要添加到存档的项目和规则集。
  3. 单击 Finish

这样就为规则集创建规则应用。您现在可以直接将规则应用部署到执行服务器或把它导出为一个 JAR 文件以备将来部署。


运行、调试和部署业务规则

因为 Rule Studio 是基于 Eclipse 插件的,所以您可以像其他 Java 项目一样测试和调试业务规则。按照以下步骤测试和调试业务规则。

  1. 单击 Run > Open Run Dialog,然后在上下文菜单上配置一个新的规则项目。
  2. 为参数指定初始值,然后单击 Run。要测试结果,您可以在您的规则中插入一些输出语句,然后检查控制窗口的输出。
  3. 一旦您作好部署的准备后,您就可以右键单击项目浏览器中的规则应用,然后单击 Ruleapp > Deploy。然后部署对话框就会显示。
  4. 保留默认设置,并单击 Deploy。这样就会将 RuleApp 存档部署到规则执行服务器。
  5. 要验证部署是否成功,您可以在 Program Files > IBM WebSphere ILOG JRules V7.0.2 > Web Interfaces 中打开规则执行服务器。
  6. 使用 resAdmin/resAdmin(ILOG Version 7.0.2)登录,单击 Explorer 选项卡。
  7. 单击 RuleApps 树。然后您最新部署的规则集就会显示,如图 7 所示。
图 7. 部署业务规则
截图: WSDL 'Get HTDS WSDL for the ruleset version' 和 'Get HTDS WSDL for the latest ruleset version' 高亮显示的 UnderwritingApp Ruleset View

提取部署的规则的 WSDL

Web Services Description Language (WSDL) 是一个接口定义语言,Web Services 客户用它确定服务器所提供的接口明细。完成以下步骤就能够为部署的 ILOG 规则集生成 WSDL 链接。

  1. 单击 Start > Program Files > IBM WebSphere ILOG JRules V7.0.2 > Web Interfaces 登录到规则执行服务器。
  2. 单击 Explorer 选项卡,然后选择和部署规则集。
  3. 单击 Get WSDL for the latest ruleset version

这样会打开一个以 XML 格式显示所生成的 WSDL 新浏览器窗口,如图 8 所示。您可以在 IBM FileNet P8 Process Designer 使用这个 WSDL 调用规则集。

图 8. 为 ILOG 规则集生成 WSDL
在 Rule Execution Server 为部署的规则集生成 WSDL

使用 IBM FileNet P8 设计过程工作流

在实现这个示例用例中最重要的一个步骤是设计过程工作流。您可以使用 IBM FileNet P8 Process Designer 按照以下步骤创建这个工作流。

  1. 使用您的帐号登录到 IBM FileNet P8 Workplace。
  2. 单击屏幕左边框架的 Author > Advanced Tools 打开 Process Designeron。然后设计器小应用程序就会打开。
  3. 通过拖放方式从 BOM 画板上创建工作流步骤,然后创建工作流,其中 Personal Insurance (Auto Underwriting) 是一个调用 JRules 的 HTDS 直接自动处理保单的系统任务,如图 9 所示。见 参考资料 中关于工作流步骤的信息。
图 9. 过程工作流
截图:创建了 Automatede Underwriting 的 Workplace Process Designer,如果为 True 则电子邮件;如果为 false 则先人工后电子邮件

创建所需要的工作流变量

工作流变量是工作流中人与系统交互的基础。它们也用于在各种工作流步骤中实现条件转发。要创建工作流变量,需要完成以下步骤。

  1. 单击 Process Designer 的 Workflow Properties 图标。
  2. 打开 Data Fields 选项卡。
  3. 双击数据网格,创建各种数据类型的变量,如图 2 所示。要保证 Merge Type 的数据类型是 Override
表 2. 工作流变量
名称类型合并类型
FirstNameStringOverride
FirstNameStringOverride
LastNameStringOverride
HeightFloatOverride
WeightFloatOverride
GenderStringOverride
dobTimeOverride
MaritalStatusStringOverride
EmpStatusStringOverride
MonthlyIncomeFloatOverride
CoverageAmountFloatOverride
InsurRejectedBooleanOverride
EmpProvidedInsurBooleanOverride
otherInsuranceBooleanOverride
hasAIDSBooleanOverride
isAlcoholicBooleanOverride
hasCancerBooleanOverride
hasKidneyStonesBooleanOverride
hasTumorBooleanOverride
hasHiBPBooleanOverride
hasDiabetesBooleanOverride
InsuranceTypeStringOverride
insuranceAcceptedBooleanOverride
iLOG_RES_StringStringOverride
iLOG_RESNumRulesIntegerOverride
bmiResultStringOverride
bmiFloatOverride
aidsRatingIntegerOverride
cancerRatingIntegerOverride
alcoholicRatingIntegerOverride
kidneyStonesRatingIntegerOverride
tumorRatingIntegerOverride
diabetesRatingIntegerOverride
hiBPRatingIntegerOverride
healthRatingIntegerOverride

将工作流变量关联到步骤中并设置参与者

当您将工作流变量分配给步骤时,它们就会显示在该步骤的步骤处理器中,而它们一般会以之前步骤填写的输入框或信息框形式出现。记住工作流变量对于所有步骤是全局的。要分配变量到每一个步骤,需要完成以下步骤。

  1. 单击您想要分配变量的步骤。
  2. 在步骤属性面板,单击 Parameters 选项卡。(对于 LaunchStep,单击 General 选项卡。)
  3. 从 Available Parameters 列表选择以下您想要分配给执行步骤的参数,然后使用向右箭头将参数移到 Selected Parameters 列表:
    • insuranceAccepted[RW]
    • bmi[RW]
    • bmiResult[RW]
    • CoverageAmount[RW]
    • dob[RW]
    • EmpProvidedInsur[RW]
    • EmpStatus[RW]
    • FirstName[RW]
    • Gender[RW]
    • Height[RW]
    • hasAIDS[RW]
    • isAlcoholic[RW]
    • hasHiBP[RW]
    • hasCancer[RW]
    • hasDiabetes[RW]
    • hasKidneyStones[RW]
    • hasTumor[RW]
    • InsurRejected[RW]
    • LastName[RW]
    • MaritalStatus[RW]
    • MonthlyIncome[RW]
    • otherInsurance[RW]
    • Weight[RW]
  4. 选择和移动下面的参数,将它们分配到 Human Underwriting 步骤的 Selected Parameters:
    • CoverageAmount[RW]
    • dob[RW]
    • EmpProvidedInsur[RW]
    • EmpStatus[RW]
    • FirstName[RW]
    • Gender[RW]
    • Height[RW]
    • hasAIDS[RW]
    • isAlcoholic[RW]
    • hasHiBP[RW]
    • hasCancer[RW]
    • hasDiabetes[RW]
    • hasKidneyStones[RW]
    • hasTumor[RW]
    • InsurRejected[RW]
    • LastName[RW]
    • MaritalStatus[RW]
    • MonthlyIncome[RW]
    • otherInsurance[RW]
    • Weight[RW]
  5. 选择和移动下面的参数,将它们分配到电子邮件通知步骤:
    • InsuranceType[RW]
    • insuranceAccepted[RW]
    • FirstName[RW]
    • LastName[RW]

对于人工任务(Human Underwriting 和 Email Notification),必须分配工作流参与者。要添加一个参与者到一个任务,需要完成以下步骤:

  1. 单击该步骤。
  2. 在参与者区的 General 选项卡,选中 Participants Participants 单选按钮。
  3. 选择有权限的用户处理工作项目。为了简单起见,您可以将用户 Administrator 分配到所有人工步骤,如图 10 所示。
图 10. 关联工作流参与者
在工作流中为人工步骤分配的工作流参与者

在您将变量和参与者关联到步骤上后,再通过下面的步骤添加转发条件。

  1. 单击 Result = True
  2. 输入 insuranceAccepted = true 作为转发条件。
  3. 单击 Result = False
  4. 输入 insuranceAccepted = false 作为转发条件。

配置 IBM FileNet P8 BPM 使用 Web Services

要配置 IBM FileNet P8 BPM 使用 Web Services,需要完成下面的步骤。

  1. 单击 Workplace Admin,打开 Process Configuration Console 小应用程序。
  2. 连接到您的单独区域。
  3. 右键单击这个区域,然后单击 Properties
  4. 单击 Web Services 选项卡,并选择复选框 Enable Process Designer to enter WSDL links without browsing for Web Services,如图 11 所示。
图 11. 使过程设计器直接接收 WSDL URL
在过程配置控制台启用允许直接复制-粘贴 WSDL URL 到过程设计器的标记

配置工作流使用 Web Service

要使用 ILOG 提供的 Web Service,您需要使用来自于 ILOG 执行服务器的 WSDL 配置一个伙伴链接。要配置这个伙伴链接,需要完成以下步骤。

  1. 单击 Process Designer 的 Workflow Properties > Web Services
  2. 双击 Partner Links 列表的空白行,添加一个新的伙伴链接。
  3. 单击 Invoke 复选框。
  4. 在文本框中,粘贴 ILOG 生成的 WSDL。
  5. 保证为 ILOG WSDL 自动选择 Port Type。最后结果如图 12 所示。
图 12. 配置工作流使用 Web Service
截图:带有高亮显示的 iLOG_TDS 和 Invoke partner links;选中 Invoke Port Type 为 DecisionServiceExpertUnderwriting 的 Web Services 选项卡
  1. 一旦伙伴链接配置好后,单击 Web Services Invoke 任务,如 Personal Insurance (Automated Underwriting)。这是一个系统任务,所以 Invoke 是选择列表中所选择的操作。
  2. 双击 Invoke 配置 Web Service 调用。
  3. 选择您刚刚创建的伙伴链接,以及这个操作。对于 ILOG,您可以只选择 executeDecisionService() 操作。然后 Process Designer 会将 Web Service 的所有输入和输出变量填充到两个单独的列表中,其中这两个列表是您可以用来选择映射本地变量的。
  4. 对于每一个输入和输出变量,从下拉列表选择正确的本地变量。图 24 显示输出变量的映射。
表 3. 映射输出变量以发送数据到 iLog Web Service
名称类型表达式
heightFloatHeight
weightFloatWeight
genderStringGender
dobTimedob
maritalStatusStringMaritalStatus
empStatusStringEmpStatus
monthlyIncomeFloatMonthlyIncome
reqCoverageFloatreqCoverage
insurRejectedBooleanInsurRejected
empInsuranceBooleanEmpProvidedInsur
otherInsuranceBooleanotherInsurance
hasAIDSBooleanhasAIDS
isAlcoholicBooleanisAlcoholic
hasCancerBooleanhasCancer
hasKidneyStonesBooleanhasKidneyStones
hasTumorBooleanhasTumor
hasHiBPBooleanhasHiBP
hasDiabetesBooleanhasDiabetes
bmiFloatbmi
bmiResultStringbmiResult
insuranceAcceptedBooleaninsuranceAccepted
aidsRatingIntegeraidsRating
cancerRatingIntegercancerRating
alcoholicRatingIntegeralcoholicRating
kidneyStonesRatingIntegerkidneyStonesRating
tumorRatingIntegertumorRating
diabetesRatingIntegerdiabetesRating
hiBPRatingIntegerhiBPRating
healthRatingIntegerhealthRating

表 4 显示了输入变量的映射。

表 4. 映射输入变量以使用 ILOG Web Service
名称类型域名称
ilog.rules.outputStringStringiLOG_RES_String
ilog.rules.firedRulesCountIntegeriLOG_RES_NumRules
heightFloatHeight
weightFloatWeight
genderStringGender
dobTimedob
maritalStatusStringMaritalStatus
empStatusStringEmpStatus
monthlyIncomeFloatMonthlyIncome
reqCoverageFloatreqCoverage
insurRejectedBooleanInsurRejected
empInsuranceBooleanEmpProvidedInsur
otherInsuranceBooleanotherInsurance
hasAIDSBooleanhasAIDS
isAlcoholicBooleanisAlcoholic
hasCancerBooleanhasCancer
hasKidneyStonesBooleanhasKidneyStones
hasTumorBooleanhasTumor
hasHiBPBooleanhasHiBP
hasDiabetesBooleanhasDiabetes
bmiFloatbmi
bmiResultStringbmiResult
insuranceAcceptedBooleaninsuranceAccepted
aidsRatingIntegeraidsRating
cancerRatingIntegercancerRating
alcoholicRatingIntegeralcoholicRating
kidneyStonesRatingIntegerkidneyStonesRating
tumorRatingIntegertumorRating
diabetesRatingIntegerdiabetesRating
hiBPRatingIntegerhiBPRating
healthRatingIntegerhealthRating

启动工作流并实际测试业务规则

在选择了伙伴链接和映射了变量后,您就可以按照以下步骤启动工作流了。

  1. 通过单击 File > Validate Workflow Collection 验证工作流。
  2. 单击 File > Transfer Workflow Collection 将工作流传输到对象存储和 Process Engine 中。
  3. 在传输时,要为文档选择一个正确的标题,并选择存储该工作流的对象存储位置。
  4. 为文档选择默认安全性设置。
  5. 单击 File > Launch Main Workflow 启动工作流。记住您要选择 Administrator 作为所有人工任务的默认用户。然后启用窗口就会打开,并且带有一个输入表单,如图 13 所示。
图 13. 启动工作流
在输入框中填入正确的值,然后单击 Launch 启动工作流。
  1. 在表单域中填写正确的值,然后单击 Launch,如图 13 所示。

这样,自动保单处理任务执行。如果规则引擎返回一个肯定响应,那么这个任务会被转到电子邮件通知任务。如果规则引擎返回一个否定响应,那么这个任务就会转到人工保单处理任务。

要验证结果,单击工作空间的 Tasks > Inbox,然后单击工作项目的步骤处理器。


微调技巧

要考虑使用下面的方法优化您的项目。

  • 如果您在 Rule Studio 和 IBM FileNet P8 Process Designer 中使用相同的变量名,那么 INVOKE 步骤的变量映射是自动完成的。
  • 如果您对最新规则集版本使用 WSDL,您可以修改这些规则并将它们作为小版本部署而不影响工作流。这个工作流会使用最新的规则集完成它的运行。
  • 当您以记录方式(如,一个 Excel® 电子表格)组织大量作用到相同的变量组的规则,那么要使用 ILOG JRules 导入功能。它使您能够导入一个 Excel 文件,然后创建一个决策表。
  • 除了使用示例 XSD 文件,您也可以使用不同的变量和类型创建您自己的 XML 基本文件而开发一个 XSD 文件,用于创建 XOM。然而,对于生产环境需要,您可以考虑使用本文所提供的 XSD,因为它包含了所有的 IBM FileNet P8 类型。

使用 Web Service 整合:HTDS 的一个替代方法

IBM FileNet P8 BPM 和 IBM WebSphere ILOG JRules 实现 Web Services 整合的方法有两个。如前面 配置工作流调用步骤以执行业务规则 所阐述的,您可以在您的过程工作流中直接使用 HTDS WSDL 并映射输入和输出变量。或者,您可以使用 ILOG Rule Studio 的代码生成器功能为规则集生成一个 Web Service 客户端。要使用代码生成器功能,您需要创建一个 Java® 组件,它会使用所生成的客户端发起 Web Service 调用,然后将组件与过程工作流整合。参考资料 有关于配置和部署的最佳实践方法,以及使用这个方法的产品文档。


结束语

本文阐述了如何使用 Web Services 整合 IBM FileNet P8 BPM 和 IBM WebSphere ILOG JRules。同时,本文也详细介绍了使用这些工具开发和部署您的业务规则的步骤。IBM FileNet P8 BPM 与 JRules 协同工作的解决方案使我们能够实现业务决策的快速修改,这会有助于一个组织巩固它在当前的市场竞争中的位置。这个解决方案能改进业务过程的敏捷性,并为每一位投资人提供正确的工具。

致谢

我们诚挚感谢以下校阅人,感谢他们花费了宝贵时间对本文进行校阅,并对本文的所有方面给出了他们的建议和评论:

  • Chris Berg - 产品经理(WebSphere BRMS)
  • Andy J Ritchie - ILOG 开发整合 & 协同(WebSphere BRMS)
  • Jiehua Eva Lu - 技术联盟经理(WebSphere BRMS)
  • Srinivas Nv Gannavarapu - 顾问软件工程师(企业内容管理)

参考资料

学习

获得产品和技术

讨论

条评论

developerWorks: 登录

标有星(*)号的字段是必填字段。


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


忘记密码?
更改您的密码

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

 


在您首次登录 developerWorks 时,会为您创建一份个人概要。您的个人概要中的信息(您的姓名、国家/地区,以及公司名称)是公开显示的,而且会随着您发布的任何内容一起显示,除非您选择隐藏您的公司名称。您可以随时更新您的 IBM 帐户。

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

选择您的昵称



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

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

标有星(*)号的字段是必填字段。

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

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

 


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


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=Information Management, WebSphere, SOA and web services
ArticleID=517351
ArticleTitle=使用 Web Services 整合 IBM FileNet P8 BPM 与 IBM WebSphere ILOG JRules
publish-date=02212011