SAQT

...

...


A. S.
Diese Lernkarten bieten eine Einführung in die Grundlagen der Informatikarchitektur. Sie konzentrieren sich auf Systemarchitektur, Schichtenmodelle, Service-Oriented Architecture (SOA), Qualitätsattribute und verschiedene Architekturmuster wie Pipes und Filter oder Peer-to-Peer (P2P). Die Karteikarten eignen sich besonders für Studierende und Berufseinsteiger, die ein Verständnis für die Struktur und Funktionsweise von Software-Systemen entwickeln möchten.
Karten
71
Lernende
1
Sprache
Deutsch
Kategorie
Informatik
Stufe
Grundschule
Erstellt / Aktualisiert
19.02.2015 / 15.12.2019

Lernkarten

Wie werden Architekturmuster beschrieben?

Kontext

  • Anwendungssituation, die das Problem generiert

Problem

  • die verschiedenen Kräfte, die im Problem wirken
  • welche Problemvarianten auftreten können
  • Qualitätsattribute, die erfüllt werden müssen

Lösung

  • Elementtypen und ihre Interaktion
  • Topology der Elemente
  • Constraints
  • Erfüllungsgrad der Qualitätsattribute

Welche Qualitätsattribute beeinflussen die Auswahl einer synchronen oder asynchronen Kommunkation?

  • Eigenschaften des Systems zur Laufzeit = beobachtbares Verhalten
    • Availability
      • Nachricht kommt zu früh/spät/nicht
    • Performance
      • Blockieren beim Warten
    • Usability
      • Siehe Performance
    • Interoperability
    • Security
      • man in the middle? Kommunikation
  • Eigenschaften des Systems zur Entwicklungszeit
    • Modifiability
    • Testability
      • andere dinge testen je nach impl.
    • Reusability

Worin unterscheiden sich Architekturpattern von Designpattern?

Architekturpattern

  • Gross / weiterer Kontext
  • über gesamtes System oder Sub-System

Designpattern

  • Auf Code ebene
  • Kleinerer Kontext

Wie setzt die Schichtenarchitektur die folgenden Taktiken um: abstract common services, encapsulate, use an intermediary?

...

Diskutieren Sie den Unterschied zwischen Taktiken, Stilen und Mustern.

! Muster auswählen um Taktik umzusetzten. !

 

Taktik
Eine Taktik ist eine Entwurfsentscheidung, die Einfluss nimmt auf die Realisierung der Reaktion eines Qualitätsattributszenarios. (Richtlinien zur Verbesserung der Architektur)

Stil
Fundamentale Struktur eines Software-Systems und dessen Eigenschaften, Grundlegende Muster (Schichten, Layers, Tiers, Pipes & Filters, SOA...)

Architekturmuster ~ Stil
Grundlegende Organisation und Interaktion zwischen den Komponenten einer Anwendung.

Erkläre die Schichten Architektur.

  • Elemente einer Schicht besitzen einen ähnlichen Abstraktionsgrad
  • Eine Schicht bietet nach oben Services an
    • fungiert als Server
  • Eine Schicht benutzt nur die Services der direkt darunterliegenden Schicht
    • fungiert als Client
  • Ein „Durchgreifen“ auf tiefere Schichten zerstört die Architektur!

SOA beinhaltet dynamic service registry und discovery. Welche Qualitätsattribute werden dadurch positiv oder negativ beeinflusst?

Attribut: Verfügbarkeit

  • Höhere Verfügbarkeit durch discovery, sofern Services redundant sind. 
  • Services einzeln Testbar.

Attribut: Performance

  • Ein langsamer Service kann die Performance herunter ziehen

Viele P2P Architekturen verwenden late binding der Topology. Welche Qualitätsattribute können das verlangen oder verhindern?

... Keine Antowort erhalten ...

Was sind Vor und Nachteile von Schichten?

Vorteile

  • Leicht verständliches Strukturkonzept
  • Minimiert Abhängigkeiten zwischen Komponenten
  • Schichten sind voneinander unabhängig in Erstellung und Betrieb
  • Änderungen in einer Schicht können maximal eine andere Schicht betreffen

Nachteile

  • Kann die Performance eines Systems beeinträchtigen, wenn Anfragen durch mehrere Schichten weitergereicht werden müssen
  • Änderungen im Datenmodell können alle Schichten betreffen (Datenverwaltung, Applikation, Präsentation)

Erkläre Pipes und Filter.

  • Folge von Verarbeitungseinheiten (Filter), miteinander durch Datenkanäle verbunden (Pipes)
    • Jeder Filter gibt sein Ergebnis direkt an den nächsten Filter weiter
    • Pipes sind keine eigenen Komponenten in der Architektur (sind Konnektoren)
  • Verschiedene Koordinationsmodelle denkbar
    • Dezentrale/zentrale Steuerung
    • Pipes passiv oder aktiv
    • Datenübergabe komplett, stückchenweise, zeitversetzt

Was sind Vor und Nachteile von Pipes und Filters?

Vorteile

  • Einfache Implementierung
  • Klar verständliche Struktur
  • Klar strukturierte Abläufe
  • Mächtige Pipes können entscheiden, an welche Instanz eines Filters (Load balancing) oder an welchen Filter (Kapselung) sie die Daten weitergeben

Nachteile

  • Filter kennen einander nicht
    • Folgefehler können von ihnen nicht behandelt werden
  • Konfiguration der Verarbeitungskette kann schwierig sein
  • Filter können nur über Daten kommunizieren
    • Gesamte Verarbeitungsinformation muss in den Daten oder der zentralen Steuerung enthalten sein

Was sind Vorteile und Nachteile der Client/Server Architektur?

