Entwurf und Aufbau einer leistungsfähigen Anwendungsarchitektur

Slides:



Advertisements
Ähnliche Präsentationen
Windows Vista Produktivität Bastian Braun
Advertisements

Dokumentation von Software Architekturen unter Berücksichtigung von IEEE 1471 Vortrag an der FH Regensburg © Dr. Ulrich Margull, 2004 Dr. Ulrich.
Windows Vista für Entwickler
MVC – ein Architekturmuster
Wizards & Builders GmbH Schichtenarchitektur Multi-Tier-Applikationen mit Microsoft Visual FoxPro.
Microsoft Office Information Bridge Framework Jens Häupel.NET Technologieberater Developer Platform & Strategy Group Microsoft Deutschland GmbH.
Windows Small Business Server 2008
Hochverfügbarkeit mit { SQL Server 2008 }
Kooperationsmöglichkeiten im Bereich Medienkompetenzförderung Heidelberg, 06.Juni 2011 Jürgen Nilgen Area Sales Lead Germany | Microsoft Learning.
Windows Essential Business Server 2008
Service Orchestrierung mit .NET
Mit 3 Schichte zum Erfolg
Video Streaming mit Silverlight
Bitlocker mit Server 2008 in Enterprise Umgebungen
Jean-Claude Trachsel Senior Consultant Trivadis AG.
Roger Boesch Technology Solution Professional - Visual Studio Team System blogs.msdn.com/rogerboesch Microsoft Schweiz GmbH.
Das Model-View-ViewModel-Pattern
Version 2008 Team Foundation Version Control (TFVC) … ist eine vollständige Neuentwicklung … wurde für große Teams, die auch weltweit verteilt arbeiten,
Neno Loje Berater & MVP für Visual Studio ALM und TFS (ehemals VSTS) Hochqualitative Produkte mit Visual Studio & TFS 2010.
Windows Server 2008 Server Deployment
ASP.NET 3.5 AJAX Live Coding {mit Visual Studio 2008}
Evolution statt Revolution Willfried Färber MVP SQL Server.
BusinessPerformancePoint Server 2007 Planen, Überwachen, Analysieren
SQL Server 2008 Überblick Steffen Krause Technical Evangelist
Frank Fischer + Bernhard Frank Microsoft Deutschland GmbH.
Steffen Krause Technical Evangelist Microsoft Deutschland GmbH
Ralf M. Schnell Technical Evangelist Microsoft Deutschland GmbH
Scripting mit Windows PowerShell
SQL Azure Administration
3/28/2017 8:11 PM Visual Studio Tools für Office { Rapid Application Development für Office } Jens Häupel Platform Strategy Manager Microsoft Deutschland.
Dariusz Parys Developer Evangelist Microsoft Deutschland GmbH Christian Weyer Solutions Architect thinktecture.
Windows Server 2008 Terminal Services
Der Moderne Verwaltungsarbeitsplatz Die perfekte Symbiose der neuen Microsoft Technologien mit Ihrer bestehenden IT-Infrastruktur Michael Schäffer
Expression Blend for developers
Windows Presentation Foundation WS 2013/14 Prof. Dr. Herrad Schmidt
2 VirtualisierungSpeicher Web- und Anwendungsplattform Verwaltung & Automatisierung Virtuelle DesktopinfrastrukturIdentität & ZugriffNetzwerk Mehr als.
Virtual Earth Visualisierung von Geodaten Daniel Walzenbach, Microsoft Deutschland GmbH
Cyber-Security und Datenschutz in der Cloud Wie passt das zusammen?
Intensivmedizin-Applikation mit WPF, WCF und LINQ
SQL Server 2008 { Was ist neu für Entwickler? }
Management- und Web Services- Architekturen
3/31/ :26 AM © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Microsoft Cloud Day Herzlich willkommen!. Microsoft Cloud Day MSDN Veranstaltung Die Cloud Plattform als Erfolgsbaustein – Wie Sie als Softwarefirma von.
Thomas Claudius Huber Senior Consultant Trivadis AG WCF RIA Services Datengetriebene Apps.
…und nun aber zum heutigen Vortrag Die Herausforderung: Krisen und andere Verwerfungen Die Herangehensweise: Kosten senken & Produktivität erhöhen Das.
Mit IT IS enbex Hand in Hand Zeitgemäße Unternehmen sind auf schnellen und sicheren Datenaustausch angewiesen IT IS AG.
Kay Herzam IT Consulting GmbH Webentwicklung mit ASP.NET 4, Ajax und jQuery.
Sprachneuerungen des .NET Frameworks 3.5
Weg mit Fehlern, die kein Entwickler versteht …
Ralf M. Schnell Technical Evangelist Microsoft Deutschland GmbH
Christian Binder Senior Platform Strategy Manager Microsoft Deutschland GmbH.
Ralf M. Schnell Technical Evangelist Microsoft Deutschland GmbH.
OOSE nach Jacobson Sebastian Pohl/ST7 Betreuer: Prof. Dr. Kahlbrandt.
Arbeiten in einem agilen Team mit VS & TFS 11
? What is Open PS? SAP Open PS based on EPS 4.0
Microsoft Online Services Technischer Überblick (BPOS-S)
© 2012 IBM Corporation © 2013 IBM Corporation IBM Storage Germany Community Josef Weingand Infos / Find me on:
Cubido business solutions gmbh Haidfeldstrasse 33 A-4060 Leonding di(fh) Wolfgang Straßer ° Rundumblick.
Bing SMB Advertisers – Search Ads
Lync and Learn mit Manfred Helber Thema heute:
Azure Backup, Azure Backup Server und Azure Site Recovery
Arbeiten mit virtuellen Maschinen in Microsoft Azure
Azure Active Directory und Azure Active Directory Domain Services
Erweiterte Azure Dienste
Lync and Learn mit Manfred Helber Thema heute:
Wege in die Cloud: Office 365
oder: Was Licht mit autonomen Fahren zu tun hat
Wachstumsmotor für Ihr Unternehmen: Bing Ads
Michael Korp Technical Evangelist Microsoft Deutschland GmbH
Firmeninternes Softwarelogo
 Präsentation transkript:

