WebSphere Extended Deployment, Version 6.0.x     Systèmes d'exploitation : AIX, HP-UX, Linux, Solaris, Windows, z/OS

Classification des demandes basées sur des règles

Dans toute technologie basée sur des règles, le traitement de celles-ci implique essentiellement trois champs d'action comprenant le vocabulaire qui forme le langage, la grammaire mettant en oeuvre le vocabulaire dans des instructions et le moteur de traitement des règles. Cette rubrique décrit le vocabulaire et la grammaire. Le moteur de traitement des règles est réutilisable d'un composant commun à l'autre.

Le vocabulaire se compose des opérateurs, des mots-clés de variable utilisés comme opérandes et des instructions de flux de contrôle. Le langage choisi est Java Message Service (JMS 1.1), notamment la syntaxe du sélecteur de message. Le sélecteur de message est une chaîne dont la syntaxe est basée sur un sous-ensemble de l'expression conditionnelle SQL92. Dans cette application, il exprime une règle de classification. La syntaxe d'expression générale est la suivante :

expression désigne l'expression d'une requête SQL valide dont la clause conditionnelle contient des prédicats ; par exemple,

serverhost like ‘%ibm.com’

Dans cette expression, serverhost est l'opérande, like est l'opérateur et '%ibm.com' est le littéral ou la valeur que doit posséder serverhost pour que l'expression ait pour résultat true. Une expression entraîne une action. D'un point de vue grammatical, ces actions sont des littéraux transmis par un fournisseur de règles. Deux types de règles sont pris en charge, les règles de routage et les règles de service. Par conséquent les actions effectuées sont dictées par le fournisseur des règles. Pour le routage, les actions sont permit, reject, redirect et permitsticky. Chaque action est associée à la cible appropriée, le destinataire d'une action. Si l'équivalence d'une expression a pour résultat d'entreprendre l'action permit, la cible de cette action est l'application pour laquelle le routage est autorisé. Pour les règles de service, la cible est encapsulée dans l'action, et l'action est une classe de transaction.

Une instruction complète consiste en une expression de règle et l'action à entreprendre est représentée différemment selon la source de l'entrée. Avec la console d'administration, les actions sont séparées en formulaires et zones faciles à sélectionner. Si vous utilisez l'option de Gestion des classes de travail à l'aide de scripts, l'instruction complète ressemble à :

expression<delimeter>action
Par exemple, clienthost='localhost' et serverhost like '%.ibm.com'?permit?DefaultApplication.ear

Toutefois, du point de vue de l'implémentation, les classes de travail, qui sont des documents XML, permettent de capturer des expressions de règles ainsi que d'autres artefacts d'implémentation. C'est pourquoi une classe de travail est un document XML contenant zéro ou plusieurs éléments matchRules et un ou plusieurs éléments workClassModules. Pour plus d'informations, voir Stratégies de routage et de service des classes de travail.

Opérateurs

WebSphere Extended Deployment prend en charge les opérateurs dans les expressions de règles. En général, le véritable type de données d'un opérande n'est pas connu. Cependant, l'approche HTTP consiste à considérer chaque opérande comme une chaîne de type de données et à utiliser l'opérateur comme indicateur du type de données réel de l'opérande en vue de la validation des données. Exemple d'opérateur permettant de tester un opérande dont la valeur est NULL : IS NULL.

Opérandes

La liste des opérandes est dynamique. Les opérandes sont valides dans les portées de protocole. Si un opérande est spécifié dans une portée pour laquelle il n'est pas valide, une condition d'erreur est signalée. Dans cet édition, les protocoles pris en charge sont les suivants :
  • HTTP
  • [distributed platforms] SOAP sur HTTP, appelé simplement SOAP
  • [distributed platforms] [Version 6.0.1 and later] IIOP
Exemple d'opérande pour les demandes HTTP : MIMEType.



Related reference
Stratégies de routage des classes de travail

Rubrique Concept    

Conditions d'utilisation | Commentaires Dernière mise à jour le : Mar 16, 2006 9:55:50 AM EST
http://publib.boulder.ibm.com/infocenter/wxdinfo/v6r0/index.jsp?topic=?topic=/com.ibm.websphere.xd.doc/info/odoe_task/codoerule.html

© Copyright IBM 2005, 2006. All Rights Reserved.
Ce centre de documentation s'appuie sur la technologie Eclipse. (http://www.eclipse.org)