Vorteile

  • Zentralisierung wichtiger, rechenintensiver oder sensibler Berechnungen im Server
  • Thin Clients einfach in Verteilung und Wartung
  • Rich Clients oft bei Server-Ausfall noch verwendbar

Nachteile

  • Netzbelastung hoch (besonders bei Thin Clients)
  • Verteilung der Funktionalität nicht immer einfach
  • Grenzen der Skalierung bei sehr hohen Clientzahlen

Erkläre Peer-To-Peer (P2P)

  • Gleichberechtigte, über ein Netzwerk verteilte Komponenten (Peers), die sowohl die Rolle von Clients als auch Servern wahrnehmen und sich Ressourcen teilen
  • Eine Art von Konnektor («interpeer connection»)
    • In der Regel das Internet
  • Keine zentrale Kontrolle, Peers sind frei in der Kommunikation (jeder mit jedem)
  • Lokalisierung der Peers durch
    • dezentrale Kommunikation (Peers tauschen untereinander ihre Listen bekannter Peers aus) oder
    • einen zentralen Service

Was sind die Vor- und Nachteile von P2P?

Vorteile

  • Hohe Ausfallsicherheit (kein single point of failure)
  • Rechenintensive Aufgaben können verteilt werden
    • Seti@Home

Nachteile

  • Auffinden und Erkennen von Peers in grossen Netzen
  • Potentielle Gefahr des Zerfalls des P2P Netzes
    • Nur bestimmte Gruppen von Peers kennen sich
  • Fehlerbehandlung (Wer reagiert, wenn ein Peer seine Aufgaben falsch löst?)
  • Keine garantierten Antwortzeiten

Wie definieren Sie Architektur aus Sicht des Arbeitsprozesses und der Arbeitsergebnisse des Architekten?

Architekturentwurf- Wie verläuft der Prozess:

  • Denken in Systemen
    • Welches sind die grundlegenden Systemelemente?
    • Wie grenzen sie sich ab?
    • Welche Beziehungen treten auf?
  • Anwendung von Mustern
    • Welche Muster treten in den Elementen und ihren Beziehungen auf?
  • Bewertung des Systementwurfs
  • Wieder oben anfangen

Erläutern Sie wie Qualitätsattribute als Kräfte bei der Lösungsfindung wirken.

...

Auf welchen Ebenen werden Architektur-relevante Entscheidungen getroffen? Nennen Sie Beispiele.

Ebenen (nach Zimmermann)          Grundlegende Entscheidung
Exekutiv Ebene                                      Architekturstil Konzeptuelle
Ebene Architekturmuster                    Technologie Ebene Java EE oder .NET?
Hersteller Ebene                                  Oracle oder IBM? Microsoft?

Erkläre die Blackboard Archtektur.

  • Ursprünglich aus der Künstlichen Intelligenz zur Lösung komplexer Probleme, für die kein deterministisches Lösungsverfahren existiert
  • Kollaborative Problemlösung durch ansonsten unabhängige Programme
    • Keine Aufrufe zwischen den Programmen, Kommunikation nur über Blackboard
  • Zentrale Steuerungskomponente bewertet den Lösungsfortschritt auf dem Blackboard und aktiviert die verfügbaren Programme

Welches sind die ersten Schritte des Architekturentwurfs?

...

Wie kommen Sie von der Systemidee zur Struktur des Systems?

...

Womit dokumentieren Sie die Systemstrukturen?

...

Was verstehen wir unter einer Sicht und welche Sichten kennen Sie?

...

Welche Anforderungen erfüllen gute Sichten?

...

Was sollte in einer Architekturdokumentation enthalten sein?

...

Wie dokumentieren Sie Entscheidungen nach ISO 42010?

...

Was sind Vorteile und Nachteile von Blackboards?

Vorteile

  • Einfache Integration komplexer Systeme
  • Parallelisierung der Berechnungen möglich
  • Moderne Variante: Tuple Space

Nachteile

  • Keine Garantie der Lösungsfindung
  • Finden der richtigen Kontrollstrategie ist schwierig
  • Keine garantierten Antwortzeiten und Lösungen

Erkläre SOA aus Architektursicht.

  • Spezifikation der Services und der verwendeten Datenformate und Kommunikationsprotokolle
  • Entwurf der Applikationen als Orchestrierung von Services zur Erreichung bestimmter Geschäftsziele
    • Service provider und service consumer

Erläutere die Schichten in der SOA Referenzarchitektur der OG

...

Grundprinzipien und Technologien von SOA.

  • Vielzahl von Standards
    • XML-basierte Datenformate
    • SOAP/REST als wichtigste Protokolle
  • Service-orientierte Systeme
    • Modular
    • Verteilbar
    • Auffindbar
    • Austauschbar
    • Wiederverwendbar

Erläutere Vor- und Nachteile einer SOA Architektur.

Vorteile

  • Sehr flexible Architekturform mit einfachem Grundmodell
    • Systemfunktionalitäten als wiederverwendbare Assets verkapselt
    • Binden von Services zur Laufzeit und Lookup in Registries möglich
  • Vielzahl von ausgereiften Standards
  • Verbindung von Business und IT
  • Voraussetzung für Cloud, Mashups, …

Nachteile

  • Inhärente Komplexität offener, dezentralisierter Systeme
  • Vielzahl schwieriger Fragestellungen
    • Service design, Interoperabilität, Standards

Unterschied Testen und Experimentieren?

Testen unterscheidet sich von Experimentieren dadurch, dass es beim Testen eine Erwartuntg gibt die belegt werden soll, 

während das Ergebnis beim Experimentieren offen ist oder nur vermutet werden kann.

Lernen