Rule builder settings

Use this page to build a rule for a given request type and work class for your application. For a given work class, a rule condition maps to a service policy to further classify its workload by the following criteria, which are also called operands: internet protocol address, port, protocol and the name of the client or server host. With the rule builder, you can construct a rule with these operands and a predefined, selectable set of operators, such as like or equals sign (=). For example, you can build a rule to classify incoming work for the StockTradeWork work class by a protocol. To view this page, click Applications > Enterprise applications > application > Service policies. Expand the request type and click Add rule > Rule builder > Add for an existing work class.

Fields vary depending on your selections:
Operands
  • clienthost: The name of the client system. This is the value of the internet protocol command host name. This operand does not support numeric operators such as greater than (>).
  • clientipv4: The Internet Protocol Version 4 address of the client machine, machine using the dotted quad address type n.n.n.n.
  • clientipv6: The Internet Protocol Version 6 128-bit address type of x:x:x:x:x:x:x:x of the client machine.
  • cookie$: A cookie name. For example, the expression cookie$MyCookieName=’MyCookieValue’ tests a request to see if it contains a cookie named MyCookieName with a value of MyCookieValue. To test for the presence or absence of a particular cookie, use one of the following:
    • cookie$MyCookieName IS NOT NULL
    • cookie$MyCookieName IS NULL
  • gid: A group ID of the request sender.
  • header$: A header name or value. For example, the expression header$Host=’localhost’ tests a request to see if it contains a hypertext transfer protocol (HTTP) host header with a value of localhost. To test for presence or absence of the host header, use one of the following:
    • cookie$Host IS NOT NULL
    • cookie$Host IS NULL
  • HTTPMethod: The HTTP method for the request. Possible values are POST, GET, PUT, and DELETE
  • MIMEtype: The Multipurpose Internet Mail Extensions type of the request.
  • port: The listening port where service is provided on the host.
  • protocol: The communications protocol of the request. Supported protocols are HTTP, HTTPS, SOAP, and IIOP.
  • queryparm$: A header name or value. For example, the expression queryparm$timezone=’EST’ tests a request to see if it contains an HTTP query parameter named timezone with a value of EST. To test for presence or absence of a query parameter, use one of the following:
    • queryparm$timezone IS NOT NULL
    • queryparm$timezone IS NULL
  • serverhost: The name of the server system. This is the value of the internet protocol command host name. This operand does not support numeric operators such as greater than ( >).
  • serveripv4: The Internet Protocol Version 4 address of the server machine, using the dotted quad address type n.n.n.n.
  • serveripv6: The Internet Protocol Version 6 128-bit address type of x:x:x:x:x:x:x:x of the server machine.
  • uid: The user ID of the request sender. service The name of a Web service. operation The name of a Web service operation. EJB The name of an EJB. method The name of a method of an EJB.
Operators
  • = The equality operator expresses a case-sensitive match.
  • > The greater-than operator is for use with numbers.
  • >= The greater-than or equal to operator is for use with numbers.
  • < The less-than operator is for use with numbers.
  • <= The less-than or equal to operator is for use with numbers.
  • AND: For xx AND yy, expresses matches that contain both xx, yy.
  • BETWEEN: This operator is used with AND to select a range of values inclusive of the first, or low, value and the last, or high, value. Together, they operate on numbers and dates.
  • EXISTS: This Boolean operator checks for an operand or the result of a compound subexpression, for example, while checking for certain HTTP header element attributes.
  • IN: This operator expresses an operand with multiple values in a single expression. For example, if, for an operand called port, you want to express that the port value can be any or all of the values such as 9080, 9090, 9091, the expression fragment is port IN (9080,9090,9091). How the values inside the brackets are expressed depends on the data type of port. If port is an integer, the correct syntax is the values without quote marks. If port is a string, the correct syntax is port IN (‘9080’,‘9090’,‘9091’).
  • IS NULL: This operator expresses that a validation of the query shows that the requested parameter does not exist.
  • IS NOT NULL: This operator expresses that a validation of the query shows that the requested parameter exists.
  • LIKE: This operator expresses pattern matching for string operand values. The value must contain the wildcard character percent sign (%) in the position where the pattern matching starts. For example, the expression, host LIKE %blanca, matches the word blanca, or any other word that ends in blanca, while the expression host LIKE blanca% matches the word blanca or any other word that starts with blanca, and the expression, host LIKE %blanca% matches the word blanca or any word that has blanca embedded in it.
  • NOT: For NOT xx, this operator expresses matches that do not contain xx.
  • OR: For xx OR yy, this operator expresses matches that contain either xx, yy.
Value This field displays for appropriate operands. For example, for the userid operand, type the userid in this field.