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

Intelligent Management : opérandes HTTP

Utilisez les opérandes HTTP dans le générateur de sous-expression, un outil disponible en option permettant de générer des conditions de règle complexes à partir de sous-expressions avec AND, OR, NOT et le regroupement entre parenthèses.

Règles

Chaque classe de travail contient une liste ordonnée et facultative de règles qui sont évaluées pour une demande particulière afin de déterminer la stratégie à lui appliquer. Chaque règle se compose d'une expression booléenne et d'une valeur de stratégie. Si l'expression renvoie la valeur true pour une demande particulière, la stratégie associée à cette règle est utilisée.

La syntaxe et la sémantique d'une expression booléenne d'une règle sont similaires à celles de la clause WHERE d'une expression SQL (Structured Query Language). Plus précisément, la syntaxe d'une expression est définie par la spécification Java™ Message Service (JMS) 1.1. Pour plus d'informations, consultez la rubrique relative à la classification des demandes basées sur des règles.

Dans la spécification JMS, les identificateurs font référence à différents attributs pouvant être associés à une demande, par exemple, un paramètre de demande, un cookie ou un en-tête HTTP spécifique. Un identificateur JMS peut être considéré comme une variable de demande ou opérande. Ces opérandes peuvent être propres à un protocole. Par exemple, le nom de service SOAP est un opérande qui n'est valide que dans une classe de travail SOAP.

Etant donné que SOAP se trouve au-dessus de HTTP, les opérandes HTTP sont également valides dans une demande SOAP. La spécification JMS utilise des littéraux pour indiquer une valeur spécifique à employer dans une comparaison de variable de demande. Par exemple, dans l'expression :
clienthost LIKE '%.ibm.com'
'%.ibm.com' est un littéral utilisé pour comparer le nom d'hôte client pour une demande. Cette expression est vraie pour toutes les demandes qui émanent d'un ordinateur du domaine ibm.com. Placez les littéraux chaîne entre guillemets simples. Ne placez pas les littéraux numériques entre guillemets simples. Utilisées avec les opérateurs AND, OR et NOT, les parenthèses permettent de former des expressions booléennes complexes. La spécification JMS 1.1 propose une description détaillée de ces éléments.

Opérandes d'une demande HTTP

Tableau 1. Opérandes d'une demande HTTP
Opérande Syntaxe Description

Hôte client

clienthost Nom d'hôte complet du client. Il s'agit de la valeur du nom d'hôte de la commande IP. Cet opérande ne prend pas en charge les opérateurs numériques tels que >, >=, <, <=.

IPV4 client

clientipv4 clientipv4 – Adresse IP du client dans le format Internet Protocol version 4 (IPv4) à quatre éléments séparés par des points n.n.n.n.

IPV6 client

clientipv6 Adresse Internet Protocol version 6 (IPv6) 128 bits du type x:x:x:x:x:x:x:x conforme au protocole RFC 1924 de l'ordinateur client.

Nom du cookie

cookie$<nom> Nom d'un cookie.
Par exemple, l'expression cookie$Nom_cookie='Nom_cookie' permet de vérifier qu'une demande contient le cookie Nom_cookie associé à la valeur Nom_cookie. Pour vérifier la présence ou l'absence d'un cookie particulier, utilisez l'une des expressions suivantes :
cookie$MyCookieName IS NOT NULL 
cookie$MyCookieName IS NULL

Nom d'en-tête

header $<nom> Nom et valeur de l'en-tête.
Par exemple, l'expression header$Hote='localhost' permet de vérifier qu'une demande contient un en-tête hôte HTTP avec la valeur localhost. Pour vérifier la présence ou l'absence de l'en-tête d'hôte, utilisez l'une des expressions suivantes :
header$Host IS NOT NULL 
header$Host IS NULL

Méthode HTTP

HTTPMethod Méthode HTTP de la demande. Les valeurs possibles sont POST, GET, PUT et DELETE.

Type MIME

MIMEType Type MIME de la demande.

Pourcentage

percentage$<val> L'opérande de pourcentage a pour valeur true pour un pourcentage fixe du temps.

Par exemple, percentage$50 a pour valeur true 50 % du temps.

port

port Port d'écoute sur lequel la demande a été reçue.

Protocole

protocol Protocoles de communication qui transmettent la demande. Les protocoles actuellement pris en charge sont HTTP, HTTPS, SOAP et SOAPS.

Paramètre de demande

queryparm$<nom> Nom et valeur de l'en-tête.
Par exemple, l'expression queryparm$Hote='EST' permet de vérifier que la demande contient un paramètre de demande HTTP de fuseau horaire dont la valeur est EST. Pour vérifier la présence ou l'absence d'un paramètre de demande particulier, utilisez l'une des expressions suivantes :
queryparm$timezone IS NOT NULL 
queryparm$timezone IS NULL

