• Aucun résultat trouvé

4.2.1 Transparence des aspects distribués

L'état de l'art de la gestion des aspects distribués (cf. Chapitre II.3) montre un domaine mature qui bénéficie de travaux nombreux et depuis des décennies. Toutefois, le courtage dynamique de l'orientation service et l'avènement de plateformes d'applications modulaires remettent à jour l'affinement de patrons de conception dans ce domaine.

La transparence d'appels répartis de procédures et de méthodes est établie depuis quelques années dans des patrons de conception et appliquée dans des langages de programmation divers. Des travaux de recherche montrent même la possibilité de leur application par réingénierie de code binaire dans une phase post-développement après analyse automatique de délimitation de modules à répartir. La complexité de ces systèmes et l'aspect discutable des exemples d'application fournis expliquent que ces approches demeurent marginales.

Le courtage dynamique des applications orientées service pose à nouveau le problème de la transparence de la recherche d'objets distribués. Idéalement, la recherche

1 Small Office Home Office: qualifie les équipements et les réseaux pour les activités de "bureau" tant en entreprise qu'à la maison.

d'objets et la liaison de ceux-ci se doivent de s'appliquer de manière unique et indiscernable sur un ensemble d'objets locaux et répartis. Cette propriété n'est toutefois pas encore répandue sur les plateformes orientées services. Elle le devient progressivement dans les architectures proposées par plusieurs projets contemporains comme le projet Extended Service Binder de cette thèse [2005-1][2006-2][2006-4][2006-5][2006-6][2008-3], le projet R-OSGi [RAR07], et les travaux de l'OSGi Enterprise Expert Group pour la version 5 non encore publiée de la spécification OSGi.

4.2.2 Adaptabilité face à l'ouverture et la dynamique des réseaux

Les applications sur le réseau domestique sont en plein essor [Aie06]. Toutefois, le contrôle d'équipement, la communication interpersonnelle, l'administration d'équipements sont des domaines où les nouvelles applications manquaient à être affirmées. De surcroit, la littérature manque encore de cadriciels cohérents et répandus.

Si les protocoles de contrôle Plug-n-Play (cf. Chapitre III.1) et les plateformes de déploiement modulaires se normalisent et se répandent depuis l'année 1999 – cette année marque la fondation d'UPnP, d'OSGi, de .NET, ZigBee, DPWS et d'autres spécifications apparaissent plus tardivement – et commencent leur commercialisation, les applications mêlant ces nouveaux protocoles dans une même application apparaissent de manière contemporaine à ces travaux de thèse. Les projets de communication interpersonnelle mêlant SIP, UPnP et d'autres protocoles sont nouveaux dans la littérature, l'essai le plus approchant de la contribution [2008-6] étant [CCV06]. La création du Comité de Travail UPnP Device Management (ex-Execution Platform) par quelques partenaires issus de la communauté OSGi et l'auteur [2007-9] montrent aussi l'aspect contemporain des applications d'administration visées. Le travail de spécification parait même en avance de phase sur l'aspect de la généralisation de modèles d'unités logicielles génériques et de leurs cycles de vie. Les seuls travaux s'en approchant semblent être ceux du groupe de travail OMA SCOMO [SCOM08].

Avec l'avènement des applications à composants orientés service, de nouvelles technologies et de nouveaux protocoles, les cadriciels commencent à apparaître avec les patrons de conception associés au début des travaux de cette thèse : Base Drivers pour le contrôle d'équipements [DFKM02], courtage de pilotes à la demande dans l'OSGi Device Access Service de mai 2000, automatisation de la composition locale de service par conteneur [CeH03], Whiteboard pattern sur la plateforme OSGi [KrH04], publish-subscribe orienté service du service OSGi Event Admin [OSGi05], utilisation des erreurs de chargement modulaire pour les erreurs de distribution [RAR07]. Les contributions de cette thèse concernant l'utilisation de la technique des base drivers pour le protocole DPWS [2007-5][2007-6][2008-2], le raffinement des pilotes pour de la médiation technique [2006-3][2007-2][2007-4] et la population du registre de services par des informations de contexte [2007-3] accompagnent cet effort de réflexion sur les nouvelles techniques de composition de services sur les plateformes de déploiement modulaire telles que la plateforme OSGi. Un cadriciel complet est décrit par les publications complémentaires [2007-3][2007-4][2008-2][2008-5].

Enfin, certaines pistes de travail demeurent encore à explorer. L'automatisation de la détection d'interfaces sémantiquement proches mais syntaxiquement distinctes et l'automatisation de leur rapprochement syntaxique sont des objectifs qui semblent inatteignables dans des applications importantes aujourd'hui. La construction automatique de pilotes raffinés sémantiques proposée dans [2007-4] ne fait qu'effleurer le champ d'investigation.

5 CE QUE PROPOSE CETTE THESE

Cette thèse apporte des contributions selon deux grandes lignes directrices où des manques ont été détectés dans l'état de l'art. Ces lignes directrices seront détaillées dans le chapitre suivant :