Entwurf und Aufbau einer leistungsfähigen Anwendungsarchitektur 3/28/2017 6:35 PM Entwurf und Aufbau einer leistungsfähigen Anwendungsarchitektur Jörg Jooss Holger Sirtl MTC Architect Architect Evangelist Microsoft GmbH Microsoft GmbH © 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.

Agenda 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?

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

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

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

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

Trends 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

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

Qualitätsmerkmale von Software IEEE Std. 1061 Effizienz Zeiteffizienz Ressourceneffizienz Funktionalität Vollständigkeit Korrektheit Sicherheit Kompatibilität Interoperabilität Wartbarkeit Korrigierbarkeit Erweiterbarkeit Testbarkeit Portabilität Hardwareunabhängigkeit Softwareunabhängigkeit Installierbarkeit Wiederverwendbarkeit Verlässlichkeit Ausfallsicherheit Fehlertoleranz Verfügbarkeit Usability Verständlichkeit Erlernbarkeit Bedienbarkeit Aussagefähigkeit

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

Populäre Architekturpattern Schichtung (Unterteilung in Schichten) Layers Indirection Layers Datenfluss (Verarbeitung von Datenströmen) Batch Sequential Pipes-and-Filters Datenspeicher (gemeinsamer, zentraler Datenspeicher) Shared Repository Active Repository Blackboard Adaption (Möglichkeiten der Anpassung) Microkernel Reflection Interceptor Komponenteninteraktion (Aufrufbeziehungen) Explicit Invocation Implicit Invocation Client-Server Peer to Peer Publish-Subscribe

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

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

Drei-Schichten-Modell 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 Anwender Präsentation Anwendung Daten Daten-quelle Dienst

Exkurs: MVC vs. MVP Model-View-Controller Model-View-Presenter Benutzerinteraktion manipuliert informiert delegiert an View Presenter Model Benutzerinteraktion manipuliert informiert delegiert an aktualisiert Model-View-Controller Model-View-Presenter

Design Patterns der Präsentationsschicht 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) Anwender Präsentationsschicht Datenschicht Datenquelle Dienst Anwendungsschicht

Design Patterns der Anwendungsschicht 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 Anwender Präsentationsschicht Datenschicht Datenquelle Dienst Anwendungsschicht

Design Patterns der Datenschicht 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 Anwender Präsentationsschicht Datenschicht Datenquelle Dienst Anwendungsschicht

Pipes and Filters Pattern 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 Filter Pipe Direktzugriff Datenquelle/-senke

Evolution von Pipes and Filters zu Messaging Node1 Chan-nel1 Node2 Node3 Chan-nel2 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

Messaging Design Patterns Node1 Chan-nel1 Node2 Node3 Chan-nel2 Pipe-Patterns (Attach) Adapter Endpoint Filter-Patterns Router Translator Store Splitter/Aggregator (Content) Filter Pipe-Patterns (Flow) One-Way Request/Response Point-to-Point Publish-Subscribe Message-Patterns Document Command Event

Software + Services „The Cloud“ Translator Router Adapter Legacy App Channel1 Channel2 Endpoint Service App Channel3 Channel4 Channel5 Msg Store

Hilfestellungen durch Microsoft 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

Zusammenfassung 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

Was haben wir bewusst ausgelassen? Standards Modellierungssprachen Werkzeuge Implementierung Application Lifecycle Management (ALM) Projektorganisation

Quellen 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

3/28/2017 6:35 PM © 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. © 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.

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