Softwarearchitektur (Subject) / Architekturstile (Lesson)

There are 26 cards in this lesson

VL05 Teil 1

This lesson was created by jan_kirsch.

Learn lesson

This lesson is not released for learning.

  • Was ist ein Architekturmuster? Strukturelle Organisation einer Software Beschreibt Untersysteme von außen (Verantwortlichkeiten und Beziehungen untereinander)
  • Was ist ein Entwurfsmuster beschreibt Untersysteme und wiederkehrende Kompontenen VON INNEN!
  • Was ist ein Idiom? Lösung für ein Problem in einer konkreten Technologie Spezifisch für eine Programmiersprache
  • Was ist ein Architekturstil? Sammlung von Designentscheidungen für die Architektur angewandt auf in einem konkreten Entwicklungsrahmen auf ein konkretes System
  • Unterschied Architekturstil und Architekturmuster Anwendungsbereich (Scope): Konkreter Entwicklungskontext <-> Wiederkehrende Probleme Abstraktion: Stil gibt Richtlinien für Entwicklung aber kein konkretes Design vor. Muster können durch Adaption als konkrete Lösungen genutzt werden. Beziehung: Ein Stil kann mehrere Muster beinhalten. Ein Muster kann in mehreren Stilen verwendet werden.
  • vorteile von Stilen und Mustern wiederverwendung von Entwurfslösungen und Implementierungen Verständlichkeit, Visualisierung Interoperabilität zwischen Komponenten eines Stils
  • Architekturstile alle Namen Layers Pipes and Filters Blackboard Client-Server / Peer-to-Peer Service-orientierte Architekturen (SOA)
  • Architekturmuster alle Namen Model-View-Controller Proxy Broker Client-Dispatcher-Server Active Objects
  • Layers - Indikatioren Schichten Dienste werden nach oben angeboten Unteraufgaben werden nach untern delegiert 1:1 Beziehung ziwschen Schichten
  • Layers - Vorteile Wiederverwendbarkeit einzelner Schichten Standardisierung einzelner Schichten möglich Gerninge Abhängigkeiten, gute Modifizierbarkeit Austauschbarkeit einzelner Schichten
  • Layers - Nachteile Geringe Effizienz bei vielen Schichten (Daten durchlaufen viele Schichten und werden nur an wenigen Stellen bearbeitet) Jede Schicht erhält alle Daten, benötigt aber nicht alle Wahl der Schichtenanzahl: zu wenige (entfaltet nich volles Potential des Stils), zu viele (Overhead)
  • Layers -Beispiel TCP/IP
  • Pipes and Filters (Stil) - Indikatoren Datenflussgetriebene Architektur Datenfluss soll leicht änderbar sein Bearbeitungsstufen austauschbar, erweiterbar, wiederverwendbar
  • Pipes and Filters (Stil) - Beschreibung Pipes, Filter Filter: Haben Ein und Ausgang und bearbeiten einen Datenstrom kontinuierlich Pipes: Datenstrom von einem ausgang zu einem Eingang
  • Pipes and Filters (Stil) - Vorteile Kein temporären Daten erforderlich (geringer Speicherbedarf) Flexibilität durch Filteraustausch Rapid-Prototyping
  • Pipes and Filters (Stil) - Nachteile Keine globalen Daten vorhanden Jeder Filter muss Daten eventuell neu parsen (Wenn mehrere Filter von gleichem Datenstrom lesen) Fehlerbehandlung schwierig, da verteilt
  • Blackboard (Stil) - Indikatoren Sammlung der Daten im Blackboard Subsysteme (Knowledge-Sources) benutzen Daten gemeinsam Kontrollstrategie in Control-Komponente
  • Blackboard (Stil) - Probleme Zusammenspiel der Knowledge Sources schlecht testbar Nebenläufigkeit der KnowledgeSources
  • Client-Server (Stil) - Beschreibung Löst Problem: Mehrere Clients sollen auf den selben Daten arbeiten. Lösung: Trennung von Anwendung und Datenhaltung
  • Client-Server (Stil) - Vorteile Klare Verteilung der Daten Effiziente Ausnutzung von verbundenen Knoten Einfacher Austausch, Upgrade und Hinzufügen von Clients/Servern
  • Client-Server (Stil) - Nachteile Kein gemeinsames Datenmodell Redundantes Management in jedem Server Kein zentrales Register von Namen und Services
  • 3-Tier (Stil) - Beschreibung (Data, Logic, UI) Unterschiedliche Clients mit gleicher Funktionalität Präsentation der Daten soll austauschbar sein -> eigene Schicht für UI
  • Peer-to-Peer (Stil) - Beschreibung denzentralisierte Berechnungen Daten- und Kontrollfluss zwischen gleichberechtigten Peers Robust gegen Ausfälle skalierbar
  • Service orientierte Architekturen (SOA) (STIL) - Problem / Lösung Probleme: Integration vieler Dienste Sich häufig ändernde Geschäftsprozesse Ziele: Orientierung and Geschäftprozessen, anpassbar, skalierbar
  • Service orientierte Architekturen (SOA) (Stil) - Was ist ein Service? SOA besteht aus mehrern Services. Ein Service representiert einzelne Funktionen und ermöglicht den Zugriff auf diese.
  • Service orientierte Architekturen (SOA) (Stil) - SOA Dreieck Service Provider: publiziert Spezifikation in SD (1), Service Nutzung(5) Service Directory: liefert Spezifikation an SU (3) Service (Nutzung) Service User: Sucht Service in SD (2), fragt Spezifikation beim SP ab(4)