WebSphere Extended Deployment, Version 6.0.x     Sistemas Operacionais: AIX,, HP-UX, Linux, Solaris , Windows , z/OS

Políticas de Roteamento e de Serviço para Classes de Trabalho

Uma classe de trabalho é utilizada para classificar pedidos para aplicar uma política ao pedido. Existem dois tipos de políticas que são aplicadas a um pedido: roteamento e serviço. É possível criar políticas de roteamento para pedidos HTTP e SOAP. É possível criar políticas de serviço para pedidos HTTP, IIOP, SOAP e JMS. Adicionalmente, as classes de trabalho podem conter regras de classificação para ambos os tipos de política, com exceção do JMS. As regras de classificação não são suportadas para classes de trabalho de JMS. As políticas de roteamento e de serviço para classes de trabalho não são suportadas para IIOP e JMS para aplicativos implementados no z/OS. O WebSphere Application Server para z/OS fornece classificação de serviços IIOP e JMS.

Políticas de Roteamento Válidas

Política de Roteamento Descrição
permit:<application_name> Nesta política de roteamento, application_name é o nome do aplicativo a ser roteado com um especificador de edição opcional. Isso permite que o pedido continue normal.
permitsticky:<application_name> A política de roteamento permitsticky é a mesma que a política de roteamento permit, exceto pelo fato de que o ODR (On Demand Router) também mantém afinidade do cliente para o servidor para quaisquer pedidos futuros que venham do mesmo cliente. Neste caso, o ODR inclui um cabeçalho SET-COOKIE na resposta antes de enviar a resposta para o cliente.
reject:<HTTP_error_code> Esta política de roteamento faz com que o ODR rejeite qualquer pedido que tenha o código de erro de HTTP especificado. Por exemplo, reject:503 retorna um erro 503 O Serviço Está Indisponível.
redirect:<URL> Com esta política de roteamento, o ODR redireciona o pedido para a URL especificada. A URL tem o padrão de protocolo:// ;. Um exemplo de uma URL válida é: http://w3.ibm.com.

As políticas de serviço válidas são simplesmente a lista dos nomes das classes de transação. A classe de transação refere-se a um única classe de serviço.

Classes de Trabalho

Existem quatro tipos de classes de trabalho:

Table 1. Tipos de Classes de Trabalho
Classe de Trabalho Descrição
Política de roteamento de aplicativo Especifica como determinar a política de roteamento para um pedido para um aplicativo que está instalado no WebSphere Extended Deployment.
Política de serviço de aplicativo Especifica como determinar a política de serviço para um pedido para um aplicativo que está instalado no WebSphere Extended Deployment.
Política de roteamento de cluster de servidor genérico Especifica como determinar a política de roteamento para um pedido para um cluster de servidor genérico.
Política de serviço de cluster de servidor genérico Especifica como determinar a política de serviço para um pedido para um cluster de servidor genérico.

O diagrama a seguir ilustra o fluxo de um pedido destinado para um aplicativo que está instalado no WebSphere Extended Deployment. O pedido é aplicado em uma classe de trabalho da política de roteamento de aplicativos para determinar a política de roteamento. Se a política de roteamento resultante for permit ou permitsticky, o pedido continuará para uma classe de trabalho de política de serviço de aplicativo para determinar a política de serviço e o nome da classe de transação.

Cada aplicativo contém classes de trabalho padrão de roteamento de aplicativo e de serviço de aplicativo. Também é possível criar classes de trabalho adicionais não-padrão. Cada classe de trabalho tem uma ação correspondente padrão. A política de roteamento padrão para um aplicativo é permit:<application_name>. A política de serviço padrão é Default_TC, a classe de transação padrão.

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 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 a semântica de uma expressão booleana para uma regra são semelhantes à cláusula WHERE de uma expressão SQL (Structured Query Language). Mais precisamente, a sintaxe de uma expressão é definida pela especificação JMS (Java Message Service) 1.1. Consulte Classificação de Pedidos Baseada em Regras do ODR para obter informações adicionais.

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.

Embora a lista de operandos seja dinâmica, os que são listados aqui são os operandos da fundação. Para saber mais, revise a documentação do produto que suporta a lista estendida. A tabela a seguir lista os operandos e seus protocolos associados:

Table 2. Operandos
Variável do Pedido Protocolos Válidos Descrição

[Version 6.0.1 and later] application

IIOP O nome do Aplicativo Corporativo no qual o EJB está contido.
clienthost

HTTP

SOAP

[Version 6.0.1 and later] IIOP

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 >, >=, <, <=.

[Version 6.0.1 and later] clientport

IIOP O nome da porta do cliente.
clientipv4

HTTP

SOAP

O endereço IP da máquina cliente utilizando o tipo de endereço quadrangular pontilhado IPv4 (Internet Protocol version 4) n.n.n.n.
clientipv6

HTTP

SOAP

O tipo de endereço IPv6 (Internet Protocol version 6) de 128 bits de x:x:x:x:x:x:x:x seguindo o RFC (Request for Comments) 1924 da máquina cliente.
cookie$<nome>

