Lesson 3 Flashcards
Warum ist die Architektur eines verteilten Systems wichtig?
Architektur hilft, die Komplexität zu reduzieren, fördert Skalierbarkeit, Flexibilität und Offenheit, und ist entscheidend für den Erfolg des Systems.
Was versteht man unter ‘Separation of Concerns’ in verteilten Systemen?
‘Separation of Concerns’ bedeutet, Aufgaben und Verantwortlichkeiten in einem System klar zu trennen, um die Komplexität zu reduzieren.
Was sind die Komponenten eines verteilten Systems?
Komponenten sind modular, selbstständig, haben klare Verantwortlichkeiten, definierte Schnittstellen und können ausgetauscht werden.
Was ist ein Connector in verteilten Systemen?
Ein Connector vermittelt die Kommunikation zwischen den Komponenten eines verteilten Systems und ermöglicht den Austausch von Daten und die Koordination.
Was sind die vier wichtigsten Software-Architekturmodelle für verteilte Systeme?
Layered Architectures,
Object-based Architectures,
Resource-centered Architectures,
Event-based Architectures.
Was ist eine Layered Architecture?
Eine Layered Architecture besteht aus hierarchischen Schichten, wobei höhere Schichten Dienste von niedrigeren Schichten anfordern (downcall), manchmal auch in umgekehrter Richtung (upcall).
Was ist eine Object-based Architecture?
Eine Object-based Architecture basiert auf der Idee von verteilten Objekten, die Daten und Verhalten kapseln. Objekte kommunizieren durch Methodenaufrufe.
Was bedeutet Marshalling in verteilten Systemen?
Marshalling ist der Prozess der Konvertierung von Objektdaten in ein Format, das über ein Netzwerk gesendet werden kann. Umgekehrt heißt der Prozess Unmarshalling.
Was ist eine Resource-centered Architecture (RESTful)?
Eine Resource-centered Architecture basiert auf der Verwaltung von Ressourcen mit CRUD-Operationen (Create, Retrieve, Update, Delete) und verwendet häufig HTTP als Protokoll.
Was sind die Hauptmerkmale einer RESTful-Architektur?
Einheitliches Namensschema (z.B. URI/URL), einheitliche Schnittstelle (CRUD), selbstbeschreibende Nachrichten und zustandslose Interaktionen.
Was ist eine Event-based Architecture?
Eine Event-based Architecture trennt Verarbeitung und Koordination. Prozesse agieren autonom und koordinieren sich durch das Senden und Empfangen von Ereignissen.
Was ist eine zentrale Systemarchitektur (Centralized Organization)?
In einer zentralen Architektur gibt es klare Rollen wie Client und Server, wobei der Server die Dienste bereitstellt und der Client diese abruft.
Was ist eine dezentrale Systemarchitektur (Decentralized Organization)?
In einer dezentralen Architektur agieren die Komponenten sowohl als Clients als auch als Server und kommunizieren direkt miteinander (Peer-to-Peer).
Was sind die Vorteile einer RESTful-Architektur?
Einfach zu verwenden, flexibles Datenformat (z.B. JSON, XML), ermöglicht die Wiederverwendung bestehender Technologien (HTTP, Caching).
Was sind die Nachteile einer RESTful-Architektur?
Keine standardisierte Schnittstellenbeschreibung (kein maschinenlesbares API-Design), REST ist zustandslos, erfordert zusätzliche Mechanismen zur Zustandsverwaltung (z.B. Cookies).