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

Intelligent Management: Operandos HTTP

Use os operandos HTTP no construtor de utilitário de subexpressão, uma ferramenta opcional que ajuda a construir condições das regras complexas a partir de subexpressões usando AND, OR, NOT e agrupamento parentético.

Regras

Cada classe de trabalho contém uma lista ordenada opcional de regras que são avaliadas para um pedido específico para determinar a política para tal pedido. Cada regra consiste em uma expressão booleana e em um valor de política. Se a expressão for avaliada como verdadeira para um determinado pedido, a política associada a essa regra será utilizada.

A sintaxe e as semânticas de uma expressão booleana para uma regra são semelhantes à cláusula WHERE de uma expressão SQL (Linguagem de consulta estruturada). Mais precisamente, a sintaxe de uma expressão é definida pela especificação JMS (Java™ Message Service) 1.1. Para obter mais informações, leia sobre a classificação da solicitação baseada em regras.

Na especificação JMS, os identificadores referem-se a vários atributos que podem ser associados a um pedido, por exemplo, um parâmetro de consulta específico, um cookie ou um cabeçalho HTTP. Um identificador JMS pode ser visto como uma variável, ou operando, do pedido. Esses operandos podem ser específicos de um protocolo. Por exemplo, o nome do serviço SOAP é um operando que é válido somente em um classe de trabalho de SOAP.

Como o SOAP é através de HTTP, os operandos HTTP também são válidos em um pedido SOAP. A especificação JMS utiliza literais para especificar um valor específico para utilizar na comparação com uma variável de pedido. Por exemplo, na expressão:
clienthost LIKE '%.ibm.com'
'%.ibm.com' é um literal que é utilizado para comparação com o nome do host do cliente para um pedido. Essa expressão é verdadeira para todos os pedidos que se originam de um computador no domínio ibm.com. Coloque os literais da cadeia entre aspas simples. Não delimite literais numéricos com aspas simples. Os parênteses, juntamente com os operadores AND, OR e NOT, podem ser usados também para formar expressões booleanas compostas. Consulte a especificação JMS 1.1 para obter uma descrição detalhada.

Operandos de Solicitação de HTTP

Tabela 1. Operandos de Solicitação de HTTP
Operando Sintaxe Description

Host do cliente

clienthost O nome completo do host cliente. Este é o valor do nome do host do comando IP (Internet Protocol). Este operando não suporta operadores numéricos tais como >, >=, <, <=.

Cliente IPV4

clientipv4 O endereço IP do cliente que usa o o tipo de endereço quadrangular pontilhado do Internet Protocol versão 4 (IPv4) n.n.n.n.

Cliente IPV6

clientipv6 O tipo de endereço IPv6 (Internet Protocol versão 6) de 128 bits de x:x:x:x:x:x:x:x seguindo o RFC 1924 (Pedido de Comentários 1924) do computador cliente.

Nome do Cookie

cookie$<nome> O nome de um cookie.
Por exemplo, a expressão cookie$My_Cookie_Name='My_Cookie_Value' testa um pedido para ver se ele contém um cookie denominado My_Cookie_Name com um valor de My_Cookie_Value. Para testar a presença ou a ausência de um determinado cookie, utilize uma das expressões a seguir:
cookie$MyCookieName IS NOT NULL 
cookie$MyCookieName IS NULL

Nome do cabeçalho

header $<nome> O nome e o valor de um cabeçalho.
Por exemplo, a expressão header$Host='localhost' testa um pedido para ver se ele contém um cabeçalho do host HTTP com um valor de host local. Para testar a presença ou ausência do cabeçalho do host, utilize uma das seguintes expressões:
header$Host IS NOT NULL 
header$Host IS NULL

Método HTTP

HTTPMethod O método HTTP para o pedido. Os possíveis valores são POST, GET, PUT e DELETE.

Tipo MIME

MIMEType O tipo MIME do pedido.

Porcentagem

percentage$<val> O operando de porcentagem é avaliado como true, uma porcentagem fixa do tempo.

Por exemplo, percentage$50 é avaliado como true na média de 50% do tempo.

Port

porta A porta de atendimento na qual a solicitação foi recebida.

Protocolo

protocol O protocolo de comunicações que transmite a solicitação. Os protocolos suportados atualmente são HTTP, HTTPS, SOAP e SOAPS.

Parâmetro de consulta

queryparm$<nome> O nome e o valor de um cabeçalho.
Por exemplo, a expressão queryparm$timezone='EST' testa um pedido para ver se ele contém um parâmetro de consulta HTTP denominado fuso horário com um valor EST. Para testar a presença ou a ausência de um parâmetro de consulta, utilize uma das formas a seguir:
queryparm$timezone IS NOT NULL 
queryparm$timezone IS NULL

