Altklausuren Flashcards
Definieren Sie den Begriff “Verteiltes System”.
Ein Verteiltes System ist eine Sammlung unabhängiger Systeme die untereinander kommunizieren, sich koordinieren und von ihrem Nutzer als ein einziges System wahrgenommen werden.
Was bedeutet Transparenz? Welche Arten gibt es, nennen und beschreiben Sie kurz 3 mögliche Arten
Transparenz bedeutet das die Verteilung des Systems dem Nutzer verborgen bleibt.
Zugriffs-: Der Zugriff auf entfernte oder lokale Ressourcen geschieht durch identische Funktionen
Orts-: Der Ort der Ressource ist unbekannt
Leistungstransparenz: Unbemerkte Rekonfiguration der Leistung
Beschreiben Sie den Unterschied zwischen synchroner und asynchroner Kommunikation. Nennen Sie jeweils einen Vor- und Nachteil
Bei synchroner Kommunikation fragt der Client an und wartet auf die Antwort des Servers. Bis dahin ist er blockiert.
Pro: Pufferung, Contra, Gefahr von Deadlock
Bei asynchroner Kommunikation Fragt der Client an und wartet auf die Antwort des Servers, kann aber nebenläufig weitere Anfragen stellen.
Pro: Client ist nicht blockiert, Contra: Komplexere Entwicklung
Beschreiben Sie die Funktionsweise und das Einsatzgebiet eines Reverseproxy
Proxy als Endsystem, stellvertretend für einen Server. Anfragen werden auf Server umgeleitet und ggf. modifiziert.
Single Sign On: Die Autthentifizierung eines Nutzers findet für mehrere Dienste zentral statt.
Welche Rolle spielt die Middleware-Schicht bei verteilten Systemen?
Ausgleich der Heterogenität und Verteilungsunterstützung. Durch Schnittstellen ist es unterschiedlichen Systemen möglich miteinander zu kommunizieren und Daten auszutauschen
Benennen Sie insgesamt drei Kernkomponenten auf Clientseite und auf Serverseite, die zur Implementierung eines entfernten RMI-Objektaufrufs erforderlich sind. Beschreiben Sie in einem Satz deren Funktionalität
RMIRegistry: Namensdienst der Referenzen auf Remote Objekte verwaltet, Objekte müssen hier registriert werden.
Server: Stellt den Dienst bereit und muss das Remote-Interface umsetzen
Client: Holt sich Referenz auf remote Objekt von rmiregistry mit Hilfe von Schnittstellenbeschreibung
Gegeben seien drei Prozesse (P1-P3), die jeweils eine eigene logische Uhr gemäß des Algorithmus von Lamport besitzen. Die Taktung der Uhren ist unterschiedlich schnell. Prozesse 1 läuft mit 4er Taktung, Prozess 2 in1er Taktung und Prozesse 3 in 5er Taktung. Die Prozesse tauschen Nachrichten (A-D) gemäß der u.a. Abbildung aus.
Erklären Sie den Algorithmus und zeigen Sie wie sich die Zeit der logischen Uhr por Prozess verändert.
Basierend auf der Happened-Before-Relation dient der Algorithmus dem Zuweisen von eindeutigen Zeitstempeln an Nachrichten.
Jeder Prozess hat einen Zähler, der bei jedem Ereignis (bspw. senden und empfangen) erhöht wird.
Zudem wird der aktuelle Stand des Zählers an jede Nachricht als Zeitstempel angehängt.
Wird eine Nachricht empfangen, deren Zeitstempel größer oder gleich dem aktuellen Stand der eigenen Uhr ist, dann wird die Uhr auf den Wert des Zeitstempels+1 gesetzt. Andernfalls wird der aktuelle Stand beibehalten.
HTTP/1.1 definiert acht verschiedene Anfrage-Operationen. Nennen Sie drei und erläutern Sie deren Zweck kurz.
Post: Ressource hinzufügen
Get: Ressource erhalten
Put: Ressource verändern
Delete: Ressource entfernen
Erklären Sie die Begriffe Authentifizierung und Autorisierung. Wie kann dies in einer HTTP Web-Applikation umgesetzt werden?
Authentifizierung: Identitätsnachweis. Beispiele: Passwort, PIN
Autorisierung: Rechtevergabe, i.d.R. nach Authentifizierung. Beispiel: Rollen-System
Wie unterscheiden sich Paketvermittlung und Leitungsvermittlung? Nennen Sie für jede Technik einen bedeutenden Vorteil.
Leitungsvermittlung: Exklusiver Kanal zwischen Sender & Empfänger. Pro: Weniger Koordination zwischen Kommunikationspartnern
Paketvermittlung: Mehrere Sender teilen sich eine Leitung und teilen Daten in Pakete auf. Pro: Es können mehrere Sender Pakete verschicken
Wofür stehen die Abkürzungen URI, URL und URN. Geben Sie die ausgeschriebenen Form und jeweils ein Beispiel an.
Uniform Ressource Identifier: Abstrakte Ressourcen-Identifikations-Art. Beispiel: Telefonnummer.
Uniform Ressource Locator: Ressourcen Lokalisierung im Internet. Beispiel: Internetadresse
Uniform Ressource Name: Logischer Name innerhalb eines Namespaces. Beispiel: ISBN-Nummer
Wozu dienen im allgemeinen im ISO/OSI-Modell bzw. dem TCP/IP-Modell Header benötigt?
Zur Ermittlung von Adressen und dem Protokoll auf der nächsthöheren Schicht
Einer der ältesten Internet-Dienste ist der echo-Dienst. Er ist mit TCP und UDP über den Port 7 erreichbar. Der Dienst empfängt die vom Client gesendeten Daten und sendet sie unverändert zurück.
1. Schrieben Sie dafür in Java einen einfachen echo-Server (UDP oder TCP), der den Dienst auf einem variablen Port anbietet (default-Port 7) und wie untenstehend aufgerufen wird. Die Anfrage des Clients soll auf der Konsole ausgegeben werden.
- Beschreiben Sie die Funktionsweise des Programms.
Programmaufruf $> java EchoServer 1234
public class EchoServer { public static void main(String[] args) throws IOException { int portNumber; if(args.length > 0) portNumber = args[0]; else portNumber = 7;
try { ServerSocket serverSocket = new ServerSocket(portNumber); Socket clientSocket = serverSocket.accept(); PrintWriter out = new PrintWriter(clientSocket.getOutputStream(), true); BufferedReader in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
String inputLine; while ((inputLine = in.readLine()) != null) { out.println(inputLine); }
} catch (IOException e) { e.printStackTrace(); } } }
Wie kann Ortstransparenz erreicht werden?
Der Zugriff auf einen Dienst oder eine Ressource erfolgt über einen bestimmten Namen ohne Ortsinformationen.
Was ist mit einem Systemmodell eines Verteilten Systems gemeint? Nennen Sie zwei mögliche Modelle.
Ein Systemmodell ist eine abstrakte Systembeschreibung, der Beziehungen zwischen Elementen, Funktionen und Strukturen.
Architekturmodelle (Client-Server) und Kommunikationsmodelle (asynchron)
Was sind die Vorteile einer 3-Tier Architektur im Vergleich zu einer 2-Tier Architektur?
Durch einführen eines Buisness Logic Tiers können die Zugriffe auf den Database Tier verteilt werden.
Das ermöglicht klare Trennung, Entkopplung und Kapselung.
Was ist eine Message Oriented Middleware (MOM)? Geben Sie zusätzliche noch mindestens ein Beispiel für MOM an.
Eine Kommunikationsorientierte Middelware ist eine Abstraktion der Netzwerkkommunikation.
Sie übernimmt die Vermittlung von Nachrichten.
Beispiel: Java Messaging Service (JMS).
Beschreiben Sie kurz das Konzept eines Publisher/Subscriber-Systems.
Mehrere Subscriber können sich eintragen und erhalten die Nachricht so bald ein Publisher veröffentlicht
Was sind CORBA Facilites? Erläutern Sie den Unterschied zwischen horizontalen und vertikalen Facilities.
Im Gegensatz zu CORBA-Services Anwendungsorientierte Dienstkomponenten.
Die auch vom Anwendungsentwickler erstellt werden.
Horizontale: Anwendungsübergreifend hinweg nutzbare Dienste.
Vertikale: Spezifisch für Anwendungsdomäne
Erläutern Sie die Funktionalität von Interface Repository unter CORBA
Interface Repository: Verwaltet Objektschnittstellen aller registrierten CORBA Objekte
Benennen und beschreiben Sie die beiden verschiedenen Verbindungstypen des FTP Protokolls.
Aktiv
§ Client kontaktiert Server, öffnet zusätzlichen Port und nennt diesen dem Server.
§ Datenübertragung läuft über diesen Port
Passiv
§ Client kontaktiert Server, Server erstellt neuen Port und nennt diesen dem Client
§ Client verbindet sich mit neuem Port und benutzt ausschließlich diesen zur Datenübertragung
Benennen und beschreiben Sie zwei Mechanismen, um eine HTTP Applikation abzusichern.
Na da halt HTTPS und so draus zu machen. So True #HochschuleDerHerzen#DankeMerkel
Warum ist TCP für die Übertragung von Sprachdaten bei Voice over IP (VoIP) ungeeignet? Begründen Sie.
Durch TCP können Verzögerung aufgrund der Sicherung auftreten
Welche Operationen bieten Namensdienste an?
Binden, Auflösen, Suchen, Löschen