Softwarearchitektur (Subject) / Architekturstile (Lesson)
There are 26 cards in this lesson
VL05 Teil 1
This lesson was created by jan_kirsch.
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)