Rampup

rampup$<startTime>

  $<completionTime>

O operando rampup é avaliado como true, uma porcentagem variável do tempo. Ele sempre avalia como falso antes de <startTime> e como verdadeiro depois de <completionTime>. Conforme o tempo progride de <startTime> para <completionTime>, ele avalia como verdadeiro, uma porcentagem linearmente crescente.

O formato de <startTime> e <completionTime> é day/month/year::hour:min:sec.

em que day é o dia do mês, month é um dos doze meses: jan, fev, mar, abr, mai, jun, jul, ago, set, out, nov, dez, year é o ano de 4 dígitos, hour é a hora de 2 dígitos do formato de 24 horas e min e sec são valores de 2 dígitos para minuto e segundo, respectivamente.

Por exemplo:

rampup$01/Jan/2007::08:00:00$01/Jan/2007::17:00:00 começa a ser avaliado ocasionalmente como true às 8h de 1 de jan de 2007 e é sempre avaliado como true pela hora de conclusão de ramp up às 17h do mesmo dia.

Esquema do URI

request.uri.scheme

O esquema do URI.

Host do servidor

serverhost O nome completo do host do servidor. Este operando não suporta operadores numéricos tais como >, >=, <, <=.

IPV4 do servidor

serveripv4 O endereço IP do computador servidor que utiliza o tipo de endereço quadrangular pontilhado IPv4 n.n.n.n.

IPV6 do servidor

serveripv6 O tipo de endereço IPv6 de 128 bits de x:x:x:x:x:x:x:x seguindo o RFC 1924 do computador servidor.

Serviço

service O nome de um serviço da Web.

Time

time

Usado para definir a data e hora do dia que um determinado pedido deve ser cumprido. Dois campos adicionais são StartTime e EndTime. Se um pedido for recebido fora daquela janela definida, o pedido não será processado.

Os campos Start Time e End Time têm o seguinte formato: dayOfWeek/dayOfMonth/month/year::hour:minute:second.

Por exemplo, Quinta-feira, 11 de abril de 2007 às 13:03:45 é especificado como:

Qui/11/Abr/2007::13:03:45

Os valores dayofWeek são dom, seg, ter, qua, qui, sex, sáb e os valores dayOfMonth variam de 1 a 31.

O valor mês é um valor não numérico que representa os doze meses: jan, fev, mar, abr, mai, jun, jul, ago, set, out, nov, dez.

O valor year é composto de quatro dígitos do ano. Por exemplo, 2007.

O valor hour é a hora do dia no relógio de 24 horas. Por exemplo, 8h é representado como ::8. O minute e second são representados como inteiros que variam de 0-59.

Nota: Omissões e curingas não são suportados para o operando de horário.

A barra (/) é utilizada para separar parâmetros de data, dois-pontos (::) são utilizados para separar a hora dos parâmetros de dia. Note que é o resultado booleano da regra inteira na qual o operando horário que é usado, determina a ação de roteamento utilizada.

URI

uri

Identificador Uniforme de Recursos

Host Virtual

virtualhost

Destino do host virtual do pedido, usado para configurar aplicativos da Web como um nome do host específico.

Porta Virtual

virtualport

Destino da porta virtual d pedido, usado para configurar aplicativos de Web como uma porta específica.

Portal Virtual

virtualportal

Os portais virtuais são criados dentro do WebSphere Portal Server, e o Intelligent Management suporta este operando para melhor integração com o WebSphere Portal Server. O portal virtual é a URL da solicitação menos a raiz de contexto do módulo da Web de aplicativo WebSphere Portal. Se um determinado módulo corresponder ao portal virtual definido, então, a ação de roteamento definida para essa regra será utilizada.

Operandos de Resposta de HTTP

Quando você está usando um arquivo de log customizado, é possível usar os seguintes operandos além dos operandos na Tabela 1:
Tabela 2. Operandos de Resposta de HTTP
Operando Sintaxe Description

Código de resposta

response.code

Filtra os códigos de resposta HTTP, como 404, 503, e assim por diante.

Tempo de resposta

response.time

A quantidade de milissegundos entre quando o pedido é recebido no ODR e até a resposta ser enviada a partir do ODR.

Erro de gravação de resposta

response.write.error

Erros de logs que podem ocorrer ao gravar uma resposta a um cliente.

Tempo de serviço

service.time

A quantidade de milissegundos entre quando o pedido é enviado ao servidor de aplicativos e quando uma resposta é recebida a partir do servidor de aplicativos.

Servidor de destino

targetserver

Mostra o servidor onde o pedido foi enviado, em um formato WebSphere Application Server. Por exemplo, mycell/mynode/myserver.

Expressão Xpath

