samedi, mai 20, 2006

Description WSDL étendue de services d'adaptation dans PAAM

PAAM propose de décrire les services d'adaptation utilisés dans PAAM à l'aide de descriptions WSDL augmentées de quelques informations dans un namespace spécifique à PAAM.

La description WSDL fournit l'information sur l'interface d'utilisation du service, tandis que les extensions ajoutent une information sémantique sur le type de service d'adaptation fournit.

On trouvera un exemple de telle description à l'adresse http://shadok.enst.fr/jcm/article65.html et http://shadok.enst.fr/jcm/article67.html

La spécification de ces extensions sera détaillée ultérieurement.

vendredi, mai 19, 2006

Fonctions de service d'un WS d'adaptation de PAAM

Nous attendons d'un Web Service d'adaptation 'poli' qui souhaite être utilisé dans PAAM qu'il offre les services décrits ci-apprès.

Service qui permet de connaitre la description WSDL étendue du service
Service recommandé

Ce service doit toujours être nommé GetPaamWSDL.

Service d'information sur l'état du Web Service
Service optionnel

Ce Web Service permet de connaitre l'état courant et de prévoir l'état futur d'un service d'adaptation.

L'état courant comprend de l'information sur la capacité CPU (ex: nb de MIPS disponibles), la charge CPU, la capacité mémoire totale et l'utilisation mémoire courante.

La prévision de l'état futur comprend de l'information aggrégée sur une éventuelle file d'attente, des prévisions de dates et heures de mise hors réseau.

On peut aussi envisager que les clients enregistrés de ce Web Service reçoivent des notifications de mises hors réseau futures et des alertes de charge. Les clients devraient alors disposer d'un Web Service d'abonnement à ces informations.

Service de cousinage
Service optionnel

Service qui envoie une liste de services offrants des fonctionnalités équivalentes.
Ce service peut aider:
- à gérer le système de duplication de traitements, pour faire face aux déconnexions,
- à gérer la surcharge d'un adaptateur et la distribution vers d'autres adaptateurs équivalents.

Scénario pour un client dédié à PAAM

Nous voulons développer ici un comportement possible pour une application cliente (nommée ACLIENT par la suite) de l'architecture d'adaptation PAAM.

ACLIENT cherche périodiquement des gestionnaires d'adaptation sur le réseau. De plus, les gestionnaires d'adaptation offrent un service de signalement d'autres gestionnaires au comportement similaire au leur. Ainsi, si ACLIENT connait un gestionnaire d'adaptation, il a la possibilité d'en trouver d'autres assez facilement.

ACLIENT va alors utiliser le gestionnaire d'adaptation � la façon d'un proxy. Chaque requête émise par ACLIENT va être envoyée au gestionnaire d'adaptation au lieu d'être envoyée directement au serveur chargé de répondre � la requête.

Ce scénario peut s'appliquer au navigateurs WEB courants pourvu que le gestionnaire d'adaptation soit capable de recevoir des requêtes HTTP et de fonctionner avec ces seules requêtes.

Pour un meilleur fonctionnement, il est souhaitable que ACLIENT envoie au gestionnaire d'adaptation des informations sur son contexte d'utilisation: préférences de l'utilisateur, caractéristiques du terminal ou de l'application ACLIENT... Ces informations peuvent être fournies de façon indirectes: URN d'un document contenant les préférences de l'utilisateur, référence du terminal,...

Dans le cas d'un navigateur non modifié, ces informations peuvent provenir des sources suivantes:
- le champ UserAgent du header HTTP peut constituer, notamment pour les téléphones mobiles, un identificateur du terminal qui servira � déduire les caractéristiques du terminal (cf. WURFL sur sourceforge),
- une session peut être créée avec le gestionnaire d'adaptation; � la création de cette session, les informations utiles � l'adaptation sont fournies (nous développerons plus tard cette hypothèse).

Dans le cas où ACLIENT est une application dédiée, dès qu'ACLIENT a identifié un gestionnaire d'adaptation avec lequel il envisage de travailler, il peut lui passer ses informations de contexte. Le gestionnaire d'adaptation doit enregistrer ces informations et doit disposer d'un moyen de les associer ultérieurement � ACLIENT.