![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
![[z/OS]](../images/ngzos.gif)
基于规则的请求分类
使用任何基于规则的技术时,基于规则的处理过程涉及三个基本领域:构成语言的词汇、通过语句表达词汇的语法以及规则处理引擎。
词汇表
词汇包括运算符、称为操作数的变量关键字以及控制流语句。语言是 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 或复合运算符之后添加更多表达式。
- 路由
- 服务
- permit
- reject
- permitsticky
- redirect
完整的语句包含规则表达式,而且根据输入源的不同,要执行的操作的表示会有所不同。在管理控制台中,可将操作分到可轻松选择的表单和字段中。如果使用的是脚本,那么完整的语句看起来如下所示:
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
JMS
SOAP over HTTP 只表示为 SOAP
因特网 ORB 间协议(Internet Inter-ORB Protocol,IIOP)
用于 HTTP 请求的操作数的示例是:MIMEType。