A sintaxe para a expressão XPath é xpathexpr e é suportada por HTTP.

A expressão de sequência XPath possui um campo obrigatório que contém a expressão XPath e um campo opcional para definir espaços de nomes locais. Se todos os espaços de nomes contidos na expressão XPath forem padrão, o segundo campo pode ser opcional. Se houver diversos espaços de nomes locais, separe cada um com uma vírgula (,).

O exemplo a seguir mostra uma xpathexpr com uma definição de espaço de nomes local:

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

Na expressão anterior, a expressão XPath é /http:Envelope/soap:Body/n:getTimeZone/n:clientId. Ela contém o namespace local n. Assim, o segundo campo do xpathexpr é definido como n\\=http://test.classify.ws.ibm.com. O sinal de dólar ($) é utilizado para denotar o início de uma definição de campo. As barras duplas invertidas são a sequência de escape neste exemplo. O primeiro sinal de igual (=) recebe escape porque faz parte da definição de espaço de nomes local, enquanto o segundo sinal de igual (=) é o operador da expressão de classificação e não deve receber escape.

O exemplo a seguir mostra uma xpathexpr com dois espaços de nomes locais:

xpathexpr$/http:Envelope/http: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
A tabela a seguir mostra os espaços de nomes padrão para a expressão xpathexpr:
Tabela 3. Espaços de nomes
Espaço de nomes URL
soap http://schemas.xmlsoap.org/soap/envelope/
soap-env http://schemas.xmlsoap.org/soap/envelope/
soapenc http://schemas.xmlsoap.org/soap/encoding/
soapbind http://schemas.xmlsoap.org/wsdl/soap/
xsd http://www.w3.org/2001/XMLSchema
xsi http://www.w3.org/2001/XMLSchema-instance
xsi http://ws-i.org/schemas/conformanceClaim/
wsdl http://schemas.xmlsoap.org/wsdl/

Operadores

O Intelligent Management suporta os operadores na seguinte tabela nas expressões de regras. Esses operadores são referidos também como predicados na terminologia SQL porque comparecem dentro de uma cláusula WHERE ou HAVING. Os operadores não fazem distinção entre maiúsculas e minúsculas.

  • Equals Ignore Case (EQUALSIGNORECASE): Idêntico a 'String = String', exceto no caso em que as sequências forem ignoradas. Portanto, 'ABC EQUALSIGNORECASE 'abc' seria avaliada como true. ('ABC' = 'abc') é avaliada para false.
  • Not Equals (<>): O operador Not Equals expressa que o valor do operando não é igual ao valor que você inserir.
  • In (IN): Este operador expressa um operando com diversos valores em uma única expressão. Por exemplo, se, para um operando chamado port, você desejar expressar que o valor da porta pode ser qualquer um ou todos os valores como 9080, 9090, 9091, o fragmento da expressão será porta IN (9080,9090,9091). Como os valores dentro dos colchetes são expressos depende do tipo de dado da porta. Se a porta for um número inteiro, a sintaxe correta será os valores sem as aspas. Se a porta for uma sequência, a sintaxe correta será port IN (‘9080’,‘9090’,‘9091’).
  • Like (LIKE): Esse operador expressa uma correspondência de padrão para os valores do operando de sequência. O valor deve conter o sinal de percentual do caractere curinga (%) na posição em que a correspondência padrão inicia. Por exemplo, a expressão host LIKE %blanca corresponde à palavra blanca ou a qualquer outra palavra que termine com blanca, enquanto a expressão host LIKE blanca% corresponde à palavra blanca ou a qualquer outra palavra que inicia com blanca e a expressão host LIKE %blanca% corresponde à palavra blanca e a qualquer palavra que tenha blanca integrada nela.
  • Like Ignore Case (LIKEIGNORECASE): Idêntico à sequência como 'string like string', exceto no caso em que as sequências são ignoradas.
  • Is Not Null (IS NOT NULL): Este operador expressa que uma validação da consulta mostra que o parâmetro solicitado existe.
  • Concatenate (): Esse operador expressa duas sequências de caracteres reunidas: 'abc' + 'def' = 'abcdef'.
  • Like In (LIKEIN): Esse operador expressa que a sequência likein (string1, string2, string3, etc.) será avaliada para true se a sequência à esquerda de "likein" corresponder a uma ou mais das sequências (stringN)
  • Is Null (IS NULL): Este operador expressa que uma validação da consulta mostra que o parâmetro solicitado não existe.
  • Equals ( = ): O operador de igualdade expressa uma correspondência com distinção entre maiúsculas e minúsculas.

Ícone que indica o tipo de tópico Tópico de Referência



Ícone de registro de data e hora Última atualização: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rwve_odrhttp
Nome do arquivo: rwve_odrhttp.html