Architekturstile und Architekturmuster Flashcards

1
Q

Was sind die Merkmale eines Architekturstils?

A
  • Ein Architekturstil fasst gemeinsame Merkmale von IT-Systemen zusammen
  • enthält Regeln & Muster zur Strukturierung eines Systems, Bausteine und Beziehungen zwischen den Bausteinen
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Was sind die Merkmale eines Architekturmusters?

A
  • Helfen bei der Zerlegung eines Systems in Bausteine und bei der Verteilung von Verantwortlichkeiten
  • bilden Vorlagen für Systemstrukturen
  • sind eine Konkretisierung von Architekturstilen
  • bilden wiederverwendbare Bausteine für bestimmte Probleme
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Was ist der Unterschied zwischen Architekturstilen/-mustern und Entwurfsmustern?

A

Architekturstile & -muster beschreiben die Struktur eines Systems als Ganzes, Entwurfsmuster (Design Patterns) beschreiben die Struktur von Klassenverbänden und Komponenten

Die Unterscheidung ist allerdings nicht trennscharf

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Was kennzeichnet das Batch-Sequentielle Architekturmuster?

A
  • Daten werden stapelweise komplett verarbeitet und an Nachfolger weitergegeben
  • Schnittstellen zwischen Bausteinen sind oft Dateien oder Datenbanken
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Was sind die Vor- und Nachteile des Batch-Sequentiellen Musters?

A

Vorteile:

  • Klare Aufteilung des Systems
  • Einfache, funktionale Schnittstellen
  • Abhängigkeiten zwischen den Datensätzen können berücksichtigt werden

Nachteile:

  • Keine eingebaute Fehlerbehandlung
  • Externe Steuerung des Systems
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Was kennzeichnet das Pipes und Filter Architekturmuster?

A
  • Sofortige oder zeitversetzte Weitergabe der Daten zwischen den Filtern durch die Pipes
  • Alle Filter können parallel aktiviert sein
  • Ausgabe an eine oder mehrere Pipes
  • Unterscheidung zwischen Aktiven und Passiven Filtern
  • Unabhängigkeit der Datensätze
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Was sind die Vor- und Nachteile des Pipes und Filter Architekturmusters?

A

Vorteile:

  • Einfache Struktur
  • lose Kopplung der Filter

Nachteile:

  • Schwerwiegende Folgefehler
  • Externe Steuerung des Systems
  • Keine Eingriffsmöglichkeit in die Verarbeitung
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Wie verläuft die Implementierung einer Datenflussarchitektur?

A
  1. Einlesen und Entpacken der gesamten Datei
  2. Kategorisierung der Datensätze
  3. Verarbeitung der einzelnen Stapel durch Pipes und Filter
  4. Sammlung der Ergebnisse in einer einzelnen Datei
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Was sind die Vor- und Nachteile einer datenzentrierten Architektur?

A

Vorteile:

  • Hinzufügen weiterer Agenten ist einfach
  • Alle Agenten können parallel arbeiten
  • Test der Agenten werden vereinfacht

Nachteile:

  • Synchronisierung der Agenten kann aufwendig sein
  • Test der Komponente kann schwierig sein
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Welche Use Cases ergeben sich für das Repository Architekturmuster?

A
  • ERP-Systeme
  • Data Warehouses (mehrere ETL-Prozesse speisen Daten in dasselbe Repository)
  • Windows Registry

=> Überall dort, wo eine große Überschneidung der verwendeten Daten besteht und Arbeitsprozesse entsprechend aufgeteilt werden müssen

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Was kennzeichnet das Repository Architekturmuster?

A
  • aktive Agenten um einen passiven Datenspeicher herum
  • Agenten managen Verarbeitung und Ablauf innerhalb des Systems
  • Ein Repository pro Business Objekt
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Was kennzeichnet das Blackboard Architekturmuster?

A
  • Knowledge Sources sind spezialisierte Module, die Teilprobleme lösen
  • Blackboards sind strukturierte, globale Datenspeicher von Zwischenergebnissen
  • Controller wählen Knowledge Sources aus und führen diese mit unterschiedlichen Konfigurationen aus
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Welche Vor- und Nachteile hat das Master-Slave Architekturmuster?

A

Vorteile:

  • Verfügbarkeit von Services
  • Hohe Fehlertoleranz
  • Hohe Zuverlässigkeit

Nachteile

  • Redundanz von Services
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Was kennzeichnet das Master-Slave Architekturmuster?

A
  • Mehrere Slaves arbeiten für einen Master (unterschiedliche Implementierung von Interfaces)
  • Paralleles Arbeiten der Slaves möglich
  • Sicherstellen von Verfügbarkeit und Fehlertoleranz
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Was kennzeichnet das Layer-Architekturmuster?

