Architecture centrée sur les données

Dans l'architecture centrée sur les données, les données sont centralisées et fréquemment consultées par d'autres composants, qui modifient les données. L'objectif principal de ce style est de réaliser l'intégralité des données. L'architecture centrée sur les données se compose de différents composants qui communiquent via des référentiels de données partagés. Les composants accèdent à une structure de données partagée et sont relativement indépendants, en ce sens qu'ils n'interagissent que via le magasin de données.

L'exemple le plus connu de l'architecture centrée sur les données est une architecture de base de données, dans laquelle le schéma de base de données commun est créé avec un protocole de définition de données - par exemple, un ensemble de tables associées avec des champs et des types de données dans un SGBDR.

Un autre exemple d'architectures centrées sur les données est l'architecture Web qui a un schéma de données commun (c'est-à-dire une méta-structure du Web) et suit un modèle de données hypermédia et les processus communiquent par l'utilisation de services de données Web partagés.

Types de composants

Il existe deux types de composants -

  • UNE central datastructure ou magasin de données ou référentiel de données, qui est chargé de fournir un stockage permanent des données. Il représente l'état actuel.

  • UNE data accessor ou un ensemble de composants indépendants qui opèrent sur le magasin de données central, effectuent des calculs et peuvent renvoyer les résultats.

Les interactions ou la communication entre les accesseurs de données se font uniquement via le magasin de données. Les données sont le seul moyen de communication entre les clients. Le flux de contrôle différencie l'architecture en deux catégories -

  • Style d'architecture du référentiel
  • Style d'architecture de tableau noir

Style d'architecture du référentiel

Dans le style d'architecture de référentiel, le magasin de données est passif et les clients (composants logiciels ou agents) du magasin de données sont actifs, qui contrôlent le flux logique. Les composants participants vérifient le magasin de données pour les changements.

  • Le client envoie une demande au système pour effectuer des actions (par exemple insérer des données).

  • Les processus de calcul sont indépendants et déclenchés par des demandes entrantes.

  • Si les types de transactions dans un flux d'entrée de transactions déclenchent la sélection des processus à exécuter, il s'agit alors d'une architecture de base de données ou de référentiel traditionnelle ou d'un référentiel passif.

  • Cette approche est largement utilisée dans les SGBD, le système d'information des bibliothèques, le référentiel d'interfaces dans CORBA, les compilateurs et les environnements CASE (génie logiciel assisté par ordinateur).

Avantages

  • Fournit des fonctionnalités d'intégrité des données, de sauvegarde et de restauration.

  • Fournit l'évolutivité et la réutilisabilité des agents car ils n'ont pas de communication directe les uns avec les autres.

  • Réduit la surcharge des données transitoires entre les composants logiciels.

Désavantages

  • Il est plus vulnérable aux pannes et la réplication ou la duplication des données est possible.

  • Dépendance élevée entre la structure de données du magasin de données et ses agents.

  • Les changements dans la structure des données affectent fortement les clients.

  • L'évolution des données est difficile et coûteuse.

  • Coût du déplacement des données sur le réseau pour les données distribuées.

Style d'architecture de tableau noir

Dans Blackboard Architecture Style, le magasin de données est actif et ses clients sont passifs. Par conséquent, le flux logique est déterminé par l'état actuel des données dans le magasin de données. Il a un composant de tableau noir, agissant comme un référentiel de données central, et une représentation interne est construite et exploitée par différents éléments de calcul.

  • Un certain nombre de composants qui agissent indépendamment sur la structure de données commune sont stockés dans le tableau noir.

  • Dans ce style, les composants interagissent uniquement via le tableau noir. Le magasin de données alerte les clients chaque fois qu'il y a un changement de magasin de données.

  • L'état actuel de la solution est stocké dans le tableau noir et le traitement est déclenché par l'état du tableau noir.

  • Le système envoie des notifications appelées trigger et les données aux clients lorsque des changements se produisent dans les données.

  • Cette approche se retrouve dans certaines applications d'IA et applications complexes, telles que la reconnaissance vocale, la reconnaissance d'images, le système de sécurité et les systèmes de gestion des ressources d'entreprise, etc.

  • Si l'état actuel de la structure de données centrale est le déclencheur principal de la sélection des processus à exécuter, le référentiel peut être un tableau noir et cette source de données partagée est un agent actif.

  • Une différence majeure avec les systèmes de base de données traditionnels est que l'invocation d'éléments de calcul dans une architecture de tableau noir est déclenchée par l'état actuel du tableau noir et non par des entrées externes.

Parties du modèle de tableau noir

Le modèle de tableau noir est généralement présenté avec trois parties principales -

Knowledge Sources (KS)

Sources de connaissances, également appelées Listeners ou Subscriberssont des unités distinctes et indépendantes. Ils résolvent des parties d'un problème et agrègent des résultats partiels. L'interaction entre les sources de connaissances a lieu uniquement à travers le tableau noir.

Blackboard Data Structure

Les données d'état de résolution de problèmes sont organisées en une hiérarchie dépendante de l'application. Les sources de connaissances apportent des modifications au tableau noir qui mènent progressivement à une solution au problème.

Control

Le contrôle gère les tâches et vérifie l'état de travail.

Avantages

  • Fournit une évolutivité qui facilite l'ajout ou la mise à jour d'une source de connaissances.

  • Fournit une simultanéité qui permet à toutes les sources de connaissances de fonctionner en parallèle car elles sont indépendantes les unes des autres.

  • Prend en charge l'expérimentation d'hypothèses.

  • Prend en charge la réutilisabilité des agents de source de connaissances.

Désavantages

  • Le changement de structure du tableau noir peut avoir un impact significatif sur tous ses agents car une étroite dépendance existe entre le tableau noir et la source de connaissances.

  • Il peut être difficile de décider quand mettre fin au raisonnement car seule une solution approximative est attendue.

  • Problèmes de synchronisation de plusieurs agents.

  • Défis majeurs dans la conception et le test du système.