1 / 23

Mit 3 Schichte zum Erfolg

Mit 3 Schichte zum Erfolg. Thomas Schissler TSchissler@artiso.com. Agenda. Einführung Begriffsdefinition 3 Schichten, was bedeutet das? Wo liegen die Vorteile Architekturkonzepte 3-Schicht-Architektur aufbauen Komponentenorientierte Architektur Service-Orientierung. Vorstellung.

erica
Télécharger la présentation

Mit 3 Schichte zum Erfolg

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Mit 3 Schichte zum Erfolg Thomas Schissler TSchissler@artiso.com

  2. Agenda • Einführung • Begriffsdefinition • 3 Schichten, was bedeutet das? • Wo liegen die Vorteile • Architekturkonzepte • 3-Schicht-Architektur aufbauen • Komponentenorientierte Architektur • Service-Orientierung

  3. 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

  4. 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

  5. Begriffsdefinition Client Tier Server Tier Presentation Layer Business Layer Data Layer

  6. Unterschiede • 2-Schicht-Architektur Frontend Data-Layer

  7. Unterschiede • 3-Schicht-Architektur Presentation Layer Business-Layer Data-Layer

  8. Unterschiede private voidbtnCalculate_Click(objectsender, EventArgs e) { LabelResult.Text = Double.Parse(txtAmount.Text) * Double.Parse(txtPrice.Text); } private voidbtnCalculate_Click(objectsender, EventArgs e) { LabelResult.Text = Calculator.GetTotal( Double.Parse(txtAmount.Text), Double.Parse(txtPrice.Text)); }

  9. Unterschiede Button Label Button Label Button Label Button Label Amount * Price Amount * Price

  10. Vorteile • Vorteile der 3-Schicht-Architektur • Bessere Wiederverwendbarkeit • Bessere Strukturierung • Bessere Entwicklung im Team • Bessere Testbarkeit • Grundlage für verteilte Systeme

  11. 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 Demo Architektur Zeiterfassung

  12. 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

  13. Komponenten-orientierung • Was bedeutet Komponentenorientierung? • Schichten werden als unabhängige Assemblies (Komponenten) implementiert • Kommunikation zwischen Kompontenten wird durch Contracts beschrieben

  14. Komponenten-orientierung • Vorteile: • Bessere Wiederverwendbarkeit • Bessere Strukturierung • Bessere Entwicklung im Team • Bessere Testbarkeit • Grundlage für verteilte Systeme

  15. Vorgehensweise 1. Funktionsbaum erstellen • Sammeln aller Funktionsanforderungen • Hierarchische Organisation der Funktionen • Fehlende Funktionen ergänze Demo Funktionsbaum erstellen

  16. Vorgehensweise 2. Komponentenmodell erstellen • Zusammenfassen der Funktionen zu logischen Gruppen • Je Funktionsgruppe eine Komponente definieren • Abhängigkeiten der Komponenten definieren Demo Komponentenmodell erstellen

  17. Vorgehensweise 3. Contracts definieren • DataContracts beschreiben die Daten, die zwischen Komponenten ausgetauscht werden • FunctionContracts definieren den Funktionsumfang einer Komponente Demo Contracts definieren

  18. Vorgehensweise 4. Komponenten implementieren • Erstellen der Komponenten durch Ableitung • Implementierung der Methoden einer Komponente • Instanzen als Singleton bereitstellen Demo Komponenten implementieren

  19. Vorgehensweise 5. Zur Service-Orientierung erweitern • Service-Fassade erstellen Demo Service-Fassade

  20. Best Practice • Was ist bei der komponentenorientierten Architektur zu beachten? • Zyklische Abhängigkeiten vermeiden • Optimal sind „zustandslose Komponenten“ • Immer gegen das Interface implementieren

  21. NochFragen? ? • Jetztist die Zeitdafür! • …oderFrage per E-Mail an TSchissler@artiso.com

  22. Sessionvoting • Ichfreuemich auf Ihr Feedback DANKE!

  23. Wirsehenunswieder: 18.-19. Juni 2008 Burghausen www.ASP-konferenz.de 13.-14. Oktober 2008 www.ADC08.de

More Related