A
  • Verschiedene Ebenen, wobei Komponenten höherer Ebene auf Komponenten niedrigerer Ebene zugreifen, nicht aber umgekehrt
  • Eine Schicht kapselt die Implementierung gegenüber der Außenwelt
  • Komponenten innerhalb einer Schicht besitzen einen ähnlichen Abstraktionsgrad
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Was sind die Vor- und Nachteile des Layer-Architekturmusters?

A

Vorteile:

  • Austauschbarkeit von Schichten
  • Abhängigkeiten zwischen Komponenten ist gering
  • Leicht verständlich

Nachteile:

  • Kann Performance beeinträchtigen
  • Anpassungsbedarf in allen Schichten bei Änderung in einer Schicht
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Was sind die einzelnen Schichten des Layer-Architekturmusters?

A
  • Präsentation/Benutzeroberfläche
  • Applikationsschicht
  • Fachdomäne (Business Architecture)
  • Infrastruktur (Technical Architecture)
18
Q

Was ist das Ports & Adapter Architekturmuster und wann wird es angewandt?

A
  • Spezialisierung des Schichtenmodells
  • Fachdomäne ist der Kern des Systems und hat keine direkten Abhängigkeiten
  • Schalenmodell: innere Kreise wissen nichts über äußere Kreise

Anwendungsfälle:

  • Langlebigkeit der Fachdomäne
  • Hohe Testabdeckung der Fachdomäne gewünscht
19
Q

Was sind die Vor- und Nachteile des Ports & Adapter Architekturmusters?

A

Vorteile:

  • Unabhängigkeit der Fachdomäne
  • Modularisierung => Hohe Wartbarkeit
  • Leichte Austauschbarkeit durch Unabhängigkeit

Nachteile:

  • Saubere und konsistente Modellierung der Fachdomäne notwendig
20
Q

Was sind die Eigenschaften von Verteilten Systemen?

A
  • Zusammenarbeit von Verarbeitungs- und Speicherbausteinen über Kommunikationsnetze
  • Eine Menge voneinander unabhängiger Computer, welche dem Benutzer wie ein einziges, kohärentes System vorkommen
  • Die Hard- und Softwarekomponenten befinden sich auf vernetzten Rechnern und kommunizieren über den Austausch von Nachrichten
  • Alle Komponenten haben ein gemeinsames Ziel
  • Heterogene Implementierung der Komponenten
21
Q

Was zeichnet das Client-Server Architekturmuster aus?

A
  • Klare Trennung der Verantwortlichkeiten
  • Client fragt Ressourcen oder Dienste ab
  • Server stellt Ressourcen oder Dienste zur Verfügung
  • Synchrone Kommunikation
22
Q

Was sind die Vor- und Nachteile des Client-Server Architekturmusters?

A

Vorteile:

  • Klare Trennung der Verantwortlichkeiten
  • Hohe Flexibilität

Nachteile:

  • Vielfältige Fehlerquellen
  • höherer Entwicklungsaufwand
  • niedrigere Sicherheit
23
Q

Was zeichnet das CQRS Architekturmuster aus?

A

Command Query Responsibility Segregation:

  • Trennung der Verantwortlichkeiten nach Klassifikation: Daten lesen oder Daten ändern
  • Äußere Schnittstellen werden nach dem gleichen Prinzip getrennt
24
Q

Was sind die Vor- und Nachteile des CQRS Architekturmusters?

A

Vorteile:

  • Performanter und skalierbarer durch Trennung komplexer Commands und schnell abzuarbeitender Queries
  • erhöhte Sicherheit
  • Cloud-Computing geeignet

Nachteile:

  • höherer Entwicklungsaufwand, Queries können vor Commands ausgeführt werdem
25
Q

Was zeichnet das CORBA Architekturmuster aus?

A

Common Object Request Broker Architecture

  • Trennung von Schnittstellen und Implementierung
  • Komponenten kommunizieren über Broker und nachrichten- oder ereignisbasierte Middleware
26
Q

Was sind die Vor- und Nachteile des CORBA Architekturmusters?

A

Vorteile:

  • Plattform- und Sprachenunabhängigkeit durch Interface Definition Language
  • Client-Server geeignet

Nachteile:

  • vielfältige Fehlerquellen
  • höherer Entwicklungsaufwand
27
Q

Was zeichnet das Peer-2-Peer Architekturmuster aus?

A
  • Jeder Peer ist gleichberechtigt
  • keine zentrale Verwaltung von Ressourcen oder Komponenten
  • Ressourcen werden geteilt verwendet
28
Q

Was sind die Vor- und Nachteile des Peer-2-Peer Architekturmusters?

A

Vorteile:

  • ausfallsichere Datenverteilung
  • kein Single Point of Failure

Nachteile:

  • nicht geeignet für kleinere Architekturen
  • Lokalisieren von Fehlern einzelner Peers sehr aufwendig
29
Q

Was sind die Eigenschaften des Architekturstils Ereignisbasierter Systeme?

A
  • bestehen aus einer Event Source und einem Event Sink
  • Kommunikation erfolgt über Ereignisse statt über Aufrufe im Code
  • Beziehungen zwischen Bausteinen werden während der Laufzeit hergestellt und sind unidirectional
