Laden...

n-Tier und Client-Server

Erstellt von Black Scorpion vor 15 Jahren Letzter Beitrag vor 15 Jahren 994 Views
B
Black Scorpion Themenstarter:in
8 Beiträge seit 2007
vor 15 Jahren
n-Tier und Client-Server

Hallo,

stehe mal wieder vor einem Problem:

Es dreht sich mal wieder um die n-Tier Anwendungen und Client - Server Applikationen.

Meine Frage ist eher allgemein gehalten, aber ich probiers so gut es geht theoretisch zu erklären, da ich noch keine Zeile Code geschrieben hab.

Also wir haben eine GUI, eine Client bzw Server Schnittstelle, und eine DB.
Wobei die DB auf einem Server liegt.
Am Client sollte nur die GUI liegen. Die Schnittstelle selbst sollte Variable gehalten werden (sprich WebService, RPC ...).

Ich habe mir folgendes Schema ausgedacht.

Am Client liegen die Form Klassen, sowie eine eine Clientschnittstelle.
Am Server liegt die Serverschnittstelle, einen Controler sowie eine DB.

Weiters möchte ich das MVC Konzept einhalten.

Beispiel:
GUI kennt die Clientschnittstelle. Die CS fragt bei der Server-Schnittstelle an und diese bekommt die Daten vom Controler. Der Controler liest die Daten aus der DB aus und gibt diese als Business Objekte zurück.

Meine Frage wo gehören jetzt die Business Objekte hin?
Soll ich die in eine eigene DLL auslagern, da der Client diese ja auch kennen muss?
Oder soll ich alles über untypisierte DataSets machen?

Weiters könnte ich serverseitig noch untypisiert arbeiten und die Business Objekts erst Clientseitig zusammenbauen. Würde ich aber nur ungern.

Gui.Click --> CS.GetDataFromServer // je nach Schnittstellentyp
SS.GetData --> Controler.GetDataFromDB // mit Valdierung

mfg
Scorp

Gelöschter Account
vor 15 Jahren

Soll ich die in eine eigene DLL auslagern, da der Client diese ja auch kennen muss?

japp genau so.

B
Black Scorpion Themenstarter:in
8 Beiträge seit 2007
vor 15 Jahren

also wenn ich das jetzt richtig verstanden habe:

Client:
Gui --> Forms
eventuellen Controler --> War oben noch nicht notwendig der die Business Klassen aus dem DAL (Schnittstelle)
Business Layer --> mit meinen Klassen in einer DLL
DAL --> ist in dem Fall der Zugriff auf die Schnittstelle

Server:
Gui --> Schnittstelle, Service
Controler --> Validierung sowie Business aus der DAL zusammenbaut
Business Layer --> gleiche DLL wie Clientseitig
DAL --> eigentlicher Zugriff auf die Daten in der DB

3.971 Beiträge seit 2006
vor 15 Jahren

Der Server enthält nur Business-Logik und Datenzugriffsschicht. Alles was mit Ausgabe zu tun hat (ausgenommen Logging) gehört dort nicht rein. Die Businesslogik selbst kann aber auch mit Xml bzw. einem DateTable umgesetzt sein, das entsprechend an den Clienten durchgereicht wird (oder umgekehrt).

Es gibt 3 Arten von Menschen, die die bis 3 zählen können und die, die es nicht können...

T
108 Beiträge seit 2005
vor 15 Jahren

Moin!

Schau dir das mal an: .Net Application Server

Rainbird hat da ein sehr gutes Beispiel wie ich finde....

Ist sicherlich nen Blick wert.

Was einmal war, wird nie wieder sein...