VSYS Theorie 2020

Theoriefragen

Theoriefragen


Kartei Details

Karten 69
Sprache Deutsch
Kategorie Informatik
Stufe Universität
Erstellt / Aktualisiert 31.01.2020 / 04.07.2023
Weblink
https://card2brain.ch/box/20200131_vsys_theorie_2020
Einbinden
<iframe src="https://card2brain.ch/box/20200131_vsys_theorie_2020/embed" width="780" height="150" scrolling="no" frameborder="0"></iframe>

Asymmetrie vs Asynchronität

Asymmetrische Komponenten haben unterschiedliche Rollen/Rechte

Asynchrone Komponenten sind nicht abgestimmt (z.b. SMS) -> Komponente muss zum empfangen nicht zwingend online sein

Was sind Nachrichten ?

Beliebige Menge von Informationen, die zwischen zwei Komponenten transferiert werden.

Was sind Nachrichtenmuster ?

Wie und wann wird geantwortet ? estimmt wie die Kommunikation allgemein geregelt ist

Nennen sie 4 alternative Kommunikationsmuster für eine Client-Server Verbindung (ohne genaue Beschreibung)

  • Asynchron
  • Polling
  • Long Polling
  • Push

Erklären sie das Asynchrone Kommunikationsmuster

Client wartet nicht auf Antwort, sondern arbeitet weiter, wird vom Server benachrichtigt, wenn er fertig ist. Client wartet in zweitem Thread auf Antwort.

Vorteil: Client muss nicht warten

Nachteil: Man muss mit Nebenläufigkeit arbeiten

Erklären sie Polling

Client fragt immer wieder in vorderfinierten Zeitabständen beim Server nach, Server antwortet direkt, schickt entweder leeres Ergebnis oder Antwort.

Kann als Hintergrunddienst zu Akku Problemen beim Smartphone führen.

Erklären sie Long Polling

Wie Polling, aber weniger Kommunikationsaufwand, weil Server nicht direkt antwortet, sondern nach festem Zeitabstand.

Erklären sie Push

Alles umgestellt, Client passiv, Server aktiv, kompliziert für Entwickler, beste Methode für Anwender -> Weniger Requests und Netzwerktraffic, aber Server muss durchgehend arbeiten

Was versteht man unter blockierender Interaktion ?

Client arbeitet erst, wenn er weiß, dass seine Anfrage angekommen ist, solange blockiert er.

Bedeutung des Web ?

Webbrowser ersetzen lokale Betriebssysteme, Cross Plattform für Apps

Problem der Zentralisierung von Elementen ?

Zentralisierte Elemente reduzieren Größenskalierbarkeit

Zentralisierte Daten: Hoher Speicherbedarf

Zentralisierte Dienste: Überlastung bei gleichzeitigem Zugriff

Zentrale Funktionalitäten: Fehlendes Wissen über Gesamtsystem

Lösung für reduzierte Größenskalierbarkeit ?

Partitionierung: Aufteilung der Ressourcen auf verschiedene Rechner -> Weiterleitung der Anfragen an verschiedene Rechner

Replikation: Kopie aller Ressourcen auf alle Rechner -> Jeder Rechner kann jede Anfrage beantworten

Was versteht man unter Cache Kohärenz ?

Sicherstellung, dass bei Mehrprozessorsystemen mit mehreren CPU-Caches die einzelnen Caches keine inkonsistenten Daten für dieselbe Speicheradresse zurückliefern.

Was versteht man unter DNS-basiertem SLB

Technik zur Netzwerkoptimierung, bei der der eingehende Webverkehr einer Domäne logisch proportioniert wird, um die Leistung und Verfügbarkeit der Domäne zu verbessern. Es werden mehrere IP-Adressen für einen einzelnen Host oder Domänennamen bereitgestellt, der den Datenverkehr zwischen zwei oder mehreren Servern leitet.

DNS lässt es zu, dass einem Namen mehrere IÜ-Adressen zugewiesen werden können. Es können mehrere Resource Records mit gleichem Label, gleicher Klasse und gleichem Typ, aberjeweils unterschiedlichem Datenfeld existieren. Eine derartige Anordnung wird als Resource Record Set bezeichnet. Durch Resource Record Sets kann einfaches Loadbalancing realisiert werden.

Was verändert sich mit Zunahme des Kommunikationsgrades ?

  • Die Verteilungstransparenz nimt zu -> Wir bekommen immer weniger mit
  • technologieunabhängiger, sprachunabhängiger

