Le schéma suivant représente plus précisèment le coeur de l'application et montre comment les données sont échangées entre le client et le serveur.

Détails de l'architecture technique

Ce schéma décrit comment l'application cliente et le serveur échangent des données (HTML, Javascript ou données). Les chiffres représentent l'ordre de traitement entre l'utilisateur et la base de données:

  • Lors de la mise à jour du profil d'un utilisateur, ex: changement de nom,
  • Le client dans DSDatabase met à jour le nom dans la structure DSTable (1), si la donnée n'est pas correcte (ne respecte pas les contraintes posées sur la table), l'utilisateur est automatiquement informé de la nature de l'anomalie (sans solliciter le serveur),
  • DSManager, à travers un "listener", notifie à l'utilisateur que le changement est correct (2) et (3),
  • Simultanément, la requête est sauvegardée dans un buffer (4) qui temporise les données vers le serveur à travers le hub (5),
  • L'application cliente valide la transaction (commit) et les requêtes sauvegardées sont envoyées au serveur (6),
  • Le serveur reçoit une transaction (ensemble de requêtes) (6),
  • Le serveur exécute la transaction et met à jour la base de données,
  • Le serveur valide la transaction et l'acquitte auprès du client,
  • DSManager notifient à l'utilisateur que l'élément a bien été mis à jour (8),
  • Seules les applications clientes concernées par la modification sont notifiées de la modification ou de l'ensemble des modifications (8). Le serveur prend soin de ne notifier aux clients que les modifications les concernant pour réduire la taille de la bande passante et pour garantir la sécurisation des données.

Enregistrer