Компоновщик подвыражений

Воспользуйтесь компоновщиком подвыражений для создания сложных условий правил из подвыражений с помощью AND, OR, NOT и скобочной группировки. Компоновщик правил проверяет правило при применении изменений и предупреждает о наличии несоответствующих скобок и неподдерживаемых логических операторов.

Для просмотра данной страницы административной консоли выберите Серверы > Маршрутизаторы нагрузки > odr_name> On demand router properties > Generic server cluster service policies > work_class_name > Add rule > Subexpression builder.

Для того чтобы изменить правила с помощью компоновщика подвыражений, необходимо обладать правами доступа администратора.

Выбор операнда

В зависимости от выбранного протокола, отображаются разные операнды. В приведенной ниже таблице представлены имена операндов, отображаемые в консоли, фактический операнд, употребляемый в выражении, допустимые протоколы для каждого операнда и описание каждого операнда.

Таблица 1. Операнды и их описания
Отображаемый операнд Операнд Допустимые протоколы Описание
Имя приложения application IIOP Имя приложения, в котором содержится EJB.
Хост клиента clienthost HTTP, SOAP, IIOP Полное имя хоста клиента. Это значение имени хоста в IP-команде. Этот операнд не поддерживает числовые операторы, такие как >, >=, <, <=.
Порт клиента clientport IIOP Имя порта клиента.
Клиент IPV4 clientipv4 HTTP, SOAP Адрес клиента в формате IPv4 в виде четырех чисел, разделенных точками: n.n.n.n
Клиент IPV6 clientipv6 HTTP, SOAP 28-битовый тип адреса IPv6 в формате x:x:x:x:x:x:x:x компьютера клиента.
Имя заголовка Cookie cookie$<имя> HTTP, SOAP Имя cookie. Например, выражение cookie$My_Cookie_Name='My_Cookie_Value' проверяет, содержится ли в запросе cookie с именем My_Cookie_Name и значением My_Cookie_Value. Для проверки на предмет отсутствия или наличия определенной записи cookie используется одно из следующих выражений:
  • cookie$MyCookieName IS NOT NULL
  • cookie$MyCookieName IS NULL
Имя модуля EJB ejbmodule IIOP Имя модуля EJB.
Имя EJB ejbname IIOP Имя EJB.
Имя метода EJB ejbmethod IIOP Имя метода в EJB.
ИД групп gids$<имя> HTTP, SOAP ИД группы отправителя запроса.
Метод HTTP HTTPMethod HTTP, SOAP Метод HTTP для запроса. Возможные значения: POST, GET, PUT и DELETE.
Тип MIME MIMEType HTTP, SOAP Тип MIME запроса.
Порт port HTTP, SOAP, IIOP Порт приема, где на хосте предоставляется служба.
Протокол protocol HTTP, SOAP Протокол связи, передающий запрос. В настоящее время поддерживаются протоколы: HTTP, HTTPS, SOAP и SOAPS
Имя заголовка запроса header $<имя> HTTP, SOAP

Имя и значение заголовка. Например, выражение header$Host='localhost' проверяет, содержится ли в запросе заголовок хоста HTTP со значением localhost. Для проверки на предмет отсутствия или наличия заголовка хоста используется одно из следующих выражений:

header$Host IS NOT NULL ,header$Host IS NULL

Имя параметра запроса разрешения queryparm$<имя> HTTP, SOAP Имя параметра запроса, указанное в URL запроса. Для каждого запроса существует связь пары имя/значение параметров запроса, если таковые существуют. Маршрутизатором нагрузки (ODR) используется имя параметра запроса в качестве ключа для поиска связи параметра, и, если таковая существует, маршрутизатор нагрузки извлекает значение для вычисления выражения правила. Если правило соответствует, выполняется указанное действие. В противном случае, используется действие по умолчанию для класса заданий, в котором определено выражение.
Например, выражение queryparm$timezone=’EST’ проверяет, содержится ли в запросе параметр запроса HTTP с именем timezone и значением EST. Для проверки на предмет отсутствия или наличия параметра запроса используется одна из следующих команд:
  • queryparm$timezone IS NOT NULL
  • queryparm$timezone IS NULL
Роли roles$<имя> HTTP, SOAP Роль отправителя запроса.
Хост сервера serverhost HTTP, SOAP, IIOP Полное имя хоста сервера. Этот операнд не поддерживает числовые операторы, такие как >, >=, <, <=.
Сервер IPV4 serveripv4 HTTP, SOAP IP-адрес компьютера сервера, использующего тип адреса IPv4 в виде четырех чисел, разделенных точками - n.n.n.n.
Сервер IPV6 serveripv6 HTTP, SOAP 28-битовый тип адреса IPv6 в формате x:x:x:x:x:x:x:x согласно RFC 1924 компьютера сервера.
Время time HTTP, SOAP, IIOP
Формат операнда time: [день-недели[/число[/месяц[/год]]]::][часы[:мин[:сек]]].
  • Значения дня-недели: Sun, Mon, Tue, Wed, Thu, Fri, Sat.
  • Значения числа: от 1 до 31.
  • Для месяца следует указать числовое значение, соответствующее месяцу, начиная с 1 для января и заканчивая 12 для декабря. Например, числовое значение 5 соответствует маю.
  • Год указывают в 4-значном формате. Например, 2007.
  • Значение часа следует указывать в 24-часовом формате времени.
  • Минуты должны быть целыми числами от 0 до 59.
  • Секунды должны быть целыми числами от 0 до 59.

