以 web 服务形式启用基于规则决策服务

上传人:腾**** 文档编号:46540988 上传时间:2018-06-27 格式:PDF 页数:15 大小:625.84KB
返回 下载 相关 举报
以 web 服务形式启用基于规则决策服务_第1页
第1页 / 共15页
以 web 服务形式启用基于规则决策服务_第2页
第2页 / 共15页
以 web 服务形式启用基于规则决策服务_第3页
第3页 / 共15页
以 web 服务形式启用基于规则决策服务_第4页
第4页 / 共15页
以 web 服务形式启用基于规则决策服务_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《以 web 服务形式启用基于规则决策服务》由会员分享,可在线阅读,更多相关《以 web 服务形式启用基于规则决策服务(15页珍藏版)》请在金锄头文库上搜索。

1、以以 Web 服务形式启用基于规则的决策服务服务形式启用基于规则的决策服务 结合规则的敏捷性和 SOA 的灵活性 简介:简介: JRules 可以将决策服务公开为 web 服务,而无需任何编码。将业务决策服务公开为 web 服务结合了业务规 则的敏捷性和 SOA 的灵活性。它可以促进与其他支持 SOA 产品的轻松集成。 标记本文! 发布日期:发布日期: 2011 年 3 月 17 日 级别:级别: 中级 原创语言:原创语言: 英文 简介 IBM WebSphere ILOG JRules 是一个领先的业务规则管理系统(Business Rule Management System,BRMS),

2、 提供了一套全面的功能集合,涵盖从设计、开发、测试、部署、执行到维护的业务规则各个方面。 Web 服务是一种技术,允许应用程序以平台和编程语言无关的方式互相通信。Web 服务是一个软件界面,描述可以 通过标准化的 XML消息传递在网络上访问的操作集合。Web 服务的使用广泛,在大多数面向服务的架构(SOA)中 都扮演着核心角色。 JRules 引入了一个称为 Hosted Transparent Decision Server (HTDS) 的功能,它允许将决策服务公开为 web 服 务,不需要的其他程序编码。 回页首 安装和配置 要运行此示例,需要正确安装和配置以下产品: lIBM WebS

3、phere ILOG JRules V7.0.x 安装之后,我们应该能够: l启动 JRules 安装程序携带的 Rule Studio。 l查看 Rule Execution Server 控制台主页:http:/localhost:8080/res/。这由开箱即用的 tomcat 服务器实例提 供支持。JRules 需要其他配置才能在其他应用程序服务器上运行,比如 WebSphere 或 Oracle WebLogic 的其他应用程序服务器上运行。 请注意以下 JRules 包/组件不需要运行该示例。 lRule Team Server 包 lDecision Validation Ser

4、vice lRule Solutions for Office 页码,1/15回页首 场景概述 业务场景非常简单。假设有一个基于 web 的 Java EE 贷款报价应用程序,它获取客户信息,并调用决策服务来确定 贷款利率(如果贷款申请符合条件)。为简单起见,我们根据贷款额和申请人的年龄确定贷款利率。两个关键实体是 Customer(客户)和 Loan(贷款)。 有两种方法模拟 JRules Execution Object Model(XOM),XOM 是 JRules 在实际执行过程中利用的底层对象模 型。域对象可以使用 Java 或 XML 建模。在此示例中,我们使用 XML XOM。

5、图图 1. XML_Customer 图图 2. XOM_Loan 规则项目中实现了有两个规则:Loan Value 和 Young Applicant。他们分别分为 Eligibility(资格)和 Rating(评 级)两类子包。 页码,2/15清单清单 1. SRule Eligibility.Loan Value 清单清单 2. Rule Rating.Young Applicant 协调的规则流连接资格包和评级包的规则。 图图 3. Ruleflow RuleSet 参数定义将作为决策服务调用的规则集的数据接口。对于每个 Customer 输入,决策服务都能够确定适当的 贷款利率。贷

6、款利率将在通过 customer.getLoan().getRate() 更新的客户对象中返回。 图图 4. RuleSet 参数参数 有许多可以开箱即用的集成选项,例如 Web 服务、J2SE 或本地/远程 EJB 模式等。在这篇文章中,我们将学习如何 使它作为 Web 服务。假设我们已经创建了此规则项目 LoanRules(包括上述的所有部件),我们下一步要做的工作 如下所示。 if the advance amount of the loan of the customer is more than 100000 then set the decision of the loan of

7、the customer to “Declined“; else set the decision of the loan of the customer to “Accepted“; set the rate of the loan of the customer to 5.5; if the age of the customer is less than 21 then set the rate of the loan of the customer to 6.5; 页码,3/151.创建一个 RuleApp 项目将 LoanRules 打包到 RuleApp Archive 2.创建一

8、个 Rule Execution Server Configuration 用于内置的 Tomcat Server 3.将 RuleApp Archive 部署到 Tomcat 4.创建并验证决策服务的 WSDL 文件 5.运行一个 Web 服务客户端调用该 Web 服务 回页首 详细说明 第 1 步. 创建一个 RuleApp 项目将 LoanRules 打包到 RuleApp Archive 使用 “New Project” 向导创建一个新的 RuleApp 项目。RuleApp 项目用于生成 RuleApp 存档。 图图 5. 新建新建 RuleApp 指定 “LoanRules”,并将

