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).
Was ist SOAP?
SOAP ist ein XML-basiertes Messaging-Protokoll für den Austausch von strukturierten Informationen bei der Implementierung von Webservices.
Was sind die Hauptmerkmale von SOAP?
SOAP ist erweiterbar, neutral bezüglich des Transportprotokolls (z.B. HTTP, SMTP) und unabhängig vom Programmiersprachenparadigma.
Was ist die Web Service Description Language (WSDL)?
WSDL ist eine XML-basierte Sprache, die verwendet wird, um die Funktionalität und die Schnittstellen eines SOAP-Webservice maschinenlesbar zu beschreiben.
Was sind die Vorteile von SOAP-Webservices?
SOAP kann mit jeder Programmiersprache und jedem Protokoll verwendet werden. Es ermöglicht eine klare, maschinenlesbare Schnittstellenbeschreibung durch WSDL.
Was ist Application Layering?
Application Layering teilt Anwendungen in Schichten, z.B. Interface Layer, Processing Layer und Data Layer. Diese Schichten kommunizieren, um Aufgaben zu erfüllen.
Was sind die drei Schichten einer typischen Anwendung in einer Application Layering Architektur?
- Interface Layer
- Processing Layer
- Data Layer.
Was ist ein Beispiel für eine Application Layering Architektur?
Ein Beispiel ist eine webbasierte Suchmaschine, bei der das User-Interface, die Verarbeitung (z.B. Ranking-Algorithmus) und die Datenbank separat organisiert sind.
Was bedeutet zeitliche Kopplung in Event-basierten Architekturen?
Zeitliche Kopplung bedeutet, dass Sender und Empfänger zur gleichen Zeit online sein müssen, um zu kommunizieren.
Was bedeutet zeitliche Entkopplung in Event-basierten Architekturen?
Zeitliche Entkopplung bedeutet, dass Sender und Empfänger nicht zur gleichen Zeit online sein müssen, um miteinander zu kommunizieren. Nachrichten können asynchron gesendet werden.
Was bedeutet referenzielle Kopplung in Event-basierten Architekturen?
Bei referenzieller Kopplung kennen Sender und Empfänger einander, und die Kommunikation erfolgt direkt zwischen diesen beiden Parteien.
Was bedeutet referenzielle Entkopplung in Event-basierten Architekturen?
Bei referenzieller Entkopplung müssen Sender und Empfänger einander nicht kennen. Die Kommunikation erfolgt indirekt über ein System wie eine gemeinsame Datenablage oder einen Message Bus.
Was definiert die Systemarchitektur eines verteilten Systems?
Die Systemarchitektur definiert, wo die Komponenten eines Systems platziert sind.
Welche drei Organisationsstrukturen-Typen gibt es?
- Centralized organizations client server model
- Decentralized organizations server tlw. auch client database abfrage
- Hybrid organizations.
Was ist eine Centralized Organization in der Systemarchitektur?
In einer zentralisierten Organisation hat jede Komponente eine klar definierte Rolle, z.B. Client und Server, wobei die Kommunikation immer vom Client initiiert wird.
Was ist eine Decentralized Organization in der Systemarchitektur?
In einer dezentralen Organisation haben die Komponenten keine festgelegten Rollen und können gleichzeitig als Client und Server agieren.
Was ist eine Hybrid Organization in der Systemarchitektur?
Eine hybride Organisation kombiniert Merkmale von zentralisierten und dezentralisierten Systemarchitekturen.
Was ist eine N-Layer Architecture?
Eine N-Layer Architecture besteht aus N logischen Schichten, wobei jede Schicht eine spezifische Aufgabe innerhalb der Anwendung erfüllt, z.B. Präsentation, Logik und Daten.
Was ist eine N-Tier Architecture?
Eine N-Tier Architecture besteht aus N physischen Schichten, bei denen jede Schicht auf einem separaten physischen Server oder einer separaten Infrastruktur läuft.