30
Q

Was kennzeichnet das Architekturmuster der Ungepufferten Event-Kommunikation?

A
  • Broadcast Variante
  • Event-Source sendet Event an alle
  • Empfänger überprüfen, ob das Event für sie relevant ist
  • Ereignis wird in Netzwerk publiziert
  • alternativ kann sich Empfänger beim Sender registrieren und direkte Kommunikation herstellen
31
Q

Was kennzeichnet das Architekturmuster der Message- oder Event-Queue-Architekturen?

A
  • Queue statt direkter Kommunikation
  • Queue kann synchron oder asynchron sein
  • fire and forget (Event Source bekommt keine Rückmeldung)
  • keine Gewährleistung von Reihenfolge oder Bearbeitung (dafür müssen Korrelations-IDs verwendet werden)
32
Q

Was kennzeichnet das Architekturmuster der Message-Service-Architekturen?

A
  • Erweiterung der Queue-Architektur
  • Routing von Nachrichten an bestimmte Empfänger
  • Priorisierung der Reihenfolge möglich
  • Vorverarbeitung von Nachrichten (Archivierung, Verschlüsselung, Protokollierung, Auswertungen)
  • Zusammenfassung oder Aufteilen von Nachrichten
  • Überwachung von Systemen
  • Zuverlässige Speicherung
33
Q

Was sind die Vor- und Nachteile des Ereignisbasierten Architekturstils?

A

Vorteile:

  • Sender und Empfänger können in unterschiedlichen Technologien erstellt werden
  • Message-Queues mit zuverlässiger Zustellung können Verfügbarkeit und Robustheit deutlich erhöhen

Nachteile:

  • Message-Queues sind komplex
  • hoher Einführungs- und Administrationsaufwand
  • Fehlersuche in asynchronen Systemen sehr aufwendig
34
Q

Was kennzeichnet das Architekturmuster des Model View Controller aus?

A
  • Verbreitet im Web- Mobil- und Desktopbereich
  • Auf das Observer Pattern angewiesen, um die Kommunikation sicherzustellen
  • Besteht aus drei Teilen:
  • die View ist für die Anzeige zuständig und gibt Events an einen Controller weiter
  • der Controller steuert die Interaktion und propagiert Datenänderungen an das Model
  • das Model benachrichtigt die View und gibt dieser Zugriff auf die Daten
35
Q

Was sind die Vor- und Nachteile des MVC Architekturmusters?

A

Vorteile:

  • Klare Trennung der Verantwortlichkeiten
  • Erlaubt mehrere Views pro Model, auch mit unterschiedlichen Technologien
  • Reichhaltige Auswahl passender Frameworks

Nachteile:

  • Implementierung und Debugging kann aufwendig sein
  • Notifikationen können mit mehreren Controller-View-Paaren zeitaufwendig sein
  • Viel Boilerplate
36
Q

Was kennzeichnet das Presentation Model Architekturmuster?

A
  • MVC, aber mit einem zusätzlichen Presentation Model, welches mit der View und den Controller interagiert, um das Model nicht zu verändern
  • sinnvoll bei komplexen graphischen Oberflächen
37
Q

Was sind die Vor- und Nachteile des Presentation Model Architekturmusters?

A

Vorteile:

  • Das Model bleibt ein reines Domänen-Modell
  • Die View bleibt frei von fachlicher Logik oder Prüfungen

Nachteile:

  • Synchronisation und Notifikationen müssen zwischen PM und View implementiert werden
38
Q

Was kennzeichnet den REST-Architekturstil?

A
  • Eher Vorgehensempfehlung als Standard
  • Beschreibt den Einsatz von Webstandards zum Abruf von Webressourcen
  • Services sind Ressourcen und haben keine explizite Funktionalität
  • Impliziert eine Client-Server-Architektur
  • Kommunikation erfolgt über Standardmethoden GET POST PUT DELETE
  • Server stellt seine Fähigkeiten nach außen als Ressourcen zur Verfügung
  • Caches können zwischen Client und Server geschaltet werden
  • Kommunikation erfolgt durch Repräsentation von Ressourcen (JSON/XML/HTML)
39
Q

Was sind die Einsatzgebiete des REST Architekturstils?

A
  • Services
  • Webanwendungen
  • Hypermedia-Formate
  • SPAs
  • Resource Oriented Client Architecture (ROCA) => HTML wird serverseitig erzeugt, z.B. Blazor
40
Q

Was sind die Vor- und Nachteile des REST-Architekturstils?

A

Vorteile:

  • Verwendung weit verbreiteter Werkzeuge und Bibliotheken
  • Gute Skalierung durch Statelessness
  • Geringe Kopplung zwischen Parteien
  • Möglichkeit der Evolution von Schnittstellen

Nachteile:

  • Höhere Latenz im Vergleich zu lokalen Lösungen
  • Serialisierung kostet Performanz