Übersicht über N-Tier-Datenanwendungen

Aktualisiert: November 2007

N-Tier-Datenanwendungen sind Datenanwendungen, die in mehrere Ebenen aufgeteilt sind. Sie werden auch "verteilte Anwendungen" oder "Anwendungen mit mehreren Ebenen" genannt, da die Verarbeitung auf voneinander unabhängige, auf Client und Server verteilte Ebenen aufgeteilt wird. Beim Entwickeln einer Anwendung, die auf Daten zugreift, sollten die verschiedenen Ebenen, aus denen die Anwendung besteht, klar getrennt sein.

Eine typische N-Tier-Anwendung besteht aus einer Präsentationsebene, einer mittleren Ebene und einer Datenebene. Die einfachste Möglichkeit zum Trennen der verschiedenen Ebenen einer N-Tier-Anwendung besteht im Erstellen separater Projekte für jede Ebene, die in der Anwendung enthalten sein soll. Beispielsweise könnte die Präsentationsebene eine Windows Forms-Anwendung sein, während die Datenzugriffslogik eine in der mittleren Ebene angesiedelte Klassenbibliothek ist. Weiterhin könnte die Präsentationslogik in der mittleren Ebene über einen Dienst wie den WCF-Dienst mit der Datenzugriffsebene kommunizieren. Die Aufteilung der Anwendungskomponenten in verschiedene Ebenen erhöht die Verwaltbarkeit und die Skalierbarkeit der Anwendung. Auf diese Weise wird das Einarbeiten neuer, eine einzelne Ebene betreffender Technologien vereinfacht, ein erneutes Entwerfen der Anwendung ist nicht notwendig. Außerdem werden vertrauliche Informationen von N-Tier-Anwendungen in der Regel in der mittleren Ebene gespeichert, die von der Präsentationsebene getrennt ist.

Visual Studio enthält zahlreiche Features, die Entwicklern das Erstellen von N-Tier-Anwendungen erleichtern.

  • Der DataSet-Designer stellt eine DataSet-Projekt-Eigenschaft zur Verfügung, die es ermöglicht, das DataSet (Datenentitätsebene) und die TableAdapter (Datenzugriffsebene) in einzelne Projekte aufzuteilen.

  • Der Object Relational Designer (O/R-Designer) stellt Einstellungen zur Verfügung, um den DataContext und Datenklassen in separaten Namespaces zu generieren. Dies ermöglicht eine logische Trennung von Datenzugriffs- und Datenentitätsebenen.

  • LINQ to SQL stellt die Attach-Methode zur Verfügung, mit der ein DataContext aus unterschiedlichen Ebenen in einer Anwendung vereinigt werden kann. Weitere Informationen finden Sie unter N-Tier- und Remoteanwendungen mit LINQ to SQL.

  • Das Dialogfeld Datensynchronisierung konfigurieren zum Konfigurieren der Synchronisierung zwischen einer Remotedatenbank und dem Cache für lokale Datenbanken stellt eine erweiterte Konfigurationsoption zur Verfügung. Diese Option ermöglicht Ihnen, Server und Client unterschiedlichen Projekten zuzuordnen. Weitere Informationen finden Sie unter Exemplarische Vorgehensweise: Hinzufügen eines Cache für lokale Datenbanken zu einer N-Tier-Anwendung.

Präsentationsebene

Die Präsentationsebene ist die Ebene, auf der Benutzer mit einer Anwendung interagieren. Sie enthält oft auch zusätzliche Anwendungslogik. Zu den typischen Komponenten einer Präsentationsebene gehören:

  • Komponenten zur Datenbindung, etwa BindingSource und BindingNavigator.

  • Objektdarstellungen von Daten, wie LINQ to SQL-Entitätsklassen, die in der Präsentationsebene verwendet werden können.

  • Lokale Datenbanken, bspw. ein Cache für lokale Datenbanken, die mit dem Server in der Datenebene mit Microsoft Synchronization Services für ADO.NET in Gelegentlich verbundene Anwendungen synchronisiert werden können.

In der folgenden Abbildung werden die in Visual Studio zur Verfügung stehenden Features und Technologien und deren mögliche Verwendung in der Präsentationsebene einer N-Tier-Anwendung dargestellt.

Präsentationsebene

Von der Präsentationsebene wird in der Regel mithilfe eines Dienstverweises (beispielsweise einer Windows Communication Foundation-Dienste und ADO.NET Data Services-Anwendung) auf die mittlere Ebene zugegriffen. Die Präsentationsebene greift nicht direkt auf die Datenebene zu. Sie kommuniziert mit der Datenebene unter Verwendung der Datenzugriffskomponenten der mittleren Ebene.

Mittlere Ebene

Die mittlere Ebene ist die Ebene, über die Präsentationsebene und Datenebene miteinander kommunizieren. Zu den typischen Komponenten einer mittleren Ebene gehören:

  • Geschäftslogik, z. B. Geschäftsregeln und Datenvalidierung.

  • Komponenten und Logik für den Datenzugriff, wie beispielsweise:

In der folgenden Abbildung werden die in Visual Studio zur Verfügung stehenden Features und Technologien und deren mögliche Verwendung in der mittleren Ebene einer N-Tier-Anwendung dargestellt.

Mittlere Ebene

Die mittlere Ebene stellt in der Regel mithilfe einer Datenverbindung eine Verbindung mit der Datenebene her. Diese Datenverbindung wird üblicherweise in der Datenzugriffskomponente gespeichert.

Datenebene

Der Datenebene entspricht im Grunde der Server, auf dem die Daten für eine Anwendung gespeichert werden (z. B. ein Server, auf dem SQL Server ausgeführt wird.)

In der folgenden Abbildung werden die in Visual Studio zur Verfügung stehenden Features und Technologien und deren mögliche Verwendung in der Datenebene einer N-Tier-Anwendung dargestellt.

Datenebene

Vom Client in der Präsentationsebene kann nicht direkt auf die Datenebene zugegriffen werden. Stattdessen fungiert die mittlere Ebene als Datenzugriffskomponente und dient zur Kommunikation zwischen der Präsentations- und der Datenebene.

Hilfe zur N-Tier-Entwicklung

In den folgenden Themen finden Sie Informationen über die Arbeit mit N-Tier-Anwendungen:

Gewusst wie: DataSets und TableAdapters in verschiedene Projekte aufteilen

Exemplarische Vorgehensweise: Erstellen einer N-Tier-Datenanwendung

Exemplarische Vorgehensweise: Hinzufügen von Validierungen zu einer N-Tier-Datenanwendung

Exemplarische Vorgehensweise: Hinzufügen eines Cache für lokale Datenbanken zu einer N-Tier-Anwendung

N-Tier- und Remoteanwendungen mit LINQ to SQL

Siehe auch

Aufgaben

Exemplarische Vorgehensweise: Erstellen einer N-Tier-Datenanwendung

Konzepte

Neue Datenfeatures

Übersicht über Datasets in Visual Studio

Referenz

Attach

Weitere Ressourcen

Hierarchische Aktualisierung

Zugreifen auf Daten (Visual Studio)