# Architecture de médiation

L'architecture de médiation est une forme d'architecture en flot de données distribuée qui est souvent nommée architecture orientée services dans le monde commercial (basée sur les services Web WS-* et WS-I) et est, dans sa forme originale, destinée à la synthèse dynamique d'informations utilisées en informatique décisionnelle ainsi qu'à une intégration d'applications d'entreprise intelligente. L'Architecture ARPA I3 est le modèle le plus complet pour ce type d'architecture.
Cette architecture fut conçue en 1992 par Gio Wiederhold dans l'article fondateur «Mediator in the architecture of future information systems». Wiederhold y développe une nouvelle vision de l’architecture du traitement de l’information en entreprise, il tente de régler la problématique de l’accès et de l’intégration de l’information en introduisant la notion de médiateur :
«A mediator is a software module that exploits encoded knowledge about some sets or subsets of data to create information for a higher layer of applications.»
Les médiateurs doivent en général se retrouver sur des nœuds différents de ceux qui contiennent les données (BD) et des postes de travail où sont utilisées en dernière instance les données (par les utilisateurs). Il existe plusieurs sortes de médiateurs accomplissant des tâches distinctes, voici les principales :
* Transformation et filtrage des BD.
* Accès et intégration de plusieurs BD.
* Traitement des données supportant un haut niveau d’abstraction et de généralisation (traitement intelligent de l’information).
* Répertoires intelligents des bases d’information comme les catalogues, les aides à l’indexation, les structures de thesaurus (ontologies).
* Gestion de l’incertitude reliée aux données absentes ou incomplètes et aux données mal comprises.
Wiederhold distingue par contre clairement les médiateurs de l’ancêtre du concept d’agent, l’acteur et cela de deux façons. Premièrement, les médiateurs sont organisés de manière hiérarchique pour accomplir leurs tâches et deuxièmement, aucune communication intelligente entre les médiateurs n’est nécessaire pour réaliser leurs tâches. Avec l’invention du concept d’agents, nous pourrions dire qu’il s’agit d’agents logiciels intelligents, non communicatifs et statiques.
Wiederhold oppose également dans son article sa vision à celle d’IBM et du « datawarehouse » que cette compagnie promulguait à l’époque et discute de la nécessité de développer un langage d’interface (entre médiateurs et applications) possédant une grande puissance d’expression sémantique.

## Classification des solutions de médiation

La plupart des auteurs distinguent deux catégories fondamentales de médiation; la médiation de schémas qui est une extension directe de l’approche fédérée et la médiation de contextes reposant sur la distance sémantique et l’unification de contextes.

### La médiation de schémas

La médiation de schémas est essentiellement une évolution de l’architecture fédérée fortement couplée. Le rapprochement à effectuer entre un traducteur et un adaptateur et entre un intégrateur et un médiateur est que les premiers sont directement les ancêtres des seconds. En fait, on peut considérer que les chercheurs travaillant sur l’approche fédérée fortement couplée ont décidé d’adapter leur vocabulaire à celui de Wiederhold. Il existe dans cette approche, comme dans l’approche fédérée fortement couplée, un schéma conceptuel global (contexte global ou schéma de médiation), auquel doivent s’apparier les différents schémas locaux (contextes locaux) : il y a donc intégration des schémas locaux au schéma global. De plus, comme dans l’approche de fédération fortement couplée, la construction du schéma global repose en général sur l’analyse préalable des schémas locaux et ceux-ci sont intégrés d’une manière statique au schéma global. Nous remarquerons également que les différentes phases de pré-intégration, recherche des correspondances, intégration et restructuration doivent être réalisées comme dans l’approche fédérée.
Ces systèmes se distinguent par contre d’une approche par fédération fortement couplée en résolvant certains problèmes comme l’indisponibilité des sources et la combinaison des informations d’une manière plus flexible; en offrant un ensemble d’outils de haut niveau permettant de combiner et de restructurer les informations dans le schéma de la médiation. De plus, comme pour tout système de médiation, le système est normalement en lecture seule, bien que le passage à une solution en lecture-écriture soit souvent théoriquement possible.
Il existe peu de différences entre un système de médiation de schémas et l’approche fédérée fortement couplée et le terme médiation de données ne devrait être utilisée, pour respecter la description de Wiederhold, que pour décrire les systèmes à médiation de contextes.

### La médiation de contextes

Ce type de médiation est adapté à des environnements ouverts où les sources d’information sont susceptibles d’évoluer, d’apparaître et de disparaître. Cette approche est également caractérisée par une prise en charge automatisée de la sémantique grâce aux mécanismes d’unification ou de réconciliation des contextes. La distinction fondamentale entre une médiation de schémas et une médiation de contextes est que, dans la médiation de contextes, aucune information d’intégration statique n’est nécessaire, les liens entre adaptateurs et médiateurs sont établis dynamiquement lors de la résolution d’une requête. Voici les différentes fonctionnalités minimales qu’un système de médiation offrant la consultation de sources multiples doit réaliser ou offrir :
* Un langage déclaratif pour effectuer la requête.
* Une recherche des différentes sources d’information pertinentes disponibles pour résoudre la requête.
* Un découpage de la requête en sous-requêtes.
* La consultation de différentes sources.
* La combinaison des résultats permettant de répondre à la requête.
* La présentation du résultat sous une forme homogène.
Il s’agit ici des principaux besoins fonctionnels dégagés par Wiederhold. Il existe essentiellement deux sous-catégories de systèmes de médiation de contextes.

