Java规则引擎与其API(JSR-94) - 编程入门网
们。
Java规则引擎与其API(JSR-94)(5)时间:2011-11-02 IBM 李国乐4.2.2 运行时API 运行时API定义在javax.rules包中,为规则引擎用户运行规则获得结果提供了类和方法。运行时客户只 能访问那些使用规则管理API注册过的规则,运行时API帮助用户获得规则对话并且在这个对话中执行规则 。 运行时API提供了对厂商规则引擎API实现的类似于JDBC的访问方法.规则引擎厂商通过类 RuleServiceProvider(类 RuleServiceProvider提供了对具体规则引擎实现的运行时和管理API的访问)将 其规则引擎实现提供给客户,并获得 RuleServiceProvider唯一标识规则引擎的URL. URL推荐标准用法是使用类似"com.mycompany.myrulesengine.rules.RuleServiceProvider"这样的 Internet域名空间, 这将有助于访问URL的唯一性.类RuleServiceProvider内部实现了规则管理和运行时 访问所需的接口.所有的 RuleServiceProvider要想被客户所访问都必须用RuleServiceProviderManager 进行注册。注册方式类似于 JDBC API的DriverManager和Driver。 运行时接口是运行时API的关键部分.运行时接口提供了用于创建规则会话(RuleSession)的方法,规则 会话如前所述是用来运行规则的.运行时API同时也提供了访问在service provider注册过的所有规则执行 集(RuleExecutionSets).规则会话接口定义了客户使用的会话的类型,客户根据自己运行规则的方式可以 选择使用有状态会话或者无状态会话。 无状态会话的工作方式就像一个无状态会话bean.客户可以发送单个输入对象或一列对象来获得输出对 象.当客户需要一个与规则引擎间的专用会话时, 有状态会话就很有用.输入的对象通过addObject() 方法 可以加入到会话当中.同一个会话当中可以加入多个对象.对话中已有对象可以通过使用updateObject()方 法得到更新.只要客户与规则引擎间的会话依然存在,会话中的对象就不会丢失。 RuleExecutionSetMetaData接口提供给客户让其查找规则执行集的元数据(metadata).元数据通过规则 会话接口(RuleSession Interface)提供给用户。 使用运行时Runtime API的代码片断如下所示:
4.3 Java规则引擎API安全问题 规则引擎API将管理API和运行时API加以分开,从而为这些包提供了较好粒度的安全控制.规则引擎API 并没有提供明显的安全机制,它可以和 J2EE规范中定义的标准安全API联合使用.安全可以由以下机制提供 ,如Java authentication and authorization service (JAAS),the Java cryptography extension (JCE),Java secure Socket Extension (JSSE),或者其它定制的安全API.JAAS能被用来定义规则执行集的 许可权限,从而只有授权用户才能访问。 Java规则引擎与其API(JSR-94)(6)时间:2011-11-02 IBM 李国乐4.4 异常与日志 规则引擎API定义了javax.rules.RuleException作为规则引擎异常层次的根类.所有其它异常都继承于 这个根类.规则引擎中定义的异常都是受控制的异常(checked exceptions),所以捕获异常的任务就交给了 规则引擎。规则引擎API没有提供明确的日志机制,但是它建议将Java Log |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |