Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Jörg JoossHolger Sirtl MTC ArchitectArchitect EvangelistMicrosoft GmbH.

Ähnliche Präsentationen


Präsentation zum Thema: "Jörg JoossHolger Sirtl MTC ArchitectArchitect EvangelistMicrosoft GmbH."—  Präsentation transkript:

1 Jörg JoossHolger Sirtl MTC ArchitectArchitect EvangelistMicrosoft GmbH

2 Software-Architektur – wozu? Welcher Zusammenhang besteht zwischen Anforderungen an ein System und dessen Software-Architektur? Wie entwirft man Software-Architekturen? Wie unterstützt Microsoft Software- Architekten?

3 Plan für den Aufbau, Verhalten und die Erweiterbarkeit eines Softwaresystems Beschreibung aller Design-Entscheidungen zu einem Softwaresystem Entscheidungen zu Komponenten Anordnung Schnittstellen Beziehungen

4 Hardware-Architektur Wenige Design- Elemente Skalierung durch Replikation Netzwerk-Architektur Knoten und Verbindungen Wenige Topologien Klassische Architektur Verschiedene Sichten Architekturstile Ingenieurskunst Material

5 Software- Architektur Organisa- tions- kontext Design, Implemen- tierung Betrieb Hardware- Architektur Qualitäts- sicherung Anfor- derungs- analyse Projekt- planung

6 Logische Sicht (Module) Laufzeitsicht (Komponenten/- Konnektoren) Infrastruktursicht (Allokation) Implementierungssicht Datensicht Sicherheitssicht

7 Verschiebung der Balance zwischen Build-versus- Buy Steigende Bedeutung von Integration Kompatibilität und Standards Network-Centric Computing Orchestrierung verteilte Systeme und Dienste Verteilte Verantwortlichkeiten vertraglich geregelt Pervasive Computing Verschiedene Endgeräte (PC, SmartPhone etc.) Dynamische Rekonfigurationen bei Änderungen von Geräten Software + Services Anwendungen, die aus lokalen und entfernten Komponenten zusammengesetzt sind Anwendungskomposition durch Benutzer

8 Wiederverwendung Opportunistisch vs. Systematisch Lebenszyklus Evolution vs. Erosion Vorgehen Agil vs. Formal U.v.m.

9 Effizienz Zeiteffizienz RessourceneffizienzFunktionalität Vollständigkeit Korrektheit Sicherheit Kompatibilität InteroperabilitätWartbarkeit Korrigierbarkeit Erweiterbarkeit TestbarkeitPortabilität Hardwareunabhängigkeit Softwareunabhängigkeit Installierbarkeit WiederverwendbarkeitVerlässlichkeit Ausfallsicherheit Fehlertoleranz VerfügbarkeitUsability Verständlichkeit Erlernbarkeit Bedienbarkeit Aussagefähigkeit IEEE Std. 1061

10 Startpunkt für den Systementwurf Festlegung des Grundgerüsts des Gesamtsystems Identifikation von Subsystemen Aufgaben Beziehungen untereinander Adressierung von Qualitätsmerkmalen

11 LayersLayers Indirection LayersIndirection Layers Schichtung (Unterteilung in Schichten) Batch SequentialBatch Sequential Pipes-and-FiltersPipes-and-Filters Datenfluss (Verarbeitung von Datenströmen) Shared RepositoryShared Repository Active RepositoryActive Repository BlackboardBlackboard Datenspeicher (gemeinsamer, zentraler Datenspeicher) MicrokernelMicrokernel ReflectionReflection InterceptorInterceptor Adaption (Möglichkeiten der Anpassung) Explicit InvocationExplicit Invocation Implicit InvocationImplicit Invocation Client-ServerClient-Server Komponenteninteraktion (Aufrufbeziehungen) Peer to Peer Peer to Peer Publish-Subscribe Publish-Subscribe

12 Architektur- pattern Strukturieren ein System in Subsysteme, deren Eigenschaften und deren Beziehungen untereinander Design Pattern Strukturieren Subsysteme in Implementierungs- bausteine

13 Strukturierung der Anwendung in unabhängige Schichten mit steigendem Abstraktionsgrad Schnittstellen Sicht: Module Qualitätsmerkmale: Wartbarkeit, Portabilität Strikt oder Relaxed Layer 2 Layer 3 Layer N Layer 1 AbstraktionAbstraktion

14 Präsentationsschicht Interaktion zwischen Anwender und System Verschiedene Endgeräte/- formate Anwendungsschicht Kern des Anwendungssystems Höchster Anspruch an Wiederverwendbarkeit Datenschicht Interaktion zwischen System und Datenquellen AnwenderAnwender PräsentationPräsentation DatenDaten Daten- quelle DienstDienst AnwendungAnwendung

15 Model-View-ControllerModel-View-Presenter ViewView ControllerControllerModelModelBenutzerinteraktionmanipuliert informiert delegiert an ViewView PresenterPresenter ModelModelBenutzerinteraktionmanipuliert informiert aktualisiert

16 Model-View-Controller (MVC) als dominantes Design-Pattern Varianten: Model-View-Presenter ( Smart Client Software Factory) Document-View ( Microsoft Foundation Classes) MVC mit Page Controller ( ASP.NET Web Forms) MVC mit Front Controller ( ASP.NET MVC) AnwenderAnwender PräsentationsschichtPräsentationsschicht DatenschichtDatenschicht Datenquell e DienstDienst AnwendungsschichtAnwendungsschicht

17 Transaction Script Use Case-zentrierte Sicht des Anwendungsbereichs Code, Sequenzielle Workflows Table Module Datenmodell-zentrierte Sicht des Anwendungsbereichs Typed DataSets mit Anwendungslogik Domain Model Objektmodell des Anwendungsbereichs, das Verhalten und Daten umfasst Implementierung i.d.R. in Verbindung mit O/R-Mappern wie Entity Framework AnwenderAnwender PräsentationsschichtPräsentationsschicht DatenschichtDatenschicht Datenquell e DienstDienst AnwendungsschichtAnwendungsschicht

18 Table Data Gateway Kapselt Zugriff auf eine Tabelle in der Datenbank Data Adapter, Table Adapter Mapper Bildet Objekte auf Tabellen und Relationen ab Entity Framework, LINQ To SQL Service Gateway Kapselt Zugriff auf Dienste (Web Services, EAI-Konnektoren etc.) WCF-Clients, ASMX-Clients, proprietäre Komponenten AnwenderAnwender PräsentationsschichtPräsentationsschicht DatenschichtDatenschicht Datenquell e DienstDienst AnwendungsschichtAnwendungsschicht

19 Filter Pipe Direktzugriff Datenquelle/-senke Sicht: Komponenten und Konnektoren Qualitätsmerkmale: Effizienz, Erweiterbarkeit Verarbeitung von Datenströmen durch aktive oder passive Filter Datenstrom wird mittels Pipes über Filtern geleitet Daten können durch Pull oder Push zwischen Filtern propagiert werden SS F1F1F1F1 F1F1F1F1 P1P1P1P1 P1P1P1P1 F2F2F2F2 F2F2F2F2 F3F3F3F3 F3F3F3F3 SS P2P2P2P2 P2P2P2P2

20 SS Node 1 Chan- nel 1 Node 2 Node 3 SS Chan- nel 2 SS F1F1F1F1 F1F1F1F1 P1P1P1P1 P1P1P1P1 F2F2F2F2 F2F2F2F2 F3F3F3F3 F3F3F3F3 SS P2P2P2P2 P2P2P2P2 Datenstrom Nachrichten Header (Adresse, Inhaltsangabe, Security, …) Body (Nutzlast) Filter Kommunikationsknoten Lesen, schreiben und verändern Nachrichten (Header, Body) Pipes Kommunikationskanäle Definieren Kommunikationsstrecken, -richtungen und Inhalte

21 Pipe-Patterns (Attach) Adapter Endpoint Filter-Patterns Router Translator Store Splitter/Aggregator (Content) Filter SS Node 1 Chan -nel 1 Node 2 Node 3 SS Chan -nel 2 Pipe-Patterns (Flow) One-Way Request/Response Point-to-Point Publish-Subscribe Message-Patterns Document Command Event

22 The Cloud TranslatorTranslator RouterRouter AdapterAdapter Legacy App Channel 1 Channel 2 EndpointEndpoint Service App Channel 3 Channel 4 Channel 5 Msg Store

23 Enterprise Library, Unity Composite Application Block, Composite WPF Software Factories (Smart Client, Web Client, Web Service) Guides Software + Services Blueprints Manager Outlook+Services Blueprint ARCast, ARCast.TV

24 Software hat immer eine Architektur – ist sie entworfen oder nur entstanden? Software-Architekturen besitzen Qualitätsmerkmale – entsprechen diese den Anforderungen an das System? Der Entwurf ist ein iterativer Prozess – welche Architektur- und Design-Patterns sind anwendbar und sinnvoll? Architektur ist eine Kunst

25 Standards Modellierungssprachen Werkzeuge Implementierung Application Lifecycle Management (ALM) Projektorganisation

26 L. Bass et al., Software Architecture in Practice, Addison-Wesley 2003 F. Buschmann et al., Pattern-Oriented Software Architecture, Wiley 1996 G. Hohpe und B. Woolf, Enterprise Integration Patterns, Addison Wesley 2003 M. Fowler, Patterns of Enterprise Application Architecture, Addison- Wesley 2002 Microsoft Corp., Enterprise Solution Patterns Using Microsoft.NET, Microsoft Press 2003 G. Starke, Effektice Software- Architekturen, Hanser 2002 J. Reekie und R. McAdam, A Software Architecture Primer, Angophora Press 2006

27 © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

28 Wir freuen uns auf Ihre Fragen: Technische Experten stehen Ihnen während der gesamten Veranstaltung in der Haupthalle zur Verfügung.


Herunterladen ppt "Jörg JoossHolger Sirtl MTC ArchitectArchitect EvangelistMicrosoft GmbH."

Ähnliche Präsentationen


Google-Anzeigen