Accueil🇫🇷Chercher

Architecture ARPA I3

Il s'agit d'une architecture gĂ©nĂ©rique des solutions de mĂ©diation conçue par l’ARPA (Advanced Research Projects Agency) du dĂ©partement de la dĂ©fense amĂ©ricaine[1]. Cette architecture baptisĂ©e I3 (Intelligent Integration of Information) est un dĂ©veloppement de celle proposĂ©e par Wiederhold[2] dans laquelle le terme « mĂ©diateur Â» est un terme gĂ©nĂ©rique dĂ©signant tout composant d’une solution de mĂ©diation. Pour Wiederhold[3], le terme « mĂ©diateur Â» est par contre employĂ© dans le sens d’un composant responsable de l’intĂ©gration des donnĂ©es, gĂ©nĂ©rant de l’information de haut niveau, principalement en rĂ©sumant l’ensemble des informations fournies par diffĂ©rentes sources.

Dépendances fonctionnelles de l'architecture ARPA I3. D'après :Hull, R., King, R.: Reference architecture for the intelligent integration of information. Rapport technique (ARPA), 1995. http://ise.gmu.edu/I3_Arch/

L’architecture I3 se divise en cinq classes de services; les services de coordination, les services de management, les services d’intégration et de transformation sémantique (SIT), les services d’extensions fonctionnelles et les services d’adaptation. Ces services ne sont pas orthogonaux, le diagramme de l’architecture ARPA explique les dépendances fonctionnelles.

Les services de coordination (C)

Les services de coordination comprennent l’ensemble des outils de gestion de la configuration d’une solution de mĂ©diation soit :

C1 Service de sélection et d’invocation (broker)

Ce service reçoit directement les requĂŞtes des usagers. Celui-ci ne rĂ©alise aucune opĂ©ration de dĂ©composition de la requĂŞte ou de traduction. Son seul rĂ´le consiste Ă  localiser Ă  l’aide de mĂ©tadonnĂ©es, d’ontologies et de rĂ©pertoires, le service le plus apte pour rĂ©soudre la requĂŞte. Ensuite, il dĂ©lègue la tâche de rĂ©solution de la requĂŞte au service qu’il a trouvĂ©. Certains auteurs[4] utilisent le terme de « router Â» pour ce type de service.

Les services utilisĂ©s par les brokers sont les services de dĂ©couverte des ressources (M1) et les services d’interprĂ©tation et d’exĂ©cution des moules (M3). Ils utilisent Ă©galement les services de la famille S et F.

Les entrées sont :

  • RequĂŞte de l’usager
  • RĂ©ponse d’un service I3
  • Ontologie et mĂ©tadonnĂ©es dĂ©crivant le modèle de l’usager (ontologie utilisĂ©e pour la requĂŞte, service dĂ©sirĂ©)

Les sorties sont :

  • RĂ©ponse retournĂ©e Ă  l’usager

C2 Service de gestion de la configuration (facilitateur)

Un facilitateur est un broker offrant plus de services. Il est capable d’effectuer des traductions permettant de rediriger la requĂŞte vers un service utilisant une autre syntaxe. Il peut Ă©galement dĂ©composer une requĂŞte en sous-requĂŞtes et ordonnancer et distribuer celles-ci aux divers services qu’il aura prĂ©alablement localisĂ©s. Pour terminer, il peut combiner (intĂ©grer) les diffĂ©rents rĂ©sultats en une rĂ©ponse cohĂ©rente. Les services utilisĂ©s par les facilitateurs sont les services de dĂ©couverte des ressources (M1) et les services d’interprĂ©tation et d’exĂ©cution des moules (M3). Ils utilisent Ă©galement les services de la famille S et F.

Les entrées sont :

  • RequĂŞte de l’usager
  • RĂ©ponse de services I3 aux sous-requĂŞtes
  • Ontologie et mĂ©tadonnĂ©es dĂ©crivant le modèle de l’usager (ontologie utilisĂ©e pour la requĂŞte, service dĂ©sirĂ©)

Les sorties sont :

  • RĂ©ponse intĂ©grĂ©e retournĂ©e Ă  l’usager
  • Liste des diffĂ©rentes entrĂ©es de contrĂ´le (flux de contrĂ´le) envoyĂ©es aux services utilisĂ©s

C3 Service de construction de configuration statique (Matchmaker)

