VSoneone
Veranstalter:
VSone 13.-14. Feb. 08 Folie 1 Copyright by
Mit 3 Schichte zum Erfolg
Thomas Schissler
VSoneone
Veranstalter:
VSone 13.-14. Feb. 08 Folie 2 Copyright by
Agenda
Einführung Begriffsdefinition 3 Schichten, was bedeutet das? Wo liegen die Vorteile
Architekturkonzepte 3-Schicht-Architektur aufbauen Komponentenorientierte Architektur Service-Orientierung
VSoneone
Veranstalter:
VSone 13.-14. Feb. 08 Folie 3 Copyright by
Vorstellung
Thomas Schissler Software-Architekt und Projektleiter artiso AG Schwerpunkte sind
Team Foundation Server Entwicklungsprozesse Software-Architektur und Software Design
Leiter der .net Developergroup Ulm (www.dotnet-ulm.de)
Blog : http://www.artiso.com/problog
VSoneone
Veranstalter:
VSone 13.-14. Feb. 08 Folie 4 Copyright by
Begriffsdefinition
Layer sind Anwendungsschichten Z.B. Presentation-Layer, Business-Layer,
Data-Access-Layer
Tiers sind physikalische Instanzen Z.B. Datenbankserver, Client-PC, Application
Server
Eine Anwendung kann nicht mehr Tiers als Layer haben
VSoneone
Veranstalter:
VSone 13.-14. Feb. 08 Folie 5 Copyright by
Begriffsdefinition
Server Tier
Business Layer
Data Layer
Client Tier
Presentation Layer
VSoneone
Veranstalter:
VSone 13.-14. Feb. 08 Folie 6 Copyright by
Unterschiede
2-Schicht-Architektur
Data-Layer
Frontend
VSoneone
Veranstalter:
VSone 13.-14. Feb. 08 Folie 7 Copyright by
Unterschiede
3-Schicht-Architektur
Data-Layer
Presentation Layer
Business-Layer
VSoneone
Veranstalter:
VSone 13.-14. Feb. 08 Folie 8 Copyright by
Unterschiede
private void btnCalculate_Click(object sender, EventArgs e){ LabelResult.Text = Double.Parse(txtAmount.Text) * Double.Parse(txtPrice.Text);}
private void btnCalculate_Click(object sender, EventArgs e){ LabelResult.Text = Calculator.GetTotal(
Double.Parse(txtAmount.Text), Double.Parse(txtPrice.Text));}
VSoneone
Veranstalter:
VSone 13.-14. Feb. 08 Folie 9 Copyright by
Unterschiede
Button
Amount * Price
Label Button Label
Amount * Price
Button LabelButton Label
VSoneone
Veranstalter:
VSone 13.-14. Feb. 08 Folie 10 Copyright by
Vorteile
Vorteile der 3-Schicht-Architektur Bessere Wiederverwendbarkeit Bessere Strukturierung Bessere Entwicklung im Team Bessere Testbarkeit Grundlage für verteilte Systeme
VSoneone
Veranstalter:
VSone 13.-14. Feb. 08 Folie 11 Copyright by
Aufbau einer 3-Schicht-Architektur
Beispielszenario Architektur für eine Zeiterfassung Liste mit Projekten abrufen Stunden für ein bestimmtes Datum auf ein
Projekt buchen Plausibilitätsprüfung
DemoArchitektur
Zeiterfassung
VSoneone
Veranstalter:
VSone 13.-14. Feb. 08 Folie 12 Copyright by
Komponenten-orientierung
Der nächste logische Schritt: Warum nur 3 Schichten?
n-Schicht-Architektur
Herausforderungen: Wie werden diese Schichten organisiert? Wie stellt man sicher, dass diese Sichten
sauber zusammenarbeiten Komponentenorientierte Architektur
VSoneone
Veranstalter:
VSone 13.-14. Feb. 08 Folie 13 Copyright by
Komponenten-orientierung
Was bedeutet Komponentenorientierung? Schichten werden als unabhängige
Assemblies (Komponenten) implementiert Kommunikation zwischen Kompontenten wird
durch Contracts beschrieben
VSoneone
Veranstalter:
VSone 13.-14. Feb. 08 Folie 14 Copyright by
Komponenten-orientierung
Vorteile: Bessere Wiederverwendbarkeit Bessere Strukturierung Bessere Entwicklung im Team Bessere Testbarkeit Grundlage für verteilte Systeme
VSoneone
Veranstalter:
VSone 13.-14. Feb. 08 Folie 15 Copyright by
Vorgehensweise
1. Funktionsbaum erstellen Sammeln aller Funktionsanforderungen Hierarchische Organisation der Funktionen Fehlende Funktionen ergänze
DemoFunktionsbaum erstellen
VSoneone
Veranstalter:
VSone 13.-14. Feb. 08 Folie 16 Copyright by
Vorgehensweise
2. Komponentenmodell erstellen Zusammenfassen der Funktionen zu
logischen Gruppen Je Funktionsgruppe eine Komponente
definieren Abhängigkeiten der Komponenten definieren
DemoKomponentenmodell
erstellen
VSoneone
Veranstalter:
VSone 13.-14. Feb. 08 Folie 17 Copyright by
Vorgehensweise
3. Contracts definieren DataContracts beschreiben die Daten, die
zwischen Komponenten ausgetauscht werden
FunctionContracts definieren den Funktionsumfang einer Komponente
DemoContracts definieren
VSoneone
Veranstalter:
VSone 13.-14. Feb. 08 Folie 18 Copyright by
Vorgehensweise
4. Komponenten implementieren Erstellen der Komponenten durch Ableitung Implementierung der Methoden einer
Komponente Instanzen als Singleton bereitstellen
DemoKomponenten
implementieren
VSoneone
Veranstalter:
VSone 13.-14. Feb. 08 Folie 19 Copyright by
Vorgehensweise
5. Zur Service-Orientierung erweitern Service-Fassade erstellen
DemoService-Fassade
VSoneone
Veranstalter:
VSone 13.-14. Feb. 08 Folie 20 Copyright by
Best Practice
Was ist bei der komponentenorientierten Architektur zu beachten? Zyklische Abhängigkeiten vermeiden Optimal sind „zustandslose Komponenten“ Immer gegen das Interface implementieren
VSoneone
Veranstalter:
VSone 13.-14. Feb. 08 Folie 21 Copyright by
Noch Fragen?
? Jetzt ist die Zeit dafür!
…oder Frage per E-Mail an [email protected]
VSoneone
Veranstalter:
VSone 13.-14. Feb. 08 Folie 22 Copyright by
Sessionvoting
Ich freue mich auf Ihr Feedback
DANKE!
VSoneone
Veranstalter:
VSone 13.-14. Feb. 08 Folie 23 Copyright by
Wir sehen uns wieder:
18.-19. Juni 2008Burghausenwww.ASP-konferenz.de
13.-14. Oktober 2008www.ADC08.de