• Aucun résultat trouvé

contextuel des applications

3.2.2 Interactions entre les services d’AxSeL

a travers des API sp´ecifiques pour chacune des sources contextuelles. Le service de gestion

du contexte collecte les donn´ees `a partir des API sondes, et r´eagit en cas de changements

pertinents en g´en´erant un ´ev´enement contextuel. Les aspects de gestion dynamique du contexte sont pr´esent´es dans la section 3.4.

Service de d´ecision du chargement Ce service confronte un contexte requis `a satisfaire

avec un contexte fourni `a respecter. AxSeL parcourt le graphe de d´ependances et ´evalue les

donn´ees contextuelles des services et des composants par rapport aux contraintes du terminal et de l’utilisateur. Pour chaque service du graphe de d´ependances, une d´ecision de chargement est prise. Une nouvelle d´ecision de chargement peut avoir comme cons´equences d’´eventuels chargements/d´echargements de services et de composants. Le chargement se fait d’une mani`ere progressive jusqu’au rapatriement et ex´ecution de toutes les d´ependances de l’application. La

d´ecision de chargement peut ob´eir `a plusieurs strat´egies relatives aux politiques adopt´ees, par

exemple, dans le cas d’une politique d’´economie de ressources mat´erielles une strat´egie mettant en priorit´e celles-ci est choisie. Enfin, AxSeL anticipe le chargement de certains services en vue

d’une utilisation future ce qui optimise les performances du dispositif en lui ´economisant le coˆut

d’acc`es, de rapatriement et de r´esolution des d´ependances des composants et services. Le d´etail des m´ecanismes de d´ecision est donn´e dans la section 3.5.2.

3.2.2 Interactions entre les services d’AxSeL

Nous avons pr´ealablement d´etaill´e le rˆole de chaque service d’AxSeL. A pr´esent, nous illus-trons les interactions prenant place entre ces services pour r´ealiser le chargement autonome et contextuel des applications. D’abord, AxSeL r´ealise l’extraction des d´ependances pour ob-tenir une vue globale sous la forme d’un graphe contextuel bidimensionnel de services et de composants. L’extraction des d´ependances est suivie par l’´etape de d´ecision contextuelle de

chargement. La collecte du contexte pertinent et essentiel `a la prise de d´ecision est r´ealis´ee par

le service de gestion du contexte.

La figure 3.5 illustre les services et mod`eles d’AxSeL qui sont impliqu´es dans l’´etape d’ex-traction des d´ependances. Les services et composants peuvent ˆetre h´eb´erg´es sur des dispositifs mobiles tels qu’un assistant personnel ou un ordinateur portable. Le service d’extraction des

d´ependances acc`ede `a un ou plusieurs d´epˆots de services locaux ou distants, et construit `a

par-tir des descripteurs des d´epˆots un mod`ele d’application sous la forme d’un graphe flexible et contextuel. Le graphe repr´esente d’une mani`ere globale l’application `a charger incluant les ser-vices, les composants, les liens entre eux, et leurs donn´ees fonctionnelles et non fonctionnelles.

Service d’extraction des dépendances Service de décision d u c h a r g e m e n t Service de gestion du contexte Evènements du contexte Terminal, utilisateur, descripteur

A x S E L - E x t r a c t i o n d e s d é p e n d a n c e s Graphe de l’application D e s c r i p t e u r d e d é p ô t d e s e r v i c e s , e t d e c o m p o s a n t s Modèle du contexte Ecouteur du contexte S e r v i c e M o d è l e

Fig.3.5 – Extraction des d´ependances d’une application

Service d’extraction des dépendances Service de décision d u c h a r g e m e n t Service de gestion du contexte Evènements du contexte Terminal, utilisateur, descripteur

A x S E L - G e s t i o n d u c o n t e x t e D e s c r i p t e u r d e d é p ô t d e s e r v i c e s , e t d e c o m p o s a n t s Modèle du contexte Ecouteur du contexte Graphe de l’application S e r v i c e M o d è l e

Fig. 3.6 – Gestion du contexte

Dans la figure 3.6 nous illustrons les services d’AxSeL qui sont impliqu´es dans la gestion du contexte. Le service de gestion du contexte emploie un ´ecouteur du contexte pour collecter

dynamiquement les donn´ees `a partir des m´etadonn´ees de l’utilisateur, du descripteur du d´epˆot

et du API sondes sur le terminal. Le mod`ele de contexte fournit la repr´esentation des donn´ees de toutes les sources. Lorsqu’une modification est observ´ee au niveau de ces sources de donn´ees des ´ev´enements sont g´en´er´es. Ceux-ci sont d´ependants de la source qui les d´eclenchent. Tous les ´ev´enements contextuels de nature mat´erielle ou autre sont achemin´es vers le service de d´ecision du chargement.

Au sein d’AxSeL, la prise de d´ecision du chargement est r´ealis´ee par le service de d´ecision

