Frage

Soweit ich es verstanden habe, können wir sagen, dass eine dreischichtige Architektur separate Projekte für jedes Anliegen bedeutet.Diese UI-Schicht, Business-Schicht und Datenschicht.UI spricht mit BL und BL spricht mit DB und umgekehrt.Das ist gut für die Wartbarkeit und die Idee der Trennung von Belangen ist sinnvoll.Andererseits unterscheiden sich die Ebenen von den Schichten.Ebenen stehen nämlich in direktem Zusammenhang mit Maschinen/Netzwerken.Ich meine, wenn wir von 2-Tier sprechen, handelt es sich im Allgemeinen um einen Client-Rechner und einen Datenbank-Server-Rechner.Wenn wir von 3 Tiers sprechen, handelt es sich im Allgemeinen um einen Client-Rechner, einen Anwendungsserver-Rechner und einen Datenbank-Server-Rechner.Im Hinblick auf diese Informationen ist die Entwicklung einer zweischichtigen Anwendung, die eine dreischichtige Architektur verwendet, möglich.

Bisher habe ich 3-Ebenen verwendet, aber es ist an der Zeit zu entscheiden, ob wir in 3-Ebenen oder 2-Ebenen entwickeln sollen.Es wird Windows Form Project vor Ort geben und etwa 150 Clients und 100 Handterminals werden Windows Form Project verwenden und über Webdienste kommunizieren.Bei Handterminals ist es offensichtlich, dass die beste Lösung die Verwendung von drei Ebenen ist. Bei Windows-Clients, die unter Windows 7 ausgeführt werden, ist es jedoch schwierig zu entscheiden, ob wir mit der Datenbank über einen Anwendungsserver kommunizieren oder eine direkte Verbindung zur Datenbank herstellen sollen.

Die Hauptfrage hier ist, welche Vorteile eine 3-Tier-Architektur gegenüber einer 2-Tier-Architektur bietet.Für mich bedeutet eine weitere Ebene, dass ein weiterer Server/Host/eine Maschine ständig betriebsbereit sein muss, was möglicherweise einen Mehraufwand bedeutet.

Bitte unterstützen Sie uns bei der Auswahl der besten Tier-Architektur.

War es hilfreich?

Lösung

Ich würde die Verwendung einer „3-Ebene“ (Client, Anwendungsserver und Datenbankserver) nur dann empfehlen, wenn Sie eine größere Aufgabe auf dem Anwendungsserver ausführen, die andernfalls die für die Ausführung einer Datenbankplattform verfügbaren Ressourcen verbrauchen würde.Zum Beispiel Verbindungspooling oder Verbindungsverwaltungssoftware, die zwischen der Anwendung (Business Layer) und dem Datenbankserver (Data Layer) ausgeführt wird.

Andere Tipps

Nehmen wir an, Sie haben diese Komponenten:UI, Common, Biz, DAL

Bei der zwei- oder dreistufigen Anwendungsentwicklung stellen Sie bereit UI Und Common An client Und Common, Biz , DAL An server (Achten Sie darauf, dass „Common“ auf beiden bereitgestellt wird) und Sie versuchen, eine Verbindung zu Ihrem BIZ über herzustellen .Net Remoting oder WCFUnd schließlich kann sich die Datenbank für die letzte Ebene auf einem Server oder anderen Servern befinden.

ich hoffe das hilft

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top