Ce service est décrit comme apte à générer un médiateur. Il génère la configuration nécessaire pour fournir le service désiré. Cette configuration définit les services utilisés, les liens de communication utilisés, les traductions nécessaires et les programmes de contrôle nécessaires pour séquencer la requête. Ce service ne résout donc pas la requête mais retourne à l’usager une solution de résolution de la requête, soit l’ensemble des étapes que l’usager doit effectuer pour résoudre sa requête.

Les services utilisĂ©s par les matchmakers sont les services de dĂ©couverte des ressources (M1) et les services sur les processus de configuration (M2). Ils utilisent Ă©galement les services de la famille S et F.

Les entrées sont : Requête de l’usager

  • Ontologie et mĂ©tadonnĂ©es dĂ©crivant le modèle de l’usager (ontologie utilisĂ©e pour la requĂŞte, service dĂ©sirĂ©)

Les sorties sont :

  • Solution de liaison et de configuration des services pouvant livrer une solution.

C4 Interface d’application ad hoc

Catégorie fourre-tout où on retrouve toute interface offrant des services de médiation directement utilisable par l’usager, et ne pouvant être décrite par C1, C2 ou C3.

Les services de management (M)

Il s’agit d’une collection de services permettant l’invocation et l’ordonnancement des services I3. Ils permettent également de configurer les différents services de manière à traiter une certaine requête.

M1.A Les pages blanches, pages jaunes et pages jaunes intelligentes

Les pages blanches sont les plus simples, elles ne font qu’enregistrer et désenregistrer les ressources et activer ou désactiver celles-ci; elles permettent de trouver une ressource en ne connaissant que son nom. Les pages jaunes permettent de trouver des ressources en fonction du service désiré. Les pages jaunes intelligentes effectuent de l’inférence pour déduire le service désiré en fonction d’une requête de service n’étant pas parfaitement syntaxiquement et/ou sémantiquement normalisée.

M1.B Service de navigation (navigateurs)

Les navigateurs permettent à des usagers de naviguer dans les métadonnées et le schéma d’une source de données particulière. Ils permettent également à un autre service d’accéder et de naviguer dans les métadonnées et schéma d’une source de données. Ceux-ci sont entre autres utilisés par les adaptateurs.

M1.C à M1.E Service d’explication et d'aide des services, processus et outils

  • M1.C Service d’explication des services et outils
  • M1.D Service d’explication des processus
  • M1.E Service d’aide Ă  la crĂ©ation de requĂŞtes

Ces services assistent l’usager ou les services de coordination dans l’utilisation du système et la création de requêtes.

M2 Services de configuration

  • M2.A Service de sĂ©lection de services
  • M2.B Service de sĂ©lection d’outils et de sources d’information
  • M2.C Service de crĂ©ation de moules (templates)
  • M2.D Service de contrĂ´le de processus

Ces services sont utilisés par les services de coordination lorsqu’ils construisent une solution de configuration. Le sélecteur de services permet de trouver les services permettant de réaliser une tâche particulière. Le sélecteur d’outils et de sources d’information permet de trouver les sources d’information et les outils appropriés pour réaliser une tâche particulière. Le service de création de moules est utilisé pour déterminer comment combiner les différents outils et sources d’information pour générer un moule (éléments de configuration). Le contrôleur de processus permet la construction d’un moule (le moule est ici considéré comme étant du code exécutable).

M3 Services d’interprétation et d’exécution de moules

  • M3.A Service d’analyse syntaxique (parser) et de gĂ©nĂ©ration de configurations
  • M3.B Service d’ordonnancement de processus
  • M3.C Service de gestion des processus et des donnĂ©es

Ces services permettent d’exécuter un moule (template de configuration). L’analyseur syntaxique génère une configuration à partir d’un moule. L’ordonnateur de processus gère la distribution et le contrôle de la configuration sur plusieurs processus alors que le gestionnaire des processus et des données génère le contrôle concernant un processus particulier et maintient une banque d’information locale.

Services d’intégration et de transformation sémantique (S)

Ces services permettent de gérer et de manipuler les ontologies, contextes et schémas. Dans le premier cas, l’entrée consiste en une source ou plusieurs sources d’information et la sortie en une intégration ou une transformation de cette information. Dans le deuxième cas, l’entrée consiste en un composant logiciel et la sortie est le composant reconfiguré.

S1 Services d’intégration de schémas

Ces services permettent l’intégration de schémas et de connaissances à partir de sources multiples.

S1.A Service de traduction d’ontologies et de vocabulaire

Ce service permet de générer une ontologie étant l’intersection de plusieurs ontologies ou de convertir un terme d’une ontologie source dans le terme correspondant de l’ontologie de destination.

S1.B Service de traduction de vues