• La première est la proposition d'un cadriciel aux patrons de conception cohérents pour le développement d'applications réparties dans un environnement ouvert au contexte dynamique. Ce cadriciel, appelé Home SOA, reprend les patrons de conception pertinents dans la littérature et propose des avancées originales. Chacune des sections du Chapitre V décrit des techniques de conception. Ces techniques sont implémentées dans différentes applications de contrôle d'équipements hétérogènes, de communication interpersonnelle riche, et d'administration d'équipements (cf. Chapitre VI). Elles sont validées par les tests et les comparaisons du Chapitre VII.

• La seconde est une ligne de conduite face aux problèmes d'hétérogénéité de protocoles, de plateformes d'exécution et d'interfaces programmatiques (cf. Chapitre V.1). Grace à cette ligne de conduite claire, la proposition IGRS a pu être rectifiée avant sa normalisation en Comité ISO et la proposition déplacée de Samsung d'une interface de contrôle UPnP pour la plateforme OSGi est devenue un projet d'ambition plus générale au sein du Forum UPnP. Une contribution majeure de cette thèse est la réponse protocolaire poussée dans le Comité de Travail UPnP Device Management pour l'administration du cycle de vie logiciel de plateformes d'exécution hétérogènes. Un modèle général de plateforme d'exécution est proposé afin d'administrer des plateformes variées avec le même protocole. La proposition de ce modèle est accompagnée d'une analyse des plateformes existantes (cf. Chapitre III.3.3) et d'implémentations sur trois d'entre elles (cf. Chapitre VI.7).

C

Chhaappiittrree VV.. HH

OOMEME

SSOOAA ::

TETECCHHNNIIQQUUEESS

D

DEE COCOMPMPOSOSIITTIIOON NDEDE SSEERRVVIICCEESS PPEERVRVASASIIFFSS

Cette thèse propose une architecture pour la composition contextuelle de services dans les réseaux d'équipements pervasifs. Cette architecture, nommée Home SOA, regroupe un ensemble de patrons de conception cohérents issus des paradigmes composants et services. Cet ensemble est implémenté dans un cadriciel éponyme concret décrit dans le Chapitre VI et est validé par des tests et la comparaison aux travaux concurrents dans le Chapitre VII.

L'approche logicielle Home SOA est pertinente dans des situations précises. Ce chapitre introduit d'abord une ligne de conduite à tenir dans les situations de réseaux hétérogènes avant de décrire les techniques du Home SOA. Cette ligne de conduite catégorise les situations où apporter des situations protocolaires et les situations où l'approche logicielle Home SOA est pertinente. La contribution majeure au Comité de Travail UPnP Device Management est un exemple d'approche protocolaire dans une situation où les protocoles standards manquent.

L'approche logicielle Home SOA se base sur des travaux antécédents liant approches composants et orientation service. Elle est l'application d'une vision plateforme-centrique des réseaux pervasifs, en particulier du réseau domestique, et de patrons de conception issus des paradigmes composant et service. Cette vision ramène toutes les applications de contrôle d'équipements pervasifs à un problème conception localisée sur une plateforme unique de l'environnement. Les techniques du Home SOA répondent à trois des grands défis de l'Informatique Pervasive : la distribution, l'hétérogénéité et la dynamique des équipements dans les réseaux locaux.

La section 1 présente la vision plateforme-centrique de la composition d'équipements pervasifs dans les réseaux locaux. La section 2 définit le concept de plateforme de services et les patrons de conception associés. La section 3 décrit alors le patron de conception "registre de services mandataires" simplifiant la gestion des aspects distribués. La section 4 explique le raffinement du patron "Adapteur" employé à masquer l'hétérogénéité des entités pervasives. La section 5 achève la présentation de ses techniques avec les patrons aidant à l'automatisation de la sélection de services. Les chapitres 6 et 7 apportent des solutions protocolaires à des situations où l'approche logicielle Home SOA est impuissante.

1 UNE ARCHITECTURE PLATEFORME-CENTRIQUE

Tous les protocoles et interfaces programmatiques qui coexistent sur un même réseau peuvent inter-opérer grâce à des techniques de médiation. Les techniques appliquées dans cette thèse obéissent à cette réponse graduelle :

• Séparer les ressources empruntées par les différents protocoles s'ils ne peuvent coexister sur ces mêmes ressources,

• Appliquer des techniques de passerelles si les protocoles sont utilisés sur des réseaux aux topologies différentes (terrain, LAN, WAN) et appliquer des techniques d'adaptation logicielles pour lier des protocoles distincts sur ces passerelles,

• Appliquer une approche protocolaire pour lier des plateformes hétérogènes sans protocole commun,

• Appliquer des techniques d'adaptation logicielles pour simplifier la gestion de la distribution, de la dynamique et de l'hétérogénéité sur une plateforme intelligente au cœur de réseaux pervasifs à la topologie homogène. Cette plateforme intelligente héberge les applications innovantes du réseau visé et porte l'attention principale des techniques du Home SOA.