#### La médiation de contextes à sémantique non-stricte

Ils utilisent des métadonnées non structurées, peu structurées, ou structurées mais aux formats disparates et aucune ontologie explicite. Les systèmes à sémantique non-stricte utilisent en général des calculs de distances sémantiques (rapprochement sémantique) et la réconciliation de contextes pour intégrer les informations. Ces systèmes retournent des résultats pouvant être non conformes à la requête initiale.

#### La médiation de contextes à sémantique stricte

Ils utilisent des métadonnées (contextes) exprimées dans le même format et la même ontologie ou dans plusieurs ontologies mais avec des liens inter-ontologiques permettant leurs traductions. L’unification de contextes est le mécanisme utilisé par les systèmes à sémantique stricte, ce mécanisme utilise des règles de logique formelle pour manipuler les contextes. Ces systèmes retournent des résultats toujours conformes à la requête initiale.

## Les composants habituels de la médiation

Il s’agit d’un domaine où les diverses interprétations des termes peuvent facilement laisser perplexe, chaque auteur ayant ses propres variantes de définitions. Nous proposons, ici, un ensemble de définitions des composants les plus courants. En effet, ces différents composants se retrouvent dans la plupart des solutions de médiation actuelles. Une description plus complète de composants se retrouve dans une architecture générique comme l'architecture ARPA I3.

### L'ontologie

Selon Gruber une ontologie est définie comme une «spécification explicite et formelle d'une conceptualisation faisant l'objet d'un consensus». Malheureusement, ceci peut recouvrir plusieurs réalités fort différentes. Premièrement par sa représentation : réseau sémantique, graphes conceptuels, grille de concepts, ensemble de règles logiques ou encore un schéma orienté objet. Deuxièmement par sa fonction : permettre de reconnaître les similitudes conceptuelles entre différents mots, permettre de manipuler ces éléments (concepts, mots) ou d'effectuer un certain nombre d'inférences.
L’utilisation d’ontologies dans un système de médiation peut prendre plusieurs formes. Une ontologie est soit explicite, c’est-à-dire, qu’elle existe sous forme d’un composant du système ou implicite, c’est-à-dire, qu’elle n’existe que dans les manuels de référence du domaine (sous une forme plus ou moins structurée) et dans la tête des spécialistes du domaine. Une ontologie peut être globale (comme WordNet ou Cyc) ou de domaine (médecine, comptabilité, gestion de la faune, etc.). Guarino distingue également les ontologies maximales contenant la description de tout l’univers d’un domaine et les ontologies minimales qui proposent un ensemble de concepts et de règles permettant de combiner ces concepts pour créer tout concept de l’univers d’un domaine (via les contextes). Un système peut également posséder une ontologie unique ou bien des ontologies multiples pouvant avoir plusieurs relations les unes avec les autres (relation inter-ontologique).

### Le contexte

Le contexte est un élément d’information associé à un objet ou à une portion de l’objet et qui spécifie de façon explicite un ensemble de connaissances sur la structure, les valeurs ou les fonctionnalités de l’objet. Un contexte peut être représenté par un réseau sémantique, des graphes conceptuels, un ensemble de règles logiques, un schéma orienté objet ou simplement des métadonnées structurées traditionnelles. Indépendamment de sa représentation, un contexte est essentiellement composé de métadonnées décrivant un concept (classe d’objets), un ensemble d’objets ou un objet particulier mais dans une situation précise (requête globale, requête locale, schéma local). Le terme contexte dans le sens utilisé ici a été introduit par [Sciore, Siegel, Rosenthal, 1994] et [Sheth & Kashyap, 1995].

### L’adaptateur

Il s’agit ici d’une composante cruciale qui permet à un système local de distribuer ses informations à une collectivité d’usagers. L’adaptateur permet de présenter les données dans le format syntaxique de la médiation. Il s’agit donc d’une interface permettant l’interrogation d’une base de données grâce à un langage normalisé (langage pivot). Il serait également possible d’utiliser une ontologie pour réaliser l’interopérabilité sémantique en normalisant le vocabulaire des métadonnées (contextes).

### Le médiateur

Le médiateur est un module logiciel recevant directement la requête d’un usager et devant la traiter. Celui-ci doit localiser l’information nécessaire pour répondre à la requête, résoudre les conflits schématiques et sémantiques, interroger les différentes sources et intégrer les résultats partiels dans une réponse homogène et cohérente. Le médiateur permet toutes les fonctionnalités relevées par Wiederhold et s’il s’agit d’une solution en lectures/écritures, également toutes les fonctionnalités nécessaires à un SGBDF. Il s’agit du composant le plus complexe mais une seule instance de celui-ci est nécessaire (contrairement aux multiples adaptateurs). Il permet la consultation de plusieurs sources de données comme s’il s’agissait d’une source unique et peut offrir cette consultation via de multiples langages et ontologies

### Les répertoires et bases de connaissances

Une base de connaissances peut contenir des ontologies et des relations inter-ontologiques. Un répertoire permet d’inventorier les ressources (les sources de données et les informations particulières que chacune offre à la médiation); il s’agit essentiellement d’une sorte d’annuaire et est donc un composant relativement simple.

### Le facilitateur

Le facilitateur est un module entre le médiateur et les bases de connaissances ou un composant interne du médiateur ou de la base de connaissances. Celui-ci est responsable du rapprochement sémantique et de l’unification ou de la réconciliation de contextes, ou encore, effectue des traductions inter-ontologiques. Il peut également offrir des services de conversion syntaxique et de format.