现代软件系统设计强调使用业务规则管理系统(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. 医疗保险用例图
WebSphere ILOG JRules Rule Studio 是用来创建规则项目的 Eclipse 插件。要创建一个新的规则,我们需要完成以下步骤:
- 选择 Program Files > IBM WebSphere ILOG JRules V7.0.2 > Rule Studio 打开 Rule Studio。
- 单击 File > New > Rule Project,如图 2 所示。
图 2. 使用 Rule Studio 创建一个新的规则项目
- 选择 Standard Rule Project 并输入一个正确的项目名称。
- 保留项目的默认设置,然后单击 Finish。
Rule Studio 底部的规则项目图可以指导您由规则项目定义进行 RuleApp 部署。
在 ILOG JRules 中创建的规则是针对一个 Executable Object Model (XOM) 运行的,它引用了应用对象和外部应用数据。XOM 是 Business Object Model (BOM) 的基本实现。BOM 是对应于所写规则的模型。您可以从零开始创建一个 BOM,您也可以通过解析您的执行对象模型(XOM)自动创建 BOM。本文阐述了如何使用以下步骤从一个 XOM 创建一个 BOM。JRules 可以使您能够从 Java 对象或 XML 创建 XOM。本文使用的是一个动态 XML XOM。
- 将下面的 FileNet XSDs 保存到您的本地硬盘:
http://www.wfmc.org/standards/docs/TC-1025_bpmnxpdl_24.xsd和http://www.wfmc.org/standards/docs/TC-1025_schema_10_xpdl.xsd。文件 bpmnxpdl_24.xsd 引用文件 schema_10_xpdl.xsd file 作为它的模式定义。 - 编辑 bpmnxpdl_24.xsd 文件,然后将属性
http://www.wfmc.org/standards/docs/TC-1025_schema_10_xpdl.xsd修改为 [localpath]/[filename]。 - 从规则项目图中选择 Import XOM。
- 在 XOM 选择窗口选择 Dynamic Execution Object Model (XSD or WSDL)。
- 单击 Add External XSD,如图 3 所示。
图 3. 创建 XOM
- 选择 FileNet XSD(bpmnxpdl_24.xsd),然后单击 Finish。这样会为规则项目创建 XOM。
- 单击规则项目图的 Create BOM 链接,然后为 BOM 设置名称。
- 保证选中 Create a BOM entry from a XOM,然后单击 Next。
- 单击 Browse XOM,选择惟一可用的 XOM,然后单击 OK。这样就可以看到可用的记录,如图 4 所示。
图 4. 创建 BOM
- 选择第一个记录,然后单击 Finish。您可能在创建 BOM 时会遇到一些错误,这是因为 XOM 有几个成员名称相同。
- 单击每一个错误,然后在默认说明后加上数字后缀,修正这些错误。
- 保存规则项目。然后错误应该就会消失。
业务规则按照一组称为 parameters 的对象发挥作用,这些对象代表规则服务的接口。按照以下步骤创建参数:
- 单击规则项目图中的 Define parameters。
- 保证参数的方向选择遵循设计。
- 保存例子使用的变量名、类型和说明,包括本文所使用的变量。如表 1 所示。
表 1. 例子的重要变量
| 名称 | 类型 | 方向 | 说明 |
|---|---|---|---|
| height | java.lang.Float | IN | Height |
| weight | java.lang.Float | IN | Weight |
| gender | java.lang.String | IN | Gender |
| dob | java.util.Date | IN | Date of Birth |
| maritalStatus | java.lang.String | IN | Marital Status |
| empStatus | java.lang.String | IN | Employment Status |
| monthlyIncome | java.lang.Double | IN | Monthly Income |
| reqCoverage | java.lang.Double | IN | Requested Coverage |
| insurRejected | java.lang.Boolean | IN | Insurance Rejected in 5 years |
| empInsurance | java.lang.Boolean | IN | Applicant has Employer provided Insurance |
| otherInsurance | java.lang.Boolean | IN | Applicant has other Insurance |
| hasAIDS | java.lang.Boolean | IN | Applicant has AIDS |
| isAlcoholic | java.lang.Boolean | IN | Applicant is Alcoholic |
| hasCancer | java.lang.Boolean | IN | Applicant has Cancer |
| hasKidneyStones | java.lang.Boolean | IN | Applicant has Kidney Stones |
| hasTumor | java.lang.Boolean | IN | Applicant has Tumor |
| hasHiBP | java.lang.Boolean | IN | Applicant has High Blood Pressure |
| hasDiabetes | java.lang.Boolean | IN | Applicant has Diabetes |
| bmi | java.lang.Float | IN_OUT | Body Mass index |
| bmiResult | java.lang.String | IN_OUT | BMI Result |
| insuranceAccepted | java.lang.Boolean | OUT | Insurance Accepted |
| aidsRating | java.lang.Integer | IN_OUT | AIDS Rating |
| cancerRating | java.lang.Integer | IN_OUT | Cancer Rating |
| alcoholicRating | java.lang.Integer | IN_OUT | Alcoholic Rating |
| kidneyStonesRating | java.lang.Integer | IN_OUT | Kidney Stones Rating |
| tumorRating | java.lang.Integer | IN_OUT | Tumor Rating |
| diabetesRating | java.lang.Integer | IN_OUT | Diabetes Rating |
| hiBPRating | java.lang.Integer | IN_OUT | High BP Rating |
| healthRating | java.lang.Integer | IN_OUT | Health Rating |
规则集是以包组织的,每一个包都包含一组规则。要创建一个新的规则包,在规则项目图单击 Add rule package,然后设置一个正确的名称。按照顺序添加以下三个规则包:
- Initialize:初始化业务规则中用到的参数
- Calculate:计算 BMI 和健康等级
- Verify:用于自动承保的实际业务规则
每一个业务规则都是由一组条件和一组语句构成的。条件和语句会根据规则项目所定义的参数起作用。要创建一个业务规则,需要完成以下步骤:
- 单击 File > New > Business Rule,然后设置一个正确的名称。
- 选择希望在其中创建规则的包。
- 单击 Finish。然后代码编辑器就会显示,您可以在上面编辑规则。
- 在 Verify 包下,在代码编辑器上创建一个规则,如清单 1 所示,这样如果一个患者的 BMI 结果是
Obese或Underweight,Insurance Accepted 条件将被设置为false。
清单 1. 检查体重指数的规则
if
'BMI Result' is "Obese"
or 'BMI Result' is "Underweight"
then
set 'Insurance Accepted' to false ;
|
- 在 Verify 包下,在代码编辑器上创建一个规则,如清单 2 所示,这样如果一个患者的健康等级超过
60,Accept The Insurance 条件就会被设置为false。
清单 2. 验证一个可接受的分健康等级的规则
if
'Health Rating' is more than 60
then
set 'Insurance Accepted' to false ;
|
- 在 Verify 包下,在代码编辑器中创建一个规则,如清单 3 所示,这样如果过去 5 年曾经有保险被拒绝,那么 Accept The Insurance 条件会被设置为
false。
清单 3. 检查保险在过去 5 年是否被拒绝的规则
if
'Insurance Rejected in 5 years' is true
then
set 'Insurance Accepted' to false ;
|
- 在 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;
|
- 在 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' ;
|
- 使用一个将 BMI 与 BMI 结果关联的决策表计算 BMI 结果,如图 5 所示。
图 5. 使用一个决策表计算 BMI 结果
一个规则流决定了规则集的执行顺序。要创建这个规则流,您必须完成以下步骤。
- 单击 Add RuleFlow,设置一个名称,然后单击 Finish。这样就会打开一个图形化编辑器。
- 单击 Start 图标,然后单击图表区域创建流的开始点。
- 单击创建结束点。
- 按照执行顺序将规则从项目浏览器拖到图表区域。
- 单击 Create Transition 图标,然后单击开始对象。
- 单击规则包。这样就能创建开始和第一个规则之间的转换。
- 为其他规则和结束点创建类似的转换。图 6 显示的规则流的最后结果。
图 6. 创建规则流
这个规则应用是将要部署到执行服务器的部署存档。要创建这个规则应用,需要完成以下步骤。
- 单击规则项目图的 Create RuleApp,并设置一个名称。
- 选择需要添加到存档的项目和规则集。
- 单击 Finish。
这样就为规则集创建规则应用。您现在可以直接将规则应用部署到执行服务器或把它导出为一个 JAR 文件以备将来部署。
因为 Rule Studio 是基于 Eclipse 插件的,所以您可以像其他 Java 项目一样测试和调试业务规则。按照以下步骤测试和调试业务规则。
- 单击 Run > Open Run Dialog,然后在上下文菜单上配置一个新的规则项目。
- 为参数指定初始值,然后单击 Run。要测试结果,您可以在您的规则中插入一些输出语句,然后检查控制窗口的输出。
- 一旦您作好部署的准备后,您就可以右键单击项目浏览器中的规则应用,然后单击 Ruleapp > Deploy。然后部署对话框就会显示。
- 保留默认设置,并单击 Deploy。这样就会将 RuleApp 存档部署到规则执行服务器。
- 要验证部署是否成功,您可以在 Program Files > IBM WebSphere ILOG JRules V7.0.2 > Web Interfaces 中打开规则执行服务器。
- 使用 resAdmin/resAdmin(ILOG Version 7.0.2)登录,单击 Explorer 选项卡。
- 单击 RuleApps 树。然后您最新部署的规则集就会显示,如图 7 所示。
图 7. 部署业务规则
Web Services Description Language (WSDL) 是一个接口定义语言,Web Services 客户用它确定服务器所提供的接口明细。完成以下步骤就能够为部署的 ILOG 规则集生成 WSDL 链接。
- 单击 Start > Program Files > IBM WebSphere ILOG JRules V7.0.2 > Web Interfaces 登录到规则执行服务器。
- 单击 Explorer 选项卡,然后选择和部署规则集。
- 单击 Get WSDL for the latest ruleset version。
这样会打开一个以 XML 格式显示所生成的 WSDL 新浏览器窗口,如图 8 所示。您可以在 IBM FileNet P8 Process Designer 使用这个 WSDL 调用规则集。
图 8. 为 ILOG 规则集生成 WSDL
在实现这个示例用例中最重要的一个步骤是设计过程工作流。您可以使用 IBM FileNet P8 Process Designer 按照以下步骤创建这个工作流。
- 使用您的帐号登录到 IBM FileNet P8 Workplace。
- 单击屏幕左边框架的 Author > Advanced Tools 打开 Process Designeron。然后设计器小应用程序就会打开。
- 通过拖放方式从 BOM 画板上创建工作流步骤,然后创建工作流,其中 Personal Insurance (Auto Underwriting) 是一个调用 JRules 的 HTDS 直接自动处理保单的系统任务,如图 9 所示。见 参考资料 中关于工作流步骤的信息。
图 9. 过程工作流
工作流变量是工作流中人与系统交互的基础。它们也用于在各种工作流步骤中实现条件转发。要创建工作流变量,需要完成以下步骤。
- 单击 Process Designer 的 Workflow Properties 图标。
- 打开 Data Fields 选项卡。
- 双击数据网格,创建各种数据类型的变量,如图 2 所示。要保证 Merge Type 的数据类型是 Override。
表 2. 工作流变量
| 名称 | 类型 | 合并类型 |
|---|---|---|
| FirstName | String | Override |
| FirstName | String | Override |
| LastName | String | Override |
| Height | Float | Override |
| Weight | Float | Override |
| Gender | String | Override |
| dob | Time | Override |
| MaritalStatus | String | Override |
| EmpStatus | String | Override |
| MonthlyIncome | Float | Override |
| CoverageAmount | Float | Override |
| InsurRejected | Boolean | Override |
| EmpProvidedInsur | Boolean | Override |
| otherInsurance | Boolean | Override |
| hasAIDS | Boolean | Override |
| isAlcoholic | Boolean | Override |
| hasCancer | Boolean | Override |
| hasKidneyStones | Boolean | Override |
| hasTumor | Boolean | Override |
| hasHiBP | Boolean | Override |
| hasDiabetes | Boolean | Override |
| InsuranceType | String | Override |
| insuranceAccepted | Boolean | Override |
| iLOG_RES_String | String | Override |
| iLOG_RESNumRules | Integer | Override |
| bmiResult | String | Override |
| bmi | Float | Override |
| aidsRating | Integer | Override |
| cancerRating | Integer | Override |
| alcoholicRating | Integer | Override |
| kidneyStonesRating | Integer | Override |
| tumorRating | Integer | Override |
| diabetesRating | Integer | Override |
| hiBPRating | Integer | Override |
| healthRating | Integer | Override |
当您将工作流变量分配给步骤时,它们就会显示在该步骤的步骤处理器中,而它们一般会以之前步骤填写的输入框或信息框形式出现。记住工作流变量对于所有步骤是全局的。要分配变量到每一个步骤,需要完成以下步骤。
- 单击您想要分配变量的步骤。
- 在步骤属性面板,单击 Parameters 选项卡。(对于 LaunchStep,单击 General 选项卡。)
- 从 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]
- 选择和移动下面的参数,将它们分配到 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]
- 选择和移动下面的参数,将它们分配到电子邮件通知步骤:
- InsuranceType[RW]
- insuranceAccepted[RW]
- FirstName[RW]
- LastName[RW]
对于人工任务(Human Underwriting 和 Email Notification),必须分配工作流参与者。要添加一个参与者到一个任务,需要完成以下步骤:
- 单击该步骤。
- 在参与者区的 General 选项卡,选中 Participants Participants 单选按钮。
- 选择有权限的用户处理工作项目。为了简单起见,您可以将用户
Administrator分配到所有人工步骤,如图 10 所示。
图 10. 关联工作流参与者
在您将变量和参与者关联到步骤上后,再通过下面的步骤添加转发条件。
- 单击 Result = True。
- 输入 insuranceAccepted = true 作为转发条件。
- 单击 Result = False。
- 输入 insuranceAccepted = false 作为转发条件。
配置 IBM FileNet P8 BPM 使用 Web Services
要配置 IBM FileNet P8 BPM 使用 Web Services,需要完成下面的步骤。
- 单击 Workplace Admin,打开 Process Configuration Console 小应用程序。
- 连接到您的单独区域。
- 右键单击这个区域,然后单击 Properties。
- 单击 Web Services 选项卡,并选择复选框 Enable Process Designer to enter WSDL links without browsing for Web Services,如图 11 所示。
图 11. 使过程设计器直接接收 WSDL URL
要使用 ILOG 提供的 Web Service,您需要使用来自于 ILOG 执行服务器的 WSDL 配置一个伙伴链接。要配置这个伙伴链接,需要完成以下步骤。
- 单击 Process Designer 的 Workflow Properties > Web Services。
- 双击 Partner Links 列表的空白行,添加一个新的伙伴链接。
- 单击 Invoke 复选框。
- 在文本框中,粘贴 ILOG 生成的 WSDL。
- 保证为 ILOG WSDL 自动选择 Port Type。最后结果如图 12 所示。
图 12. 配置工作流使用 Web Service
- 一旦伙伴链接配置好后,单击 Web Services Invoke 任务,如 Personal Insurance (Automated Underwriting)。这是一个系统任务,所以
Invoke是选择列表中所选择的操作。 - 双击 Invoke 配置 Web Service 调用。
- 选择您刚刚创建的伙伴链接,以及这个操作。对于 ILOG,您可以只选择 executeDecisionService() 操作。然后 Process Designer 会将 Web Service 的所有输入和输出变量填充到两个单独的列表中,其中这两个列表是您可以用来选择映射本地变量的。
- 对于每一个输入和输出变量,从下拉列表选择正确的本地变量。图 24 显示输出变量的映射。
表 3. 映射输出变量以发送数据到 iLog Web Service
| 名称 | 类型 | 表达式 |
|---|---|---|
| height | Float | Height |
| weight | Float | Weight |
| gender | String | Gender |
| dob | Time | dob |
| maritalStatus | String | MaritalStatus |
| empStatus | String | EmpStatus |
| monthlyIncome | Float | MonthlyIncome |
| reqCoverage | Float | reqCoverage |
| insurRejected | Boolean | InsurRejected |
| empInsurance | Boolean | EmpProvidedInsur |
| otherInsurance | Boolean | otherInsurance |
| hasAIDS | Boolean | hasAIDS |
| isAlcoholic | Boolean | isAlcoholic |
| hasCancer | Boolean | hasCancer |
| hasKidneyStones | Boolean | hasKidneyStones |
| hasTumor | Boolean | hasTumor |
| hasHiBP | Boolean | hasHiBP |
| hasDiabetes | Boolean | hasDiabetes |
| bmi | Float | bmi |
| bmiResult | String | bmiResult |
| insuranceAccepted | Boolean | insuranceAccepted |
| aidsRating | Integer | aidsRating |
| cancerRating | Integer | cancerRating |
| alcoholicRating | Integer | alcoholicRating |
| kidneyStonesRating | Integer | kidneyStonesRating |
| tumorRating | Integer | tumorRating |
| diabetesRating | Integer | diabetesRating |
| hiBPRating | Integer | hiBPRating |
| healthRating | Integer | healthRating |
表 4 显示了输入变量的映射。
表 4. 映射输入变量以使用 ILOG Web Service
| 名称 | 类型 | 域名称 |
|---|---|---|
| ilog.rules.outputString | String | iLOG_RES_String |
| ilog.rules.firedRulesCount | Integer | iLOG_RES_NumRules |
| height | Float | Height |
| weight | Float | Weight |
| gender | String | Gender |
| dob | Time | dob |
| maritalStatus | String | MaritalStatus |
| empStatus | String | EmpStatus |
| monthlyIncome | Float | MonthlyIncome |
| reqCoverage | Float | reqCoverage |
| insurRejected | Boolean | InsurRejected |
| empInsurance | Boolean | EmpProvidedInsur |
| otherInsurance | Boolean | otherInsurance |
| hasAIDS | Boolean | hasAIDS |
| isAlcoholic | Boolean | isAlcoholic |
| hasCancer | Boolean | hasCancer |
| hasKidneyStones | Boolean | hasKidneyStones |
| hasTumor | Boolean | hasTumor |
| hasHiBP | Boolean | hasHiBP |
| hasDiabetes | Boolean | hasDiabetes |
| bmi | Float | bmi |
| bmiResult | String | bmiResult |
| insuranceAccepted | Boolean | insuranceAccepted |
| aidsRating | Integer | aidsRating |
| cancerRating | Integer | cancerRating |
| alcoholicRating | Integer | alcoholicRating |
| kidneyStonesRating | Integer | kidneyStonesRating |
| tumorRating | Integer | tumorRating |
| diabetesRating | Integer | diabetesRating |
| hiBPRating | Integer | hiBPRating |
| healthRating | Integer | healthRating |
在选择了伙伴链接和映射了变量后,您就可以按照以下步骤启动工作流了。
- 通过单击 File > Validate Workflow Collection 验证工作流。
- 单击 File > Transfer Workflow Collection 将工作流传输到对象存储和 Process Engine 中。
- 在传输时,要为文档选择一个正确的标题,并选择存储该工作流的对象存储位置。
- 为文档选择默认安全性设置。
- 单击 File > Launch Main Workflow 启动工作流。记住您要选择 Administrator 作为所有人工任务的默认用户。然后启用窗口就会打开,并且带有一个输入表单,如图 13 所示。
图 13. 启动工作流
- 在表单域中填写正确的值,然后单击 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 - 顾问软件工程师(企业内容管理)
学习
- 阅读 IBM FileNet P8 文档,了解更多关于工作流步骤的信息。
- 阅读 WebSphere ILOG Business Rule Management Systems (BRMS) Best Practices Webinar Series。
- WebSphere ILOG JRules:开发和部署强大的基于规则的应用。
- 访问 developerWorks Information Management 专区 了解更多关于 Information Management 的信息。从中您可以查询技术文档、how-to 文章、培训、下载、产品信息等等。
- 随时关注 developerWorks 技术活动 和 网络广播。
获得产品和技术
- 使用可以直接从 developerWorks 下载的 IBM 产品评估试用版软件 构建您的下一个开发项目。
讨论

