Structure du serveur d'applications

De RAD Studio
Aller à : navigation, rechercher

Remonter à Présentation des applications de bases de données multiniveaux


Quand vous configurez et exécutez un serveur d'applications, ce dernier n'établit pas de connexion avec les applications client. C'est au contraire les applications client qui initialisent et maintiennent la connexion. L'application client utilise un composant connexion pour se connecter au serveur d'applications, et se sert de l'interface du serveur d'applications pour communiquer avec un fournisseur sélectionné. Tout ce processus est automatique et vous n'avez pas besoin d'écrire du code pour gérer les requêtes entrantes, ni pour fournir les interfaces.

DataSnap est une technologie polyvalente fournissant la capacité de créer des applications client-serveur multiniveaux qui communiquent par le biais d'Internet, du réseau local ou de l'hôte local, en utilisant le protocole de transport TCP (TDSTCPServerTransport) ou HTTP (TDSHTTPService). Pour de plus amples informations sur la structure du serveur DataSnap, consultez les rubriques Création d'un serveur DataSnap et Création de l'application serveur.

La base d'un serveur d'applications est un module de données distant, c'est-à-dire un module de données spécialisé supportant l'interface IAppServer (pour les serveurs d'applications fonctionnant aussi en tant que service Web, le module de données distant supporte aussi l'interface IAppServerSOAP et l'utilise de préférence à IAppServer). Les applications client utilisent l'interface du module de données distant pour communiquer avec les fournisseurs présents sur le serveur d'applications. Quand le module de données distant utilise IAppServerSOAP, le composant connexion l'adapte en interface IAppServer que les ensembles de données client peuvent utiliser.

Il existe quatre types de module de données distant :

  • TDSServerModule : Il s'agit du module de données distant pour le serveur DataSnap. Utilisez ce type de module de données distant pour exposer les ensembles de données, les méthodes, les connexions SQL et les fournisseurs partagés du serveur au client.
  • TRemoteDataModule : Il s'agit d'un serveur Automation à double interface. Utilisez ce type de module de données distant si les clients utilisent DCOM, HTTP, les sockets ou OLE pour se connecter au serveur d'applications, sauf si vous voulez installer le serveur d'applications avec COM+.
  • TMTSDataModule : Il s'agit d'un serveur Automation à double interface. Utilisez ce type de module de données distant si vous créez le serveur d'applications en tant que bibliothèque active (.DLL) installée avec COM+ (ou MTS). Vous pouvez utiliser des modules de données distants MTS avec DCOM, HTTP, les sockets ou OLE. Pour de plus amples informations sur les avantages et les limitations de l'utilisation de MTS ou COM+ avec un serveur d'applications, voir Utilisation de modules de données transactionnels.
  • TSoapDataModule : Il s'agit d'un module de données qui implémente une interface IAppServerSOAP dans une application service Web. Utilisez ce type de module de données distant pour fournir des données aux clients accédant aux données en tant que service Web.

Remarque : Si le serveur d'applications doit être déployé sur COM+ (ou MTS), le module de données distant inclut des événements pour l'activation et la désactivation du serveur d'applications. Ceci lui permet d'acquérir des connexions de base de données quand il est activé et de les libérer quand il est désactivé.

Contenu du module de données

Vous pouvez inclure un composant non visuel dans le module de données distant, comme avec n'importe quel module de données. Toutefois, vous devez inclure certains composants :

  • Un composant ensemble de données pour représenter les enregistrements de ce serveur de base de données si le module de données distant expose des informations d'un serveur de base de données. D'autres composants, tels qu'un composant connexion de base de données d'un type particulier, peut être requis pour permettre à l'ensemble de données d'interagir avec un serveur de base de données.
  • Pour chaque ensemble de données que le module de données distant expose aux clients, le module de données distant doit inclure un fournisseur d'ensemble de données. Un fournisseur d'ensemble de données rassemble les données en paquets de données qui sont envoyés aux ensembles de données client et applique les mises à jour reçues des ensembles de données client à un ensemble de données source ou à un serveur de base de données.
  • Un fournisseur XML pour chaque document XML que le module de données distant expose aux clients. Un fournisseur XML se comporte comme un fournisseur d'ensemble de données, à la différence qu'il récupère les données d'un document XML et applique les mises à jour à ce document, au lieu d'utiliser un serveur de base de données.

Les méthodes serveur, utilisées dans l'architecture DataSnap, permettent au développeur d'écrire des méthodes qui font partie du niveau intermédiaire. Ces méthodes sont disponibles pour le client de façon transparente et peuvent être appelées exactement comme si le code était exécuté au sein du binaire client. Pour utiliser des méthodes serveur, vous devez sélectionner l'option Classe de méthodes serveur de l'expert Serveur DataSnap.

Lors de l'exécution d'une méthode serveur (appelée par un client), le serveur peut appeler une fonction de rappel, transmise en argument à la méthode serveur par le client DataSnap. Pour de plus amples informations sur l'utilisation des rappels, voir la page Utilisation des rappels.

Remarque : Ne confondez pas les composants connexion de base de données, qui connectent des ensembles de données à un serveur de base de données, avec les composants connexion utilisés par les applications client d'une application multiniveau. Les composants connexion des applications multiniveaux sont disponibles sur la catégorie DataSnap ou WebServices de la Palette d'outils.

Rubriques

Voir aussi