Introduction Flashcards
Ist Architektur ein fortlaufender Prozess?
Ja
Ist Architektur auch vor der Entwicklungsphase relevant?
Ja
Welche Aspekte beeinflussen Architektur?
- Funktionale / nicht Funktionale Anforderungen
- Budget
- Erfahrung der Beteiligten
- Verfügbare Technologie
- Bereits existierende Implementierung
- Vorhandene Frameworks und Libraries
Ist die Entwicklung von Architektur iterativ?
Ja (wir verbessern kontinuierlich)
Was ist ein Ball of Mud?
Ein Antipattern
Ball of Mud beinhaltet keine Architektur
Im Prinzip: Spaghetti Code, zusammengeschustert
Was ist eine Layered Architektur?
- Standard Pattern für JAVA EE
- Besteht aus
- Presentation Layer
- Business Layer
- Persistence Layer (oft zusammengefasst mit Business)
- Database Layer
Was ist Komponentenbasierte Architektur (CBA)?
React, Vue
Komponente (View) beinhaltet auch Logik und Helper Methoden
Beispiel: HTML, JavaScript und CSS in einer Komponente
Was ist vertikales skalieren?
Wir haben einen Server
Für diesen wird die Hardware verbessert oder dieser durch einen stärkeren ersetzt
Was ist horizontales skalieren?
Mehrere Server
Die Last verteilt sich auf verteilte Systeme
Meist günstiger
Was ist verteilte Architektur?
Konfiguration und Funktionalität wird über mehrere Systeme verteilt
Vorteile der verteilten Architektur?
- Skalierbarkeit
- Nebenläufigkeit
- Fehlertoleranz (Ausfallsicherheit)
Nachteile der verteilten Architektur?
- Komplexität
- Sicherheit
- Wartung
Welche Synchronisations Architekturen gibt es?
- Synchron / Lokal
- Synchron / Remote
- Asynchron / Lokal
- Asynchron / Remote
Was ist eine Product Line?
Selbe Anwendung aber
- verschiedene Features
- verschiedene Interfaces
Beispiel. WolframAlpha (free, paid)
Was ist ein Product Family?
Selbe Architektur aber
- verschiedene Prozesse
- verschiedene Abstraktionen
Beispiel: Websystem für Banken und Versicherungen