du chargement. Ce dernier prend le graphe extrait `a partir de l’´etape pr´ec´edente, les donn´ees

contextuelles fournies par le service de gestion du contexte et applique une coloration du graphe dirig´ee par les contraintes. Le graphe contextuel de l’application est communiqu´e `a l’outil de d´eploiement de l’intergiciel d’ex´ecution des services et composants pour qu’il r´ealise son char-gement. Le m´ecanisme de la prise de d´ecision est donn´e figure 3.7. AxSeL r´ealise le d´eploiement initial de l’application mais aussi son adaptation, ainsi lorsqu’au cours de l’ex´ecution d’une application le service de gestion du contexte notifie le service de d´ecision du chargement d’un changement, celui-ci engage une nouvelle prise de d´ecision afin d’offrir la configuration la plus optimis´ee de l’application.

AxSel, un intergiciel pour le d´eploiement autonome et contextuel des applications

orient´ees services 70

Service d’extraction des dépendances Service de décision d u c h a r g e m e n t Service de gestion du contexte Evènements du contexte Terminal, utilisateur, descripteur

A x S E L - D é c i s i o n d u c h a r g e m e n t D e s c r i p t e u r d e d é p ô t d e s e r v i c e s , e t d e c o m p o s a n t s S e r v i c e M o d è l e Modèle du contexte Ecouteur du contexte Graphe de l’application

Fig.3.7 – D´ecision du chargement

Conclusion Dans cette section nous avons pr´esent´e une vue d’ensemble de l’architecture AxSeL pour le d´eploiement autonome d’applications orient´ees services. Nous avons ´egalement d´etaill´e chacun des services et mod`eles constituant notre architecture et les principales interac-tions prenant place pour r´ealiser le chargement contextuel. Ainsi nous avons mis en ´evidence trois principaux services : le service d’extraction des d´ependances, le service de gestion du contexte et le service de d´ecision du chargement, et deux mod`eles : le mod`ele d’application et le mod`ele du contexte. Dans la section suivante, nous pr´esentons la couche de mod´elisation haut niveau sur laquelle AxSeL repose. Nous proposons un mod`ele expressif et flexible pour repr´esenter les applications orient´ees services et composants, ainsi qu’un mod`ele dynamique pour repr´esenter les donn´ees du contexte.

3.3 Une vue globale expressive et flexible

L’approche `a base de services am`ene une vue d’ex´ecution o`u les services sont mis `a

disposi-tion des clients dans des annuaires pour ˆetre utilis´es. Quant `a l’approche `a base de composants

elle am`ene une vision de d´eploiement o`u ceux-ci sont h´eberg´es dans des d´epˆots en vue de leur

d´eploiement sur les plates-formes clientes. Les services et composants poss`edent des d´ependances contextuelles fonctionnelles et non fonctionnelles avec d’autres services et composants. Le pa-radigme des d´ependances est essentiel dans ces approches puisqu’il leur permet d’importer des fonctionnalit´es qu’ils ne poss`edent pas. Pour d´eployer un composant il est n´ecessaire de r´esoudre et de satisfaire ses d´ependances. Enfin, les environnements intelligents permettent `a n’importe

qui de fournir des services ou des composants n’importe o`u et `a n’importe qui d’autre entraˆınant

ainsi la multiplicit´e des fournisseurs. Cela consiste en une information pertinente `a consid´erer. En effet, si un service ne respecte pas les contraintes de d´eploiement, il est possible de retrouver son ´equivalent qui soit ad´equat.

Unifier l’ensemble de ces aspects dans un paradigme commun fournit une vue

bidimen-sionnelle et expressive grˆace `a laquelle il est possible de g´erer simultan´ement les aspects de

d´eploiement et d’ex´ecution d’une application et de repr´esenter les aspects contextuels fonc-tionnels, non fonctionnels et multi-fournisseur. Outre l’expressivit´e, il est essentiel que la vue

globale soit flexible. En effet, il est pertinent de consid´erer les possibles variations de l’environne-ment telles que l’apparition, la disparition des services et composants et la modification de leur m´etadonn´ees. Ces variations n´ecessitent l’extensibilit´e de la vue de l’application `a l’ex´ecution, par ajout et retrait de ses ´el´ements ainsi que sa dynamique par modification de leurs valeurs.

Dans cette section, nous proposons une nouvelle approche expressive et flexible orient´ee graphe pour la repr´esentation des d´ependances des applications orient´ees services composants. D’abord, nous d´efinissons les concepts de service, de composant et d’application en nous basant sur la recherche bibliographique pr´ealablement r´ealis´ee et pr´esentons un mod`ele ind´ependant de la plate-forme et bas´e sur les paradigmes des architectures orient´ees services. Ensuite, nous proposons notre graphe bidimensionnel et flexible. Pour mod´eliser les services, les composants et les applications nous utilisons les diagrammes de classes UML [45].