Mehrschichtanwendung mit WCF

21/06/2010 - 01:05 von Marvin Massih | Report spam
Hallo,

ich überlege mir gerade ein Konzept für eine etwas komplexere Anwendung.
Das ganze soll sowohl als 2- als auch als 3-Tier-Anwendung laufen
können, das ganze soll so simpel wie möglich, gleichzeitig aber leicht
erweiterbar sein.
Die GUI soll in ASP.NET realisiert sein.

Ich hatte bis jetzt angedacht, eine Service-Assembly (ggf. zwei, einmal
Business-Logik, einmal DataAccess) zu haben mit Services für die
entsprechenden Funktionen.
Die Services bekommen dann schon WCF-Attribute verpasst.

Zusàtzlich gibt es entsprechende Implementierungen der Services in
eigenen Assemblies, z.B. unterschiedliche DAL-Implementierungen für
verschiedene DBMSe.

Irgendwo (MeinProjekt.Core o.à.) würde es dann eine Factory-Klasse
geben, die Instanzen der entsprechenden Services bereitstellt.
Je nach Konfiguration entweder direkt instantiiert oder über WCF zur
Verfügung gestellt (ich habe mit WCF noch nichts gemacht, nach
Begutachtung des StockTrader-Beispiels scheint es jedoch möglich, das so
zu machen, dann könnte man sogar dieselbe Service-Implementierung
wiederverwenden).

Spàter könnte man dann nach Bedarf und Ressourcen noch komplexere Logik
ranstricken (z.B. freiere Konfigurierbarkeit der zu verwendenden
Services etc.).

Gibt es Einwànde gegen eine solche Architektur?
Gibt es bessere Lösungen, evtl. schon simple Beispielprojekte?

Ich habe mir, wie gesagt, die StockTrader-Anwendung angesehen - das ist
jedoch überdimensioniert und einige Design-Entscheidungen scheinen mir
auch der Kompabilitàt zur Java-Variante geschuldet zu sein.

Ich tendiere daher auch eher dazu, das meiste selbst zu machen, als ein
Riesenframework mit enormem Einarbeitungs- und Konfigurationsaufwand zu
verwenden.

Viele Grüße

Marvin

Marvin Massih | http://www.marvin-massih.de
 

Lesen sie die antworten

#1 Frank Dzaebel
21/06/2010 - 07:33 | Warnen spam
Hallo Marvin,

ich überlege mir gerade ein Konzept für eine etwas komplexere Anwendung.
Das ganze soll sowohl als 2- als auch als 3-Tier-Anwendung laufen
können, das ganze soll so simpel wie möglich, gleichzeitig aber leicht
erweiterbar sein. Die GUI soll in ASP.NET realisiert sein.
Ich hatte bis jetzt angedacht, eine Service-Assembly (ggf. zwei, einmal
Business-Logik, einmal DataAccess) zu haben mit Services für die
entsprechenden Funktionen.



Dann sollte man IMHO zumindest folgende Technologie kennen:

[WCF RIA Services]
http://msdn.microsoft.com/en-us/library/ee707344(VS.91).aspx

[WCF RIA Services : The Official Microsoft Silverlight Site]
http://www.silverlight.net/getstarted/riaservices/

[Webcast: Silverlight 4 (Teil 3 von 6) - WCF RIA Services | MSDN Online]
http://www.microsoft.com/germany/ms...ry.aspx?id32455102


Ich tendiere daher auch eher dazu, das meiste selbst zu machen,
als ein Riesenframework mit enormem Einarbeitungs- und
Konfigurationsaufwand zu verwenden.



bei vielen Lösungs-Ansàtzen kannst Du ja zunàchst die
Frameworks benutzen und durch:
a) Zufügen eigener Methoden
b) Überschreiben partieller Methoden
Deine Flexibilitàt ohne ~viel Einarbeitung erhalten.
Oft sind jedoch zumindest die Anfànge der mitgelieferten
"Hands on Labs" empfehlenswert.

Wenn Du die StockTrader-App schon ein wenig kennst,
kannst Du sie Dir ggf. ja auch mal mittels PRISM
ansehen:

[CompositeWPF - Release: Prism 4.0 Drop 2]
http://compositewpf.codeplex.com/re...view/47253
(neuster Drop, gibt es auch als Release)

Allerdings ist das wirklich mit Einarbeitungsaufwand
verbunden, der aber meiner Ansicht nach lohnenswert
wàre. Zusàtzlich wàre (eben) ggf. der Tech-Shift in Richtung
Silverlight/WPF zu überdenken, wenn nicht anzuraten.

Wenn das alles nichts ist, wàre IMHO zumindest:

[ASP.NET-MVC (Model View Controller)]
http://msdn.microsoft.com/de-de/lib...94709.aspx

mal anzusehen.


ciao Frank
Dipl.Inf. Frank Dzaebel [MCP/MVP C#]
http://Dzaebel.NET

Ähnliche fragen