Présentation d'une application à niveau triple
Remonter à Présentation des applications de bases de données multiniveaux
Les étapes numérotées suivantes illustrent une séquence normale d'événements pour une application à niveau triple basée sur les fournisseurs :
- Un utilisateur démarre l'application client. Le client se connecte au serveur d'applications (qui peut être spécifié lors de la conception ou de l'exécution). Si le serveur d'applications n'est pas déjà en fonctionnement, il démarre. Le client reçoit une interface IAppServer afin de communiquer avec le serveur d'applications.
- Le client demande des données au serveur d'applications. Un client peut demander toutes les données à la fois ou bien demander les données par fragments durant la session (extraction sur demande).
- Le serveur d'applications récupère les données (si nécessaire, en établissant d'abord une connexion avec la base de données), les packages pour le client puis renvoie un paquet de données au client. D'autres informations (par exemple, les caractéristiques d'affichage des champs) peuvent être incluses dans les métadonnées du paquet de données. Ce processus de packaging des données dans des paquets de données est appelé "fourniture".
- Le client décode le paquet de données et affiche les données à l'utilisateur.
- Pendant que l'utilisateur interagit avec l'application client, les données sont mises à jour (des enregistrements sont ajoutés, supprimés ou modifiés). Ces modifications sont stockées par le client dans un journal de modifications.
- Le client applique éventuellement ses mises à jour au serveur d'applications, généralement en réponse à une action de l'utilisateur. Pour appliquer les mises à jour, le client genère un package à partir du journal des modifications et le transmet en tant que paquet de données au serveur.
- Le serveur d'applications décode le paquet et émet les mises à jour (dans le contexte d'une transaction, le cas échéant). Si un enregistrement ne peut pas être validé (par exemple parce qu'une autre application a modifié l'enregistrement après que le client l'a demandé et avant que le client n'ait appliqué ses mises à jour), le serveur d'applications essaie de réconcilier les modifications du client avec les données en cours ou enregistre les enregistrements qui n'ont pas pu être validés. Ce processus de validation des enregistrements et de mise en cache des enregistrements à problème est appelé "résolution".
- Après l'opération de résolution, le serveur d'applications renvoie au client les enregistrements non validés pour résolution ultérieure.
- Le client réconcilie les enregistrements non résolus. Cela peut s'effectuer de plusieurs manières. Le client tente typiquement de remédier à la situation qui a empêché la validation des enregistrements, ou bien annule les modifications. Si l'erreur peut être corrigée, le client applique de nouveau les mises à jour.
- Le client actualise ses données depuis le serveur.
Utilisation de DataSnap pour créer des applications à niveau triple
DataSnap offre la possibilité de créer des applications Client-Serveur qui communiquent par le biais d'Internet, du réseau local ou de l'hôte local. DataSnap génère automatiquement l'interface nécessaire au client pour communiquer avec le serveur, qui contient les prototypes des méthodes serveur. Lors de l'utilisation d'une application à niveau triple développée avec la technologie DataSnap, l'utilisateur client peut appeler toutes les méthodes serveur.
Pour obtenir un exemple de la façon de créer une application avec DataSnap, allez à la page suivante :
Déploiement d'applications DataSnap multiniveaux
DataSnap fournit des fonctionnalités de bases de données multiniveaux aux applications Delphi, en permettant aux applications client de se connecter aux fournisseurs d'un serveur d'applications.
Consultez le document DEPLOY (situé dans le répertoire Delphi principal) pour plus de détails sur les fichiers qui nécessitent d’être redistribués avec une application. Reportez-vous aussi au document REMOTE pour obtenir des informations sur les fichiers DataSnap qui peuvent être redistribués et de quelle façon.