HTTP

SOAP

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

[Version 6.0.1 and later] ejbmodule

IIOP O nome do módulo de um EJB.

[Version 6.0.1 and later] ejbname

IIOP O nome de um EJB.

[Version 6.0.1 and later] ejbmethod

IIOP O nome de um método no EJB.
gid

HTTP

SOAP

O ID do grupo do emissor do pedido.
header $<nome>

HTTP

SOAP

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:
cookie$Host IS NOT NULL
cookie$Host IS NULL
HTTPMethod

HTTP

SOAP

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

HTTP

SOAP

O tipo MIME do pedido.
operation SOAP O nome de uma operação de serviço da Web.
port

HTTP

SOAP

IIOP

A porta de atendimento na qual o pedido foi recebido.
protocol

HTTP

SOAP

O protocolo de comunicações que transmite o pedido. Os protocolos suportados atualmente são HTTP, HTTPS, SOAP e SOAPS.
queryparm$<nome>

HTTP

SOAP

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
serverhost

HTTP

SOAP

[Version 6.0.1 and later] IIOP

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

HTTP

SOAP

O endereço IP da máquina servidor utilizando o tipo de endereço quadrangular pontilhado IPv4 n.n.n.n.
serveripv6

HTTP

SOAP

O tipo de endereço IPv6 de 128 bits de x:x:x:x:x:x:x:x seguindo o RFC 1924 da máquina servidor.
service

SOAP

O nome de um serviço da Web.
uid

HTTP

SOAP

O ID do usuário do emissor do pedido.
Como o SOAP é por 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 é avaliada como verdadeira para todos os pedidos que se originam de uma máquina 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 junto com os operadores AND, OR e NOT também podem ser utilizados para formar expressões booleanas compostas. Consulte a especificação JMS 1.1 para obter uma descrição detalhada.

Operadores

O WebSphere Extended Deployment suporta os operadores abaixo nas expressões de regras. Estes operadores também são referidos como predicados na terminologia SQL, porque aparecem dentro de uma cláusula WHERE ou HAVING. Os operadores não fazem distinção entre maiúsculas e minúsculas.

Table 3. Operadores de Classificação de Pedidos
Operador Descrição
OR O operador lógico OR.
AND O operador lógico AND.
NOT O operador de negação.
IN Expressa um operando com vários valores em uma única expressão. Seu significado é consistente com o significado padrão do SQL do operador. Por exemplo, se, para um operando chamado port, um usuário desejar expressar que o valor de porta pode ser qualquer um ou todos os valores como 9080, 9090, 9091, o fragmento de expressão será:
port IN (9080,9090,9091)
Em SQL, como os valores entre colchetes são expressos depende do tipo de dados da porta. Se a porta for um inteiro, os valores sem aspas simples estarão sintaticamente corretos. Se a porta for uma cadeia, a expressão correta será:
port IN (‘9080’, ‘9090’, ‘9091’)
LIKE
Expressa correspondência de padrão para valores de operandos de cadeia e seu significado e uso são consistentes com os definidos pela linguagem SQL. O valor deve conter o caractere curinga (%) na posição em que é esperado o início da correspondência de padrões. Por exemplo, a expressão:
host LIKE %blanca
corresponde a palavra blanca ou qualquer outra palavra que termine em blanca, enquanto a expressão:
host LIKE blanca%
corresponde a palavra blanca ou qualquer outra palavra que comece com blanca. A expressão:
host LIKE %blanca%
corresponde a palavra blanca ou qualquer palavra que tenha o símbolo blanca dentro dela.

Do ponto de vista de uma implementação de código, a classe java.util.regex.Pattern é utilizada.

= O operador de igualdade expressa uma correspondência em uma forma com distinção entre maiúsculas e minúsculas.
> O operador Greater-than para utilização com operandos numéricos.
>= Operador Greater-than ou equal para utilização com operandos numéricos.
< Operador Less-than para utilização com operandos numéricos.
<= Operador Less-than ou equal para utilização com operandos numéricos.
< > Operador Not equal.
BETWEEN Utilizado com AND para selecionar um intervalo de valores incluindo o primeiro (baixo) e o último (alto) valores. Juntos, eles operam em números e valores de datas.
IS NULL Testa um operando que tenha um valor NULL.
IS NOT NULL Testa um operando que tenha um valor diferente de NULL.



Related concepts
Classificação de Pedidos Baseada em Regras do ODR

Related tasks
Definindo uma Política de Serviço
Ativando Edições Simultâneas
Validando uma Edição

Tópico de Referência    

Termos de Uso | Feedback Última atualização: Mar 21, 2006 12:46:23 PM EST
http://publib.boulder.ibm.com/infocenter/wxdinfo/v6r0/index.jsp?topic=?topic=/com.ibm.websphere.xd.doc/info/odoe_task/rodrworkclass.html

© Copyright IBM 2005, 2006. Todos os Direitos Reservados.
Este centro de informações é desenvolvido em tecnologia Eclipse. (http://www.eclipse.org)