[AIX Solaris HP-UX Linux Windows][z/OS]

基于规则的请求分类

使用任何基于规则的技术时,基于规则的处理过程涉及三个基本领域:构成语言的词汇、通过语句表达词汇的语法以及规则处理引擎。

词汇表

词汇包括运算符、称为操作数的变量关键字以及控制流语句。语言是 Java™ 消息服务 (JMS 1.1) 和消息选择器语法。消息选择器是一个字符串,其语法基于 SQL92 条件表达式的子集。常规语句语法是:

operand operator literalExpression [| compoundOperator expression] .

在以下示例中:

serverhost like '%ibm.com' or clienthost = 'myhost.raleigh.ibm.com'

serverhost and clienthost 是操作数,like= 是运算符,or 是复合运算符,而 '%ibm.com''myhost.raleigh.ibm.com' 是 literalExpression。[] 指示使用方括号括起来的表达式是可选的,而 | 指示在运算符后,可以紧随 literalExpression 或复合运算符之后添加更多表达式。

表达式的结果是要执行的操作。从语法的角度而言,这些操作是由策略提供者提供的字面值。支持两种类型的策略:
  1. 路由
  2. 服务
由策略提供者指定执行的操作。对于路由,操作是:
  • permit
  • reject
  • permitsticky
  • redirect
每个操作都具有相应的目标,即操作的接收方。如果计算表达式的结果是要执行操作 permit,那么该操作的目标是允许对其执行路由的应用程序。对于服务策略而言,目标包含在操作中,而操作是事务类。

完整的语句包含规则表达式,而且根据输入源的不同,要执行的操作的表示会有所不同。在管理控制台中,可将操作分到可轻松选择的表单和字段中。如果使用的是脚本,那么完整的语句看起来如下所示:

expression<delimeter>action
For example, clienthost='localhost' and serverhost like 
'%.ibm.com'?permit?DefaultApplication.ear

从实现的角度而言,使用作为 XML 文档的工作类来捕获规则表达式、匹配的操作以及其他实现工件。因此,工作类是一个包含零个或零个以上 matchRules 元素和一个或多个 workClassModules 元素的 XML 文档。

运算符

Intelligent Management 支持在规则表达式中使用各种运算符。通常,您可能不知道给定操作数的实际数据类型。如果您使用超文本传输协议 (HTTP),那么将每个操作数视为数据类型字符串,并可以使用运算符作为操作数的实际数据类型的指示符以进行数据验证。测试操作数是否包含空值的一个运算符示例是:IS NULL

操作数

添加新的协议并定义新的操作数集合后,这些操作数仅在协议的范围内有效。如果在对于操作数无效的范围内指定了该操作数,那么将指示错误情况。在此发行版中,受支持的协议包括:
  • HTTP
  • [AIX Solaris HP-UX Linux Windows]JMS
  • [z/OS]SOAP over HTTP 只表示为 SOAP
  • [AIX Solaris HP-UX Linux Windows]因特网 ORB 间协议(Internet Inter-ORB Protocol,IIOP)

用于 HTTP 请求的操作数的示例是:MIMEType


指示主题类型的图标 概念主题



时间戳记图标 最近一次更新时间: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cwve_odoerule
文件名:cwve_odoerule.html