9、其添加到 RuleApp 项目。这样一来,我们就可以告知 JRules RuleApp 归档文件将包含在 Rule Project “LoanRules“ 中定义的规则中。 图图 6. 添加添加 RuleProject “LoanRules“ 页码,4/15接受其他所有默认设置,然后单击 “Finish”。现在 RuleApp 项目 “LoanRuleApp” 已经就绪。 第 2 步. 创建一个 Rule Execution Server Configuration 用于 Tomcat 请注意,虽然此步骤在将 ruleapp 规则部署到 Rule Execution Server (RES)

10、是可选的,但是存储 RES 配置以备将 来使用是更有系统的方法,故推荐这样做。如果我们有一个 RES 配置列表可用于开发、测试和生产环境,则可以更 轻松地切换目标 RES。 图图 7. 新建新建 RES 配置项目配置项目 页码,5/15输入适当的 Tomcat 服务器配置,并指定此 tomcat 实例上运行的 Rule Execution Server (RES) 控制台的用户和密 码。通过单击 “Test Connection” 按钮,验证连接是否正常。 图图 8. 配置配置 Tomcat Server 页码,6/15接受其他所有默认设置,然后单击 “Finish”。现在,我们已经有了 RE

11、S 配置项目。此项目将由我们在第 1 步中创 建的 RuleApp 项目使用,进行恰当的部署。 第 3 步. 将 RuleApp Archive 部署到 Tomcat 双击 LoanRuleApp project 文件夹中的 “archive.xml” 文件。 图图 9. 打开打开 RuleApp 项目项目 注意面板左下角的 “Deploy” 链接。单击它,将要求我们选择版本控制策略。由于这是我们第一次部署 RuleApp, 我们选择 “Increment RuleApp major version”。 页码,7/15图图 10. 部署为新版本部署为新版本 单击第一个单选按钮,然后选择 “To

12、mcat”。这是告诉 JRules 我们想在 Tomcat 服务器上部署规则。单击 “Finish” 完成向导。 图图 11. 将将 RuleApp 部署到服务器部署到服务器 控制台面板会有详细的打印输出指示部署成功。 页码,8/15图图 12. 指示已部署指示已部署 RuleApp 的消息的消息 第 4 步. 生成并验证决策服务的 WSDL 文件 登录 Tomcat 的 RES 控制台,默认 URL 为 http:/localhost:8080/res。如有必要,请更改主机名。默认的用户名和 密码是 resAdmin。 登录之后,单击 “Explorer” 选项卡。将显示部署的 RuleAp

13、ps 列表。在此示例中,我们将看到 RuleApp 的名称为 “LoanRuleApp”,版本为 1.0。 图图 13. RES 控制台中列出的控制台中列出的 RuleApp 单击 “LoanRuleApp” 输入 RuleApp 视图。这是 LoanRuleApp 编辑自定义属性的位置。底部 “RuleSet” 面板上有 一个名称为 “LoanRules” 的行。这是 LoanRuleApp 中包含的规则集。 图图 14. RuleApp 视图视图 单击 “LoanRules” 输入 RuleSet 视图。 图图 15. RuleSet 视图视图 页码,9/15我们将看到 “Get HTDS

14、 WSDL for this ruleset version” 链接。单击它生成此决策服务的 WSDL 文件。我们将被定 向到 WSDL 页。此 web 服务端点 URL 是 http:/localhost:8080/DecisionService/ws/LoanRuleApp/1.0/LoanRules/1.0?WSDL。 图图 16. 生成的生成的 WSDL 步骤 5a. 模拟 Web 服务客户端,使用 SOAPUI 调用 Web 服务 在这一步中,我们将使用 SOAPUI 作为 web 服务客户端测试上述 Web 服务。 首先,通过在向导对话框中指定 WSDL URL 创建一个新的 SO

15、APUI 项目,页码,10/15http:/localhost:8080/DecisionService/ws/LoanRuleApp/1.0/LoanRules/1.0?WSDL。(可选) 选择 “Create sample requests for all operations” 选项查看输入 XML 结构的样子。 图图 17. 新建新建 SOAPUI 项目向导项目向导 第二,将下面的 XML 粘贴到 SOAPUI 左侧的请求文本框。请注意客户的 DOB 后有一个后缀 “Z”,这意味着与协 调世界时(UTC)在同一个时区。 AB1265H 35000 1960-01-01Z 100000

16、36 1 AB1265H 页码,11/15XML 格式的 SOAP 输入消息示例 单击 “Run” 按钮,以 XML 格式的答复 SOAP 消息将显示在右侧,我们应该能够找到与业务决策相关的信息: Loan Accepted(贷款接受率)为 5.5%。 清单清单 3. XML 输出输出 现在我们的 SOAPUI GUI 可能看起来类似图 18 中的屏幕快照。 图图 18. SOAPUI 屏幕快照屏幕快照 步骤 5b. 运行 Apache Axis 客户端调用 Web 服务 高级开发人员可能不想利用 SOAPUI,而是需要实现一个 Apache Axis 客户端来测试 Web 服务。例如,我们将使 用 .net 应用程序来验证此 Web 服务。 我们通过使用 ServiceLocator 和 PortType 类来调用服务。这些类是由 WSDL2Java ant 目标自动生成的。 1000000.0 36 5.5 Accepted 页码,12/15初始化 Axis ServiceLocator 和 po

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 教育/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号