ibm的odm使用_使用IBM ODM API生成规则工件

本文档详细介绍了如何使用IBM Operational Decision Manager(ODM)的API以编程方式创建规则工件,包括操作规则和决策表。内容涵盖Rule Designer和Decision Center的API,以及使用Eclipse Modeling Framework(EMF)的规则模型。教程还提供了示例代码,展示了如何创建和管理规则项目工件,并讨论了何时适当地使用此技术。IBM ODM API允许在不同场景下导入和管理外部规则,如从预测分析模型、其他业务规则平台或自定义组件中导入规则。
摘要由CSDN通过智能技术生成

ibm的odm使用

IBM®Operational Decision Manager(ODM)提供了一组广泛的组件来设计,管理,测试和运行业务规则集,然后将这些业务规则一起组织为服务以提供业务决策。 对于大多数应用程序,规则的生命周期始于决策中心的业务控制台,业务用户可在其中创建,测试和更新规则。

但是,有时规则的初始表示形式是IBM ODM外部的工件,由外部系统以任意语法生成。 考虑以下从外部开始的常见规则示例:

  • 规则是从诸如IBM SPSS Modeler之类的平台创建的预测分析模型中生成的。 例如,这些规则可以采用使用预测模型标记语言(PMML)格式的XML文件形式。 要求可能是,每次模型更改时,规则都被导入到IBM ODM中(通常以决策表或决策树的形式),并被折叠成组成决策服务的更大的规则集。
  • 出于迁移目的,规则是从另一个业务规则管理平台导出的。 在这种情况下,可能会将来自外部平台的规则一次导入到IBM ODM中,然后使用IBM ODM组件进行管理和维护。
  • 规则来自具有自己的自定义用户界面(可能像Microsoft Excel电子表格一样简单)的自定义规则创建和管理组件。 在这种情况下,仅将IBM ODM平台用于其规则执行功能,并且要求每次将规则部署到Rule Execution Server时,都将导入规则。

在所有这些示例中,通用过程是导入规则的外部表示以生成IBM ODM规则工件。 该导入操作依赖于IBM ODM API的一个子集,该子集允许在Rule Designer规则项目或Decision Center存储库中以编程方式创建规则工件,如下图所示。

在IBM ODM中导入规则

本教程说明如何使用IBM ODM API以编程方式创建规则工件。 它提供了一个蓝图,可用于建模规则导入工作。

请注意以下几点:仅仅因为可以以编程方式创建规则工件,但这并不意味着您应该在所有情况下都使用此技术。 相反,应根据应用程序的设计进行适当的判断。 例如,尝试使用IBM ODM API将包含数千行的数据库中的查找表以编程方式转换为决策表。 但是这种转换是不良设计的一个例子。

本教程中的示例基于可以与IBM ODM一起安装的loanvalidation-rules示例规则项目。 请参阅设置自定义报告生成示例 。 演示的代码基于IBM ODM版本8.7.1。

本教程说明了如何使用IBM ODM API以编程方式创建规则工件(操作规则和决策表)。 您将从示例中学习如何在Rule Designer和Decision Center中创建规则工件,这使您可以灵活地选择最适合您的需求的方法。

可以使用API​​创建规则项目和其他规则项目工件,例如包和变量集。 但是,为了清楚和简洁起见,本教程假定所需的项目和包结构已经就绪。

快速浏览Eclipse Modeling Framework

IBM ODM中的Rule Designer和Decision Center组件都提供了一个API,用于创建和管理规则项目及其包含的规则项目工件。 他们每个人都使用一个利用Eclipse Modeling Framework(EMF)和Ecore元模型的规则模型。

尽管您不需要了解EMF和Ecore的详细信息即可通过IBM ODM API创建和操作规则工件,但是它有助于记住,有时通过元模型协议对规则工件实例进行操作。

EMF是用于指定,构造和管理技术中立模型的抽象语言和框架。 使用Ecore元模型定义模型。

以下实体是使用Ecore的关键:

  • EObject接口是EMF中所有建模对象的根,并提供对所有建模对象共有的行为和功能的支持。
  • EClass接口,用于对通过名称标识的类进行建模,并且可以包含许多功能,例如属性( EAttribute ),操作( EOperation ),引用( Ereference )。
  • EFactory接口,为工厂创建实例对象建模。

下图显示了Ecore元模型的关键类建模元素的组织:

部分Ecore模型元素组织

对于任何给定的模型,所有部分(包括其类,属性,引用)都分组在Epackage类型的包中。

规则设计器的规则模型API

使用Rule Designer的规则模型API,可以访问和操纵规则模型元素,例如规则包,操作规则,技术规则和决策表,以及管理它们在Eclipse工作区中的文件持久性。

Rule Designer API由在ilog.rules.studio.model程序包及其子程序包中找到的一组类和接口定义。

除了数据模型外,API还通过规则工件(例如,搜索和查询)提供通知和服务。

要开始使用Rule Designer API的关键元素,请了解以下类和接口:

  • IlrStudioModelPlugin :此类是使用Rule Designer API时的主要入口点类。 它提供了以下一组静态方法来访问主要模型对象:
    • Eclipse工作区单例实例( getWorkspace
    • 规则模型单例实例( getRuleModel
    • 资源管理器单例实例( getResourceManager
  • IlrRuleModel :此接口由规则模型单例类实现,允许使用以下getRuleProject方法选择和检索要处理的规则项目:
    // Retrieve the target rule project where the rules will be created
    IlrRuleProject ruleProject = 
    	IlrStudioModelPlugin.getRuleModel().getRuleProject(projectName);
  • IlrResourceManager :此接口管理规则模型和Eclipse工作区之间的映射。 在此接口中,使用getElementFromResource方法将工作空间资源映射到规则模型元素,并使用saveElement方法将规则模型元素另存为工作空间资源:
    // Persist the action rule to the workspace
    IlrResourceManager resourceManager = IlrStudioModelPlugin.getResourceManager();
    resourceManager.saveElement(actionRule);

    下图基于IBM ODM产品文档,显示了如何映射规则模型的关键元素及其关联的Eclipse资源:

    规则模型和Eclipse资源之间的映射

规则项目服务

在Rule Designer API之上构建的服务(例如IlrDTServiceIlrBRLService对于构建规则很有用。 它们提供了专用于规则设计器中工件管理的功能。 您可以通过将服务ID传递给IlrRuleProjectgetService方法来获得服务的IlrRuleProject

// Get handle to IlrDTService
IlrDTService dtService = 
   (IlrDTService) ruleProject.getService(IlrDTService.SERVICE_ID);

规则工厂

工厂类(例如IlrBrlFactoryIlrDTFactoryIlrIrlFactory )为规则模型的每个非抽象类提供一个create方法。 规则工厂类实现单例模式。 使用名为eINSTANCE

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值