====== Zord ====== Nom du rédacteur/des contributeurs ====== Document d'architecture ====== ===== Architecture centrée données ===== * Définition :Entrepôt de données centralisée qui communique avec un certain nombre de clients. * Objectif : maintenir l’intégrité des données * Utilisée dans le cas où des données sont partagées et fréquemment échangées entre les composants. avantages et difficultés : * Indépendances des clients les uns des autres * on peut ajouter ou retirer des clients ➡ Mais attention aux optimisations qui créent un couplage fort. Point à aborder: * La cohérence des données - synchronisation des lectures / écritures * La sécurité des données, le contrôle d'accès * Point de défaillance unique * Passage à l’échelle (réplication vs complexité) * Les données dans Zord : * fichiers XML * stockage : en arborescence de fichiers dans /tei * Pourquoi pas en base de données XML ? ===== Modèle-Vue-Contrôleur (MVC) ===== Séparer la couche interface utilisateur des autres parties du système (car les interfaces utilisateurs sont beaucoup plus susceptibles de changer que la base de connaissances du système) ! Composé de trois types de composants : * Modèle : rassemble des données du domaine, des connaissances du système. Contient les classes dont les instances doivent être vues et manipulées = noyau de l’application * Enregistre les vues et les contrôleurs qui en dépendent * Notifie les composants dépendants des modifications aux données * Vue : utilisé pour présenter/afficher les données du modèle dans l’interface utilisateur = interface (graphique) de l’application * Crée et initialise ses contrôleurs * Affiche les informations destinées aux utilisateurs * Implante les procédure de mise à jour nécessaires pour demeurer cohérente * Consulte les données du modèle * Contrôleur : contient les fonctionnalités nécessaires pour gérer et contrôler les interactions de l’utilisateur avec la vue et le modèle = partie de l’application qui prend les décisions * Accepte les événement correspondant aux entrées de l’utilisateur * Traduit un événements (1) en demande de service adressée au modèle ou bien (2) en demande d’affichage adressée à la vue * Implémente les procédures indirectes de mise à jour des vues si nécessaire