Augmentation progressive

rampup$<heure_début>

  $<heure_fin>

L'opérande d'augmentation progressive a pour valeur true pour un pourcentage variable du temps. Il est toujours associé à la valeur false avant <heure_début> et à la valeur true avant <heure_fin>. Au fur et à mesure que l'heure se rapproche de la valeur <heure_fin>, il prend la valeur true pour un pourcentage du temps qui augmente de façon linéaire.

Le format de <heure_début> et <heure_fin> est jour/mois/année::hour:min:sec.

jour est le jour du mois, mois est l'un des douze mois (Jan, Fév, Mar, Avr, Mai, Jui, Juil, Aoû, Sep, Oct, Nov, Déc), année est une année composée de 4 chiffres, heure est l'heure militaire à 2 chiffres et mn et s sont des valeurs à 2 chiffres pour les minutes et les secondes, respectivement.

Par exemple,

rampup$01/Jan/2007::08:00:00$01/Jan/2007::17:00:00 est parfois associé à la valeur true à 8 heures le 1er janvier 2007 et est toujours associé à la valeur true à 17 heures le même jour, une fois l'heure de fin atteinte progressivement.

Schéma de l'URI

request.uri.scheme

Schéma de l'URI.

Hôte serveur

serverhost Nom d'hôte complet du serveur. Cet opérande ne prend pas en charge les opérateurs numériques tels que >, >=, <, <=.

IPV4 serveur

serveripv4 Adresse IP de l'ordinateur serveur au format IPv4 à quatre éléments séparés par des points n.n.n.n.

IPV6 serveur

serveripv6 Adresse IPv6 128 bits du type x:x:x:x:x:x:x:x conforme au document RFC 1924 de l'ordinateur serveur.

Maintenance

service Nom d'un service Web.

Line

time

Permet de définir la date et l'heure auxquelles une demande doit être traitée. Les deux zones facultatives sont StartTime et EndTime. Si une demande est reçue en dehors de la plage horaire définie, elle n'est pas traitée.

Le format des zones d'heure de début et d'heure de fin est le suivant : jour/date/mois/année::heure:minutes:secondes.

Par exemple, "mardi 11 avril 2007 à 13:03:45" est indiqué sous la forme suivante :

Mar/11/Avr/2007::13:03:45

Les valeurs du jour sont Dim, Lun, Mar, Mer, Jeu, Ven, Sam et les valeurs de date sont comprises entre 1 et 31.

La valeur du mois est une valeur non numérique correspondant aux mois de l'année : Jan, Fev, Mar, Avr, Mai, Jui, Juil, Aoû, Sep, Oct, Nov, Déc.

La valeur de l'année comporte quatre chiffres, par exemple : 2007.

L'heure est indiquée au format 24 heures. Par exemple, 8 heures du matin est indiqué sous la forme ::8. Les minutes et les secondes sont des entiers compris entre 0 et 59.

Remarque : Les omissions et caractères génériques ne sont pas pris en charge pour l'opérande time.

La barre oblique inverse (/) sépare les paramètres de date, les deux-points doubles (::) séparent les paramètres de date, et les deux points simples (:) séparent les paramètres d'heure. Notez que c'est le résultat booléen de la règle complète dans laquelle l'opérande time est utilisé qui détermine l'action de routage appliquée.

URI

uri

Uniform Resource Identifier (URI)

Hôte virtuel

virtualhost

Hôte virtuel cible de la demande utilisé pour configurer des applications Web avec un nom d'hôte spécifique.

Portail virtuel

virtualport

Port cible virtuel de la demande utilisé pour configurer des applications Web sur un port spécifique.

Portail virtuel

virtualportal

Des portails virtuels sont créés dans WebSphere Portal Server ; la fonction Gestion intelligente prend en charge cet opérande pour une meilleure intégration à WebSphere Portal Server. Le portail virtuel est l'URL de la demande, amputée de la racine de contexte pour le module Web de l'application WebSphere Portal. Si une demande donnée correspond au portail virtuel défini, l'action de routage définie pour cette règle est appliquée.

Opérandes d'une réponse HTTP

Lorsque vous utilisez un fichier journal personnalisé, vous pouvez utiliser les opérandes suivants, en plus des opérandes du tableau 1 :
Tableau 2. Opérandes d'une réponse HTTP
Opérande Syntaxe Description

Code réponse

response.code

Filtre par code de réponse HTTP, par exemple 404, 503, etc.

Temps de réponse

response.time

Nombre de millisecondes entre la réception de la demande par le routeur ODR et le renvoi de la réponse par le routeur ODR.

Erreur d'écriture de réponse

response.write.error

Consigne les erreurs qui peuvent se produire lors de la transmission d'une réponse à un client.

Temps de service

service.time