Символ косой черты (/) используется для разделения параметров даты, два двоеточия (::) - для разделения параметров даты и времени, а двоеточием (:) отделяются параметры времени суток. Обратите внимание на то, что это булевский результат правила в целом, в котором используется операнд time, определяющий выполняемое действие маршрутизации.

ИД пользователя uid$<имя> HTTP, SOAP ИД пользователя отправителя запроса.
Виртуальный портал virtualportal HTTP, SOAP Виртуальные порталы создаются в WebSphere Portal Server, и WebSphere Virtual Enterprise поддерживает этот операнд для оптимальной интеграции с WebSphere Portal Server. Виртуальный портал - это URL запроса минус корневой контекст веб-модуля приложения WebSphere Portal. Если данный запрос соответствует заданному виртуальному порталу, выполняется действие маршрутизации, определенное для этого правила.
Выражение XPath xpathexpr SOAP

Строковое выражение XPath содержит обязательное поле, которое используется для ввода выражения XPath, а также необязательное поле для определения локального(-ых) пространства(пространств) имен. Если все пространства имен, содержащиеся в выражении XPath, - стандартные, второе поле может быть необязательным. Если существует несколько локальных пространств имен, их необходимо указать через запятую (,). Пример xpathexpr с определением одного локального пространства имен:

xpathexpr$/soap:Envelope/soap:Body/m:getTimeZone/n:clientId$m\\=http://test.classify.ws.ibm.com,n\\=http://test2.classify.ws.ibm.com = \\'1000\\' or operation IS NOT NULL

Оператор
  • = Оператор равенства означает совпадение с учетом регистра.
  • <> Оператор отсутствия равенства означает, что значение операнда не равно указанному вами значению.
  • > Оператор "больше" используется с числами.
  • >= Оператор "больше или равно" используется с числами.
  • < Оператор "меньше" используется с числами.
  • <= Оператор "меньше или равно" используется с числами.
  • AND: xx AND yy означает совпадения, содержащие и xx, и yy.
  • BETWEEN: Этот оператор используется с оператором AND для выбора диапазона значений, включая первое, или наименьшее, значение и последнее, или наибольшее, значение. Совместно, они применяются к цифрам и датам.
  • EXISTS: Этот булевский оператор выполняет проверку операнда или результата составного подвыражения, например, во время проверки на предмет наличия определенных атрибутов элемента заголовка HTTP.
  • IN: Этот оператор означает операнд с несколькими значениями в одном выражении. Например, если, для операнда port нужно выразить, что значение порта может быть любым значениями или всеми значениями из списка 9080, 9090, 9091, фрагмент выражения будет иметь вид port IN (9080,9090,9091). Вид значений в скобках зависит от типа данных номера порта. Если номер порта является целым числом, то согласно правилам синтаксиса значения должны быть указаны без кавычек. Если номер порта - это строка, применяется синтаксис port IN (‘9080’,‘9090’,‘9091’).
  • IS NULL: Этот оператор означает, что согласно проверке запроса запрашиваемый параметр не существует.
  • IS NOT NULL: Этот оператор означает, что проверка запроса подтвердила существование запрашиваемого параметра.
  • LIKE: Этот оператор означает совпадение шаблонов для значений строкового операнда. Это значение должно содержать в себе знак процента (%) в качестве символа подстановки в том расположении, где начинается совпадение шаблонов. Например, выражение host LIKE %blanca соответствует слову blanca или любому другому слову, которое заканчивается последовательностью символов blanca, а выражение host LIKE blanca% соответствует слову blanca или любому другому слову, которое начинается с blanca, а выражение host LIKE %blanca% соответствует слову blanca или любому слову, внутри которого есть последовательность символов blanca.
  • NOT: В выражении NOT xx этот оператор означает совпадения, не содержащие в себе xx.
  • OR: В выражении xx OR yy этот оператор означает совпадения, содержащие в себе либо xx, либо yy.
Значение

В зависимости от выбранного оператора, введите значение для подвыражения, которое вы собираетесь создать.

Компоновать подвыражение

Генерирует подвыражение как результат операнда, оператора и указанных пользователем значений.

Созданное подвыражение

Копирование и вставка подвыражения в правило.




WebSphere Virtual Enterprise Information Center (электронная справка)

Связанная информация
Стратегии маршрутизации маршрутизатора нагрузки
Стратегии обслуживания маршрутизатора нагрузки
Определение членства и правил класса заданий

wc_rulebuilder_detail