Was ist eine Middleware ?

engl. für Zwischenanwendung

zusätzliche Schicht in einer komplexeren Software Struktur, deren Aufgabe es ist, die Zugriffsmechanismen auf unterhalb angeordnete Schichten zu vereinfachen und die Details deren Infrastruktur nach außen hin zu verbergen.

Was ist eine partielle Ordnung ?

Eine Relation, welche transitiv, reflexiv und antisymmetrisch ist

Lamports Uhr und die partielle Ordnung

Seine Uhr defin iert eine partielle Ordnung.

Man kann zwischen zwei Nachrichten sagen, dass A früher oder gleichzeitig geschickt wurde als B

Was iust ein Stub ?

temporärer Platzhalter, bzw. Stelvertreter.

Schnittstelle zu einem Subjekt, Datei, Ressource, Speicherobjekt oder Netzwerkverbindung.

Stub kann die Erzeugung des Subjekts und Zugriff darauf steuern

in VS: gewünschte Funktion wird nicht implementiert sondern per Anfrage an Stub an entferntes System delegiert (Remote Procedure Call)

Was versteht man unter Marshalling ?

Serialisierung und Deserialisierung von Stubs

In RMI: Serialisieren von Objekten, um diese in verteilten Systemen übertragen zu können. Klassen müssen Serializable implementieren.

Was ist die IDL ?

-> Interface Definition Language

Sprache zur Beschreibung von Objektschnittstellen

Unterschied zwischen Software und Systemarchitektur

Bei der Systemarchitektur spielt zusätzlich die Hardware eine Rolle

Man muss die Komposition auf die Hardware verteilen

Was ist enge und lose Kopplung ? Mit Architekturbeispielen

Lose Kopplung: geringer Grad der Abhängigkeit mehrerer Hard- und Software-Komponenten, bzw. Austauschbarkeit.

Datenzentrierte Architektur: unterhalten sich nur über Daten (lose gekoppelt)

Geschichtete Architektur: innerhalb der Schichten eng, dazwischen lose

Objektorientierte Architektur: sehr eng gekoppelt, alle Objekte stehen zueinander in Beziehung

Ereignisbasierte Architektur: sehr lose gekoppelt

Welche Nachteile ergeben sich aus der Vierschicht Architektur ?

Darstellungslogik auf Serverseite -> Viel kommunikation, was Latenz erhöht

Hohe Kommunikation zwischen Darstellungslogik und Darstellung

Horizontales und vertikales Schneiden

Problem: Man macht zu Beginn viele Backend-Sachen, die den Kunden nicht interessieren.

Wie bekommt man Komplexität der Anwendung in den Griff ? Vertikal Schneiden (im Sinne des Kunden)

Beispiel: Web 2.0

Unterschied RPC und RMI

RPC: prozeduale Programmierung

RMI: objektorientierte Programmierung

RPC: gewöhnliche Datenstrukturen werden an entfernte Prozeduren übergeben

RMI: Objekte werden an entfernte Methoden übergeben

RPC: Client: Client Stub / Server: Server Stub

RMI: Client: Server:Stub / Server: Skeleton

Welche Möglichkeiten existieren, um an Stubs zu kommen ?

  • As Ereignis eines entfernten Methodenaufruf (Client muss jedoch schon in Besitz der entfernten Objektreferenz sein)
  • Durch Anfragen an RMI-Namensdienst (RMI-Registry)

Können Sockets durch RMI ersetzt werden ?

Ja, wenn es eine Instanz gibt, welche folgende Umsetzung macht:

2 Nachrichten zu einem Methodenaufruf wrappen

Temporärer Sprung auf eine andere Kommunikationsebene

Kann das Prinzip des normalen Garbage Collectors auf den verteilten Fall übertragen werden ?

Nein, da wir uns in verschiedenen Adressräumen befinden und somit keine Referenzen besitzen

Lösung für den Garbage Collector bei RMI ?

Problem: man weiß nicht, ob noch Referenzen vorhanden sind oder das Objekt gelöscht werden kann

Lösung: Referenzzähler -> Wenn der = 0, Objekt kann gelöscht werden

An welcher Stelle ist die Middleware dazwischen?

  • Middleware mantel bis zur Transportschicht
  • Middleware befindet sich zwischen den zwei Komponentenals eigene Komponente