Ce service permet d’établir les correspondances entre un schéma local et un schéma global.

S1.C Service d’intégration de vues

Ce service permet d’intégrer un schéma local à un schéma global.

S2.A et S2.B Service de restructuration, d'abstraction et d'agrégation

  • S2.A Service de restructuration des donnĂ©es
  • S2.B Service d’abstraction et d’agrĂ©gation

Ces services permettent de créer une synthèse des informations de plusieurs sources. Les services de création de résumés et d’abstractions permettent de condenser les informations pour la prise de décision.

S2.C Service de mise en correspondance d’objets

Ce service permet à des objets de sources distinctes d’être considérés comme étant le même au sein d’un schéma commun (responsable des opérations de rapprochement sémantique et de réconciliation ou d’unification de contextes).

S2.D Service de transformation de contextes

Ce service permet typiquement la traduction d’un contexte d’une ontologie à une autre et d’un format de contexte à un autre.

S3 Services d’intégration des processus

S3.A Service de décomposition de requête Permet de décomposer une requête en sous-requêtes destinées à plusieurs services. S3.B Service d’intégration des résultats Permet de combiner les différents résultats des différentes sous-requêtes en une réponse intégrée et cohérente. S4. Services d’intégration physique Ces services permettent de réaliser l’intégration et la liaison entre composants aux niveaux système et syntaxique.

Les services d’extensions fonctionnelles (F)

F1 Services actifs

  • F1.A Service de triggering
  • F1.B Service de monitoring
  • F1.C Service de propagation de mises Ă  jour
  • F1.D Service d’exĂ©cution de règles
  • F1.E Service de rĂ©solution des conflits entre règles

Ces services permettent de réaliser des procédures événementielles comme le monitoring d’événements ou le respect de contraintes d’intégrité.

F2 Services d’inférence

Ces services permettent les opérations nécessitant un raisonnement complexe à partir de règles (raisonnement de type système expert).

F3 Services de gestion multi-Ă©tats

Ces services permettent la gestion du changement, incluant l’évolution du schéma, des données, des versions, la réplication des données et les accès hypothétiques aux données.

Services d’adaptation (W)

Ce service est celui que doivent fournir les adaptateurs. Le besoin fonctionnel auquel doit répondre un adaptateur est de standardiser la syntaxe et la sémantique d’une source de données locale en les convertissant au format de la médiation. Ce service offre une solution de diffusion de l’information, permettant de conserver l’autonomie locale des sources de données.

W1.A Service d’adaptation des interfaces d’appels

Permet la conversion syntaxique et sémantique des interfaces d’appels entre deux programmes.

W1.B Service de gestion d’événements

Permet la gestion du trafic des événements entre une source d’information et un service incompatible de plus haut niveau.

W1.C Service d’adaptation des appels de méthodes et de fonctions

Permet la conversion des appels de méthodes et de fonctions entre une source d’information et un service incompatible de plus haut niveau.

W2.A Conversion des formats

Permet la conversion schématique et syntaxique des données au format de la médiation.

W2.B Restructuration des métadonnées

Permet la conversion des métadonnées au format de la médiation.

W3.A Service de modification de l’application

Permet la modification de la sémantique (comportement) d’un programme en modifiant, par exemple, des calculs.

W3.B Service de modification de protocole

Permet la modification d’un protocole (communication, gestion de la concurrence, etc.).

W3.C Service de traduction de langage

Permet la traduction d’un langage de manipulation de données à un autre. Par exemple, de SQL à OQL ou dans le cas de modèle semi-structuré XML en passe à QXML.

Notes et références

  1. Hull, R., King, R.: Reference architecture for the intelligent integration of information. Rapport technique (ARPA), 1995. http://ise.gmu.edu/I3_Arch/
  2. Wiederhold, G.: Mediators in the architecture of future information systems. IEEE Computer Magazine, Vol. 25, No. 3, 3849, mars 1992
  3. Wiederhold, G.: The basis for mediation. Acte de conférence, p140157. Third International Conference on Cooperative Information Systems, 1995
  4. Leclercq, E., Benslimane, D., Yétongnon, K.: ISIS: A semantic mediation model and an agent based architecture for GIS interoperability. Acte de conférence (IDEAS’99), p.81-92. International Database Engineering and Applications Symposium, Montreal, Canada, août 2-4, 1999. IEEE Computer Society (éditeur), (ISBN 0-7695-0265-2), 1999
Cet article est issu de wikipedia. Text licence: CC BY-SA 4.0, Des conditions supplémentaires peuvent s’appliquer aux fichiers multimédias.