Vue d'ensemble de l'application de données multicouche

Mise à jour : novembre 2007

Les applications de données multicouches sont des applications de données qui sont séparées en plusieurs couches. Également appelées « applications distribuées », les applications multicouches séparent le traitement en couches discrètes qui sont distribuées entre le client et le serveur. Lorsque vous développez des applications d'accès aux données, la séparation entre les différentes couches de l'application doit être nette.

Une application multicouche standard contient une couche de présentation, une couche intermédiaire et une couche de données. La façon la plus facile de séparer plusieurs couches dans une application multicouche consiste à créer des projets discrets pour chaque couche à inclure dans votre application. Par exemple, la couche de présentation peut être une application Windows Forms, alors que la logique d'accès aux données peut être une bibliothèque de classes située sur la couche intermédiaire. En outre, la couche de présentation peut communiquer avec la logique d'accès aux données de la couche intermédiaire via un service tel qu'un service WCF. La séparation des composants d'application en couches distinctes améliore la facilité de maintenance et l'évolutivité de l'application. Cela est mis en œuvre en facilitant l'adoption de nouvelles technologies qui peuvent s'appliquer à une couche unique sans qu'il ne soit nécessaire de reconcevoir entièrement la solution. En outre, les applications multicouches stockent généralement des informations sensibles dans la couche intermédiaire, ce qui assure l'isolation avec la couche de présentation.

Visual Studio intègre plusieurs fonctionnalités qui permettent aux développeurs de créer des applications multicouches.

  • Le Concepteur de DataSet propose une propriété Projet DataSet qui vous permet de séparer le groupe de données (couche de l'entité des données) et les TableAdapters (couche d'accès aux données) en projets discrets.

  • L'Concepteur Objet/Relationnel (Concepteur O/R) propose des paramètres permettant de générer le DataContext et les classes de données dans des espaces de noms distincts. Cela permet d'appliquer une séparation logique de la couches d'accès aux données et de la couche de l'entité des données.

  • LINQ to SQL fournit la méthode Attach qui permet de rassembler le DataContext de différentes couches dans une application. Pour plus d'informations, consultez Applications multicouches et distantes avec LINQ to SQL.

  • La boîte de dialogue Configurer la synchronisation des données, qui permet de configurer la synchronisation entre une base de données distante et le cache de base de données locale, propose une option de configuration avancée. Cette option vous permet de définir le serveur et le client pour séparer les projets. Pour plus d'informations, consultez Procédure pas à pas : ajout d'un cache de base de données locale à une application multicouche.

Couche de présentation

La couche de présentation correspond à la couche dans laquelle l'utilisateur interagit avec une application. Elle contient souvent une logique d'application supplémentaire. Les composants d'une couche de présentation standard contiennent les éléments suivants :

  • Composants de liaison de données, comme BindingSource et BindingNavigator.

  • Représentations sous forme d'objet des données, comme les classes d'entité LINQ to SQL à utiliser dans la couche de présentation.

  • Bases de données locales, comme un cache de base de données locale qui peut être synchronisé avec le serveur dans la couche de données à l'aide de Microsoft Synchronization Services pour ADO.NET dans des applications occasionnellement connectées (voir Applications occasionnellement connectées).

L'illustration suivante présente les fonctionnalités et les technologies qui sont disponibles dans Visual Studio et qui peuvent être intégrées dans la couche de présentation d'une application multicouche.

Couche de présentation

Composants de la couche présentation

En règle générale, la couche de présentation accède à la couche intermédiaire à l'aide d'une référence de service (par exemple, une application Services Windows Communication Foundation et services de données ADO.NET). La couche de présentation n'accède pas directement à la couche de données. En effet, elle communique avec la couche de données via le composant d'accès aux données de la couche intermédiaire.

Couche intermédiaire

La couche intermédiaire correspond à la couche que les couches de présentation et de données utilisent pour communiquer entre elles. Les composants d'une couche intermédiaire standard contiennent les éléments suivants :

  • Logique métier, comme les règles métier et la validation de données.

  • Composants et logique d'accès aux données, comme les éléments suivants :

L'illustration suivante présente les fonctionnalités et les technologies qui sont disponibles dans Visual Studio et qui peuvent être intégrées dans la couche intermédiaire d'une application multicouche.

Couche intermédiaire

Composants de la couche intermédiaire

En règle générale, la couche intermédiaire se connecte à la couche de données à l'aide d'une connexion de données. Cette connexion est habituellement stockée dans le composant d'accès aux données.

Couche de données

La couche de données correspond essentiellement au serveur qui stocke les données d'une application (par exemple, un serveur exécutant SQL Server).

L'illustration suivante présente les fonctionnalités et les technologies qui sont disponibles dans Visual Studio et qui peuvent être intégrées dans la couche de données d'une application multicouche.

Couche de données

Composants de la couche Données

La couche de données n'est pas directement accessible au client de la couche de présentation. En réalité, c'est le composant d'accès aux données de la couche intermédiaire qui est utilisé pour les communications entre les couches de présentation et de données.

Aide relative au développement multicouche

Les rubriques suivantes fournissent des informations sur l'utilisation d'applications multicouches :

Comment : séparer les Datasets et les TableAdapters dans différents projets

Procédure pas à pas : création d'une application de données multicouche

Procédure pas à pas : ajout d'une validation à une application de données multicouche

Procédure pas à pas : ajout d'un cache de base de données locale à une application multicouche

Applications multicouches et distantes avec LINQ to SQL

Voir aussi

Tâches

Procédure pas à pas : création d'une application de données multicouche

Concepts

Nouveautés des données

Vue d'ensemble des groupes de données dans Visual Studio

Référence

Attach

Autres ressources

Mise à jour hiérarchique

Accès aux données (Visual Studio)