Ist eine Socket Kommunikation grundsätzluch verbindungsorientiert und warum heißen Sockets Sockets ?

Sockets sind entweder verbindungsorientiert (TCP/IP-Socket) oder verbindungslos (UDP/IP-Sockets).

Ein Socket ist ein Kommunikationsendpunkt, der mirt Hilfe einer IP-Adresse und einer Portnummer bezeichnet wird.

Die wörtliche Übersetzung "Steckdose" passt gut: Aus Sicht des Programms spielt ein Socket-Objekt die Rolle einer Steckdose, welche mit einem unbekannten dahinterliegenden Leitungssystem verbunden ist.

Welche zwei JEE Applikationstypen gibt es und worin unterscheiden sie sich ?

Application Client und Web Client

Application Clients verfügen über eine Client seitige GUI und der Server besteht nur aus de, Businnes Tier und EIS Tier (DBMS).

Web Clients besitzen eine webbasierte GUI im Browser und benötigen auf dem Server zusätzlich die Web Tier Schicht (JSP, Servlets)

Wo sind White Pages, Yellow Pages und Green Pages in der Web-Service Technologie einzuordnen und welche Funktionen haben sie ?

Universal Description, Discovery, and Integration (UDDI) -> Verzeichnisdienst, enthält Unternehmen, ihre Daten und Services. Aus dem SOA Umfeld.

White Pages: Basisinformationen über Unternehmen

Yellow Pages: Kategorisierung des Service

Green Pages: Schnittstellenbeschreibung

Beschreiben sie die Begriffe EAI, SOA und ESB und ihren Zusammenhang.

EAI (Enterprise Application Integration) ist eine IT-Infrastruktur in Form einer Middleware zur Kopplung von IT-Systemen, meistens betriebswirtschaftliche Systeme wie ERP, CRM

SOA (Service Oriented Architecture) beschreibt ein Architekturparadigma, welches vorhandene EDV-Komponenten wie Datenbanken, Server und Webseiten in Dienste kapselt und diese dann so koordiniert, dass ihre Leistungen zu höheren Diernsten zusammengefasst und anderen Organisationsabteilungen zur Verfügung gestellt werden.

ESB (Enterprise Service Bus) ist ein virtueller Datenbus für die Unterstützung von beliebigen Diensten im Unternehmensnetzwerk. Er ist die Verbindung beliebiger Applikationen.

EAI ist das Gesamtkonzept mit Planung und Methoden zur Integration von Einzelapplikationen. SOA ist ein Architekturparadigma und ESB beschreibt die Technologie für Nachrichtentransfer -> sitzt eine Ebene tiefer als SOA

Was bezeichnet man im Zusammenhang mit Nebenläufigkeit als Race-Condition ?

Ergebnis der beiden Threads hängt von Verteilung der CPU-Zeit auf Threads ab.

Was bedeutet Callback und Polling bei asynchroner Kommunikation verteilter Systeme ?

Eine Callback Methode wird auf Client Seite aufgerufen, sobald der Server seine Berechnung beendet hat. Polling ist das ständige Anfragen beim Server, ob dieser bereits eine Antwort hat.

Nennen sie zwei Lösungen zur Bewältigung von Performance Problemen in einem Client-Server System

Anpassung der Nebenläufigkeit auf Serverseite (Poolgröße,...)

Loadbalancer

Welche Beans realisieren durch ihr Konstruktionsprinzip eine Middleware Funktionalität und wie genau wird diese Funktionalität dort realisiert ?

Message Driven Beans, da sie eine lose Kopplung besitzen und einen asynchronen Nachrichtenaustausch ermöglichen. Sie werden für einen Nachrichtenkanal registriert, wie bei der MOM. Sie besitzen eine MOM keine direkten aufrufbaren Methoden. Der Client kennt nur den Nachrichtenkanal und hat keinen Zugriff auf die Message-Driven Bean.

Was versteht man unter "Referenz auf Zeit" in verteilten Systemen, insbesondere am Beispiel RMI ?

Unterschiedliche Adressräume haben zur Folge, dass Arbeiten mit Referenzen, unter Anderem aufgrund des Java Garbage Collectors schwieriger wird. Um diesem Problem entgegenzuwirken, gibt es die Methode der Referenz auf Zeit, in der die Referenzen eine Ablaufzeit bekommen und soit nur für eine gewisse Zeit verfügbar sind.