Les systèmes d’information (SI) occupent une place majeure au sein des entreprises. Leur complexité a été accrue par la volonté d’informatiser le maximum de tâches (e.g., gestion des salaires, gestion des congés). Les avancées dans le domaine du génie logiciel ont permis de réduire cette complexité. S’appuyer sur les principes méthodologiques définis dans le domaine du génie logiciel [AB04] tels que la modularité et la réutilisation de modèles et de composants logiciels, rendrait possible la conception de systèmes d’informations plus robustes, plus flexibles et plus facilement adaptables aux nouveaux besoins et exigences de l’environnement socio-économique de l’entreprise. Ces principes sont au cœur de travaux de recherche ayant abouti à des paradigmes tels que les approches modulaires [Par72], orientées objets [Mey88, Tay97], orientées composants [Szy02] ou encore orientées services [Erl05, KBS05, Erl08]. Ces approches préconisent la construction de systèmes logiciels par la réutilisation et l’intégration de briques logicielles existantes.
Les approches orientées services promeuvent une nouvelle vision dans laquelle l’ensemble des traitements informatisés dans un SI est réalisé grâce à un ensemble de services élémentaires ou composites. Ces derniers sont le résultat d’un processus nommé composition de services [RS05]. La composition de services est un nouveau paradigme de développement logiciel permettant de construire des applications plus ou moins complexes par assemblage d’entités logicielles existantes. Ce paradigme contribue à un développement plus rapide des applications, à moindre coût, et en maximisant la réutilisation de l’existant.
Comme de nombreuses entités logicielles, les services prennent des données en entrée et en fournissent d’autres en sortie. Ces données peuvent être en accès libre, comme par exemple des données géographiques ou météorologiques, ou sujettes à des contraintes d’accès et de divulgation plus restrictives. Respecter ces contraintes est particulièrement crucial lorsqu’il s’agit d’informations personnelles.
Composition de services
Le nombre de services logiciels disponibles aujourd’hui via le Web est en constante augmentation. Ces services sont conçus de façon à être utilisés par tout type d’utilisateur sans se soucier ni de la technologie, ni du langage utilisé pour leur implémentation. La plupart de ces services se limitent à des fonctionnalités simples, ce qui est suffisant pour résoudre un grand nombre de problèmes. Toutefois, pour des besoins plus complexes, il est souvent nécessaire d’utiliser plusieurs services. Un exemple de besoin complexe pourrait être la planification d’un voyage culturel en Australie pour lequel il serait nécessaire de réserver un billet d’avion, de demander un visa touristique et de réserver deux places pour un concert à l’opéra House de Sydney. Vu la particularité de ce besoin, il n’existe très probablement pas de service accomplissant à lui tout seul toutes les fonctionnalités requises. La composition de services apporte une solution à ce type de problèmes. Elle permet de développer rapidement et à la demande, des applications à valeur ajoutée en réutilisant des services existants. Le processus de composition de services consiste à sélectionner des services disponibles, à les combiner puis à les exécuter dans un certain ordre afin de réaliser un objectif donné.
La composition de services, lorsqu’elle est réalisée au sein d’une architecture orientée services (SOA), permet de profiter des avantages majeurs de cette architecture qui sont les suivants :
— la réutilisation qui offre la possibilité de développer de nouveaux services en réutilisant des services existants.
— le couplage faible qui représente un degré de dépendance faible entre les différents services et qui permet de réduire l’impact causé par un changement apporté à un service utilisé dans une composition.
— l’évolutivité et la souplesse qui offrent la possibilité de modifier ou de substituer, à l’exécution, les services utilisés par une composition pour satisfaire de nouveaux besoins, confortant ainsi le dynamisme au sein des applications.
Dans la littérature, la composition de services est souvent étudiée dans une architecture SOA particulièrement conçue pour les services Web [NM02, HB03, WSH+06, SPM09]. Les services Web « prennent leurs origines dans l’informatique distribuée » [Afe09]. L’utilisation des services Web permet à toute organisation d’exporter à travers le réseau Internet ses compétences et son savoir-faire. Pour réaliser une composition de services Web de qualité il est important de considérer les critères suivants :
— automatisation : une grande quantité de services Web sont disponibles sur le Web. Cette quantité est au-delà des capacités humaines d’analyse et de traitement ce qui rend impossible une composition manuelle.
— passage à l’échelle : dans le contexte du Web, il est nécessaire que les approches de composition fonctionnent en un temps raisonnable sur un nombre important de services.
— tolérance aux pannes : les services utilisés dans une composition peuvent être supprimés ou devenir défaillants de manière imprévisible. Cet environnement très dynamique peut rendre nécessaire le remplacement de services pendant l’exécution voir le recalcul des compositions.
La composition de services peut être aussi informée par des informations et des contraintes supplémentaires telles que des préférences utilisateur, la qualité de service, des politiques de sécurité ou encore des informations qui relèvent des données manipulées. Dans ce cas, des approches de composition considérant ces informations et contraintes supplémentaires doivent être développées.
Informations personnelles
Le terme information personnelle a été abordé pour la première fois dans la littérature scientifique par Vannevar Bush en 1945. Dans [Bus45], il définit une information personnelle comme pouvant être un livre, un rapport ou une communication. De la même façon, en 1988, Lansdale [Lan88a] définit une information personnelle comme étant une note, un enregistrement personnel, un dossier ou toute information qu’un individu pourrait conserver pour une utilisation personnelle ultérieure. Des années plus tard, Boardman et al. [BS04] distinguent deux interprétations possibles à donner aux informations personnelles. La première interprétation considère qu’il s’agit d’informations concernant un seul individu. Dans ce cas les informations personnelles correspondent aux informations données par une institution (e.g., numéro de sécurité sociale, numéro de carte de crédit). La seconde interprétation, considère qu’il s’agit de toute information enregistrée et gérée par un logiciel de gestion d’informations personnelles. De plus, Boardmane et al. définissent une information personnelle comme étant « toute information appartenant à un individu et sous son contrôle direct ». Dans nos travaux, nous avons considéré la seconde interprétation des informations personnelles.
Actuellement la quantité des informations personnelles dont dispose un individu est énorme et en constante augmentation. Ces informations sont disponibles sur différents équipements (e.g., ordinateurs, tablettes, téléphones), se présentent sous différents formats (e.g., textuel, structuré, binaire), et sont gérées par différents types d’applications (e.g., agenda, gestion de courriers). De plus, une information personnelle peut comme tout type d’information avoir une durée de vie déterminée. Un passeport a par exemple une durée de validité de 10 ans et une carte bancaire a une durée de validité de 3 ans. Les informations personnelles peuvent par ailleurs être multi-valuées. Les personnes ayant une double nationalité peuvent ainsi posséder deux passeports et donc deux numéros de passeport et deux photos scannées.
L’ensemble des informations personnelles d’une personne constitue son espace d’informations personnelles (ou PIS pour Personal Information Space). Le système permettant d’organiser, de gérer et de rechercher ces informations quant à lui est appelé Système de Gestion d’Informations Personnelles (ou PIMS pour Personal Information Management System) [BN95]. Compte tenu des caractéristiques parfois contraignantes et exigeantes, des informations personnelles disponibles aujourd’hui et des environnement dans lesquels elles sont manipulées, il est important de développer des systèmes de gestion d’informations personnelles (PIMS) permettant de répondre à ces contraintes.
Gestion d’informations personnelles
La gestion d’informations personnelles est la pratique et l’étude des activités que tout individu accomplit dans le but d’acquérir, d’organiser, de maintenir et de rechercher des informations personnelles au quotidien. Une bonne gestion des informations personnelles selon William Jones [Jon04] « is that we always have the right information in the right place, in the right form, and of sufficient completeness and quality to meet our current need ». Cet idéal est loin d’être atteint malgré la disponibilité de nombreux outils et techniques permettant la gestion d’informations personnelles. De plus, cette diversité d’outils et de techniques contribue en partie au problème d’hétérogénéité des informations personnelles. Ces dernières sont disponibles sur différents équipements, se présentent sous différents formats, et sont gérées par différents types d’applications. Cette répartition et cette hétérogénéité de l’information rend la tâche de recherche plus difficile. C’est pour cette raison que nous avons besoin de modèles de gestion d’informations personnelles capables de gérer cette hétérogénéité et cette distribution de façon transparente. L’intérêt porté à la gestion d’informations personnelles a débuté avec Vannevar Bush en 1945 dans son système Memex [Bus45]. Ce dernier a été conçu pour une utilisation individuelle. Le terme gestion d’information personnelles a été utilisé pour la première fois en 1980 par [Lan88b, TJB06] et depuis, des systèmes de gestion d’informations personnelles n’ont cessé de voir le jour. Barreau et al. [BN95] ont conçu et développé un système de gestion d’informations personnelles (PIMS) en faisant apparaître quatre fonctions : (i) l’acquisition, qui permet de collecter de nouvelles informations personnelles, (ii) l’organisation, qui permet de structurer ces informations et de les classer en catégories, (iii) la maintenance, qui assure la mise à jour, et (iv) la recherche, qui se charge de retrouver et/ou d’accéder aux informations pré-enregistrées.
Terminologie
Donnée vs Information. La frontière entre les termes donnée et information est très mince. En effet, il est assez facile de les confondre et d’utiliser l’un ou l’autre. Une donnée est considérée, généralement, comme un fait brut destiné à être traité. Elle peut déjà être présente dans le système, ou bien être traitée par un outil de supervision ou de saisie, ou par une personne. Une information est une donnée qui possède un sens et une interprétation, et qui peut être utilisée pour une prise de décision.
Selon Orna [Orn04], les informations sont « ce que les êtres humains transforment en connaissances quand ils veulent les communiquer à autrui. C’est la connaissance rendue visible ou audible dans des mots écrits ou imprimés ou dans un discours ». Une information est statique et périssable, sa valeur se dégrade au fil du temps. Selon le contexte, une donnée peut devenir une information. Prenons l’exemple d’une donnée brute « 17 ». Ce nombre, en soi, n’a aucune signification particulière sans la présence d’un contexte. En effet, « 17 » peut être une note, une température, une heure ou un âge. La donnée « 17 » ne peut pas être utilisée telle quelle. Cependant, en associant ce nombre à l’âge que Bob aura en Mars 2015, cette donnée prend un sens et devient une information. Nous utilisons le terme informations personnelles et non pas données personnelles puisque que les données à considérer sont assignées à une description de personne et ont un sens.
|
Table des matières
Introduction
1 Composition de services
2 Informations personnelles
3 Problématiques abordées
4 Contributions
5 Plan du manuscrit
I État de l’art
1 Gestion d’informations personnelles
1.1 Terminologie
1.2 Critères de comparaison des systèmes de gestion d’informations personnelles
1.3 Modélisation d’informations personnelles
1.4 Recherche d’informations personnelles
1.5 Conclusion et discussion
2 Composition de services
2.1 Processus de composition de services
2.2 Critères d’évaluation
2.3 Approches de composition de services
2.4 Conclusion et discussion
II Contributions de la thèse
3 Préliminaires
3.1 Ontologies
3.2 Langages du Web sémantique
3.3 Mesures de similarité hiérarchiques
3.4 Conclusion
4 Modélisation contextuelle d’informations personnelles
4.1 Modélisation multi-points de vue
4.2 Contextualisation d’informations personnelles
4.3 Classification des informations personnelles
4.4 CoPIMS : prototype pour la gestion d’informations personnelles sensibles aux contextes
Conclusion
5 Interrogation contextuelle des informations personnelles
5.1 Génération automatique de requêtes sémantiques à partir de formulaires
5.2 Évaluation de requêtes contextuelles
Conclusion
6 Approche de composition de services Web sensible aux contextes
6.1 Modélisation du problème de composition
6.2 Encodage automatique du problème de composition
6.3 Résolution du problème de composition
6.4 Expérimentations
Conclusion
Conclusion et perspectives
1 Synthèse des contributions
2 Perspectives du travail