Nombre de millisecondes entre l'envoi de la demande au serveur d'applications et la réception d'une réponse par le serveur d'applications.

Serveur cible

targetserver

Affiche le serveur où la demande a été envoyée, dans un format WebSphere Application Server. Par exemple, macellule/monnoeud/monserveur.

Expression Xpath

La syntaxe de l'expression Xpath est xpathexpr et est prise en charge par HTTP.

L'expression de type chaîne XPath comporte une zone obligatoire contenant l'expression XPath et une zone facultative permettant de définir les espaces de nom locaux. Si l'expression contient uniquement des espaces de nom standard, la deuxième zone peut être facultative. S'il existe plusieurs espaces de nom locaux, séparez-les par une virgule (,).

Voici un exemple d'expression xpathexpr avec une définition d'espace de nom local :

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

Dans l'expression qui précède, l'expression XPath est /http:Envelope/soap:Body/n:getTimeZone/n:clientId. Elle contient l'espace de nom local de n. Par conséquent, la deuxième zone de l'expression est définie sous la forme n\\=http://test.classify.ws.ibm.com. Le signe dollar ($) indique le début d'une définition de zone. Les doubles barres obliques inverses constituent la séquence d'échappement dans cet exemple. Une séquence d'échappement est entrée pour le premier signe égal (=) car il fait partie de la définition de l'espace de nom local, alors que le deuxième signe égal (=) est l'opérateur dans l'expression de classification, qui ne doit pas être associé à une séquence d'échappement.

L'exemple suivant affiche une expression xpathexpr avec deux espaces de nom locaux :

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
Le tableau ci-dessous indique les espaces de nom standard pour l'expression xpathexpr :
Tableau 3. Espaces de nom
Espace de nom 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/

Opérateurs

La fonction Gestion intelligente prend en charge les opérateurs dans les expressions de règles. Ces opérateurs sont également appelés prédicats dans la terminologie SQL car ils figurent dans une clause WHERE ou HAVING. La distinction entre les minuscules et les majuscules n'est pas nécessaire pour les opérateurs.

  • Egal à et ignorant la casse (EQUALSIGNORECASE) : Identique à 'Chaîne = Chaîne', sauf que la casse des chaînes est ignorée. Ainsi, 'ABC' EQUALSIGNORECASE 'abc' renverrait 'true'. ('ABC' = 'abc') renverrait 'false'.
  • Différent de ( <> ): L'opérateur d'inégalité exprime que la valeur d'opérande n'est pas égale à la valeur que vous avez entrée.
  • Dans (IN) : Cet opérateur indique un opérande contenant plusieurs valeurs dans une expression unique. Par exemple, si, pour un opérande appelé port, vous souhaitez spécifier que la valeur du port peut être l'une des valeurs 9080, 9090, 9091, le fragment d'expression est port IN (9080,9090,9091). L'expression des valeurs dans les crochets dépend du type de donnée de port. Si le port est représenté par un entier, la syntaxe correcte correspond aux valeurs sans les guillemets. Si le port est une chaîne, la syntaxe correcte est port IN (9080,9090, 9091) (‘’ (‘’ (‘’.
  • Similaire (LIKE) : Cet opérateur indique une recherche de correspondance de canevas pour des valeurs d'opérande de type chaîne. La valeur doit contenir le caractère générique de pourcentage (%) à la position où la correspondance de modèle commence. Par exemple, l'expression host LIKE %blanca correspond au mot "blanca" ou à tout autre mot se terminant par "blanca", alors que l'expression host LIKE blanca% correspond au mot "blanca" ou à tout autre mot commençant par "blanca", tandis que l'expression host LIKE %blanca% correspond au mot "blanca" et à tout mot contenant "blanca".
  • Similaire et ignorant la casse (LIKEIGNORECASE) : Identique à 'chaîne like chaîne', sauf que la casse des chaînes est ignorée.
  • N'est pas Null (IS NOT NULL) : Cet opérateur indique qu'une validation de la demande signale que le paramètre demandé existe.
  • Concaténer (+) : Cet opérateur indique que deux chaînes de caractères ont été soudées : 'abc' + 'def' = 'abcdef'.
  • Similaire Dans In (LIKEIN) : Cet opérateur se présentant sous la forme chaîne likein (chaîne1, chaîne2, chaîne3, etc.) renvoie 'true' si la chaîne à gauche de "likein" correspond à l'une ou plusieurs des chaînes (chaîneN)
  • Est Null (IS NULL) : Cet opérateur indique qu'une validation de la requête signale que le paramètre demandé n'existe pas.
  • Egal ( = ) : L'opérateur d'égalité indique une correspondance sensible à la casse.

Icône indiquant le type de rubrique Rubrique de référence



Icône d'horodatage Dernière mise à jour: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rwve_odrhttp
Nom du fichier : rwve_odrhttp.html