CoboCards App FAQ & Wishes Feedback
Language: English Language
Sign up for free  Login

Get these flashcards, study & pass exams. For free! Even on iPhone/Android!

Enter your e-mail address and import flashcard set for free.  
Go!
All main topics / Verteilte Systeme / Verteilte Systeme

[4] Verteile Systeme - Begriffe (89 Cards)

Say thanks
1
Cardlink
0
Interface
= Schnittstelle

- Teil eines Systems zur Kommunikation / Datenaustausch

Beispiel:

Modifikator interface MyInterface
{
    final Modifikator Datentyp variable = Wert;
    Modifikator Datentyp methode();
}

- gleicher Aufbau wie Klassen
- einziger Unterschied: besitzt keine Implementierungen
2
Cardlink
0
EJB-Struktur
– Session Beans bilden die Schnittstelle zum Client.
– Message Driven Beans bilden die Schnittstelle zu einem JMS Provider.
– Entities (früher Entity Beans) bilden die Schnittstelle zur Datenhaltung.
3
Cardlink
0
Remote Interface
als entfernte Schnittstelle zu den Diensten der Bean
4
Cardlink
0
Local Interface
- als lokale Schnittstelle zu den Diensten der Bean
5
Cardlink
0
Deployment Descriptor
– XML-basierte Schnittstellenbeschreibung der Bean zum Container
6
Cardlink
0
Entities - Lebenszyklus
• NEW
– Nach Aufruf des new-Operators ist ein Objekt zunächst transient und nicht mit einer Tabellenzeile verbunden. Ein transientes Objekt kann durch den Aufruf eines Persistenzmanagers persistent werden oder indem es von einem persistenten Objekt referenziert wird.

• MANAGED
– Ein persistentes Objekt hat eine Datenbankidentität. Jedes persistente Objekt hat einen Persistenzkontext, mit dem Änderungen am Objekt festgestellt werden können.

• REMOVED
– Ein Objekt kann explizit gelöscht werden. Es wird am Ende der Unit-of-Work in der Datenbank gelöscht. Solange ist es nur als zu löschen gekennzeichnet.

• DET ACHED
– Wenn der Persistenzkontext eines Objekts geschlossen wird, existiert das Objekt als Java-Objekt weiter, ist aber von der Datenbank losgelöst.
Der OR-Mapper garantiert dann nicht mehr, dass das Objekt mit der Datenbank synchronisiert wird.
7
Cardlink
0
Callback-Methode
= eine Funktion, die einer anderen Funktion als Parameter übergeben und von dieser unter gewissen Bedingungen aufgerufen wird
8
Cardlink
0
Dependency Injection
= Entwurfsmuster bezeichnet, welches die Abhängigkeiten eines Objekts zur Laufzeit reglementiert

-> Benötigt ein Objekt beispielsweise bei seiner Initialisierung ein anderes Objekt, ist diese Abhängigkeit an einem zentralen Ort hinterlegt – es wird also nicht vom initialisierten Objekt selbst erzeugt.
9
Cardlink
0
Annotationen
= Sprachelement, das die Einbindung von Metadaten in den Quelltext erlaubt

- beginnen mit einem @-Zeichen
10
Cardlink
0
Persistenz-Kontext
= definiert den Bereich, in dem spezielle Entity-Objekte
erzeugt, persistiert und entfernt werden können
11
Cardlink
0
Entity Manager
sorgt für:

– das Laden von Entities aus der Datenbank
– das Speichern von Änderungen in der Datenbank
12
Cardlink
0
Komponentenmodell
= konkrete Ausprägungen des Paradigmas der komponentenbasierten Entwicklung

- spezifiziert neben der genauen Form und Eigenschaften der Komponenten auch, wie Komponenten miteinander sprechen  und verbunden werden können
13
Cardlink
0
Enterprise JavaBean
= Serverseitiges, verteiltes Komponentenmodell der Java EE Plattform

– JavaBeans als verteilte Komponenten
– Kommunikation über Java RMI und lokal

- Container als Komponentenlaufzeitumgebung -> betreibt Komponenten gemäß vorgegebener Konfiguration
14
Cardlink
0
Session Bean
– repräsentieren Abläufe (Prozesse) einer Anwendung
– sind immer mit Client-Sitzungen assoziiert
– werden Clients bei einem Aufruf zugeordnet
15
Cardlink
0
Stateless/Singleton Session Bean
Stateless Session Beans und Singleton Session Beans repräsentieren eine Sitzung genau für die Dauer eines Methodenaufrufs.
16
Cardlink
0
Stateful Session Beans
- stellen für einen vom Client festgelegten Zeitraum einer Sitzung zur Verfügung.
17
Cardlink
0
Message Driven Bean
– erweitern das synchrone Komponentenmodell (Java RMI) um asynchrone Kommunikation
18
Cardlink
0
Entities
– repräsentieren die Daten einer Anwendung

– bilden die Datenbank im Hauptspeicher nach
19
Cardlink
0
Warteschlangenverwalter
- Verantwortlich für die Verwaltung der Warteschlangen

- Aufgaben:
  - Zuordnung von ankommenden Nachrichten zu Warteschlangen
  - Überwachung der Nachrichten (Größe, Format)
  - Überwachung des Warteschlangenlebenszyklus

20
Cardlink
0
Java Message Service (JMS)
= Programmierschnittstelle für die Ansteuerung einer Message Oriented Middleware (MOM) zum Senden und Empfangen von Nachrichten aus einem Client heraus

- Standard einer einheitlichen Zugriffsschnittstelle für Java-Anwendungen auf einen MOM-Server

- Teil der Java-Plattform
21
Cardlink
0
ConnectionFactory
– enthält alle notwendigen Informationen, die ein JMS Client zum Aufbau aktiver Verbindungen zu einem JMS Provider benötigt

– bietet über eine Schnittstelle Methoden zur Initialisierung einer Verbindung
22
Cardlink
0
Session
= aktive Sitzung. Diese bestimmt die geforderten QoS- Eigenschaften.

23
Cardlink
0
Producer, Consumer, Listener
= Objekte zum Senden und Empfangen von Nachrichten
24
Cardlink
0
Destination
– repräsentiert eine konkrete Warteschlange des JMS Providers

– wird von einem JMS Client zum Einstellen und Auslesen von Nachrichten verwendet
25
Cardlink
0
Webanwendung
=  Anwendungsprogramm nach dem Client-Server-Modell, zur Kommunikation zwischen Webclient und Webserver.

- Am Webserver liegen statische HTML-Seiten

- Diese werden über HTTP in den Browser geladen

- Mensch-Maschine-Kommunikation
26
Cardlink
0
Webservice
- Anwendungen (auf Webservern) kommunizieren unabhängig vom Anwender

- Vision Automatisierung:
    - Anwendungen suchen sich automatisch Dienste im
      Web, die sie zur Bearbeitung einer Anfrage benötigen
    - Kommunikation bleibt transparent

- Maschine-Maschine-Kommunikation
27
Cardlink
0
HTML
= textbasierte Auszeichnungssprache zur Strukturierung digitaler Dokumente wie Texte mit Hyperlinks, Bildern und anderen Inhalten

- HTML-Dokumente sind die Grundlage des World Wide Web und werden von Webbrowsern dargestellt

- dient dazu, einen Text zu strukturieren, aber nicht zu formatieren
28
Cardlink
0
XML
- bietet die Möglichkeit komplexe Datenstrukturen innerhalb eines Dokuments darzustellen

- stellt diese als Text unter Angabe des verwendeten Zeichensatzes dar

- ist beliebig zwischen Systemen und Plattformen austauschbar
29
Cardlink
0
SOAP
= Simple Object Access Protocol
= Netzwerkprotokoll, mit dessen Hilfe Daten zwischen Systemen ausgetauscht und Remote Procedure Calls durchgeführt werden können

- Standard für das Middleware-Protokoll der Webservices

- In den meisten Fällen wird SOAP in Kombination mit HTTP verwendet
30
Cardlink
0
WSDL
- XML-basierte Schnittstellensprache zur Beschreibung von Webservices

- definiert und beschreibt alle aufrufbaren Operationen eines Webservices sowie die beim Aufruf ausgetauschten Nachrichten (Strukturen, Datentypen)

- ermöglicht einen von Applikationen lesbaren Zugang zu Diensten und eine weitgehend automatisierte Integration von Diensten zu neuen Anwendungen noch zur Laufzeit
31
Cardlink
0
UDDI
= bezeichnet einen standardisierten Verzeichnisdienst, der die zentrale Rolle in einem Umfeld von dynamischen Web Services spielen sollte

- Veröffentlicht werden darin:
   - WSDL-Definitionen von Webservices
32
Cardlink
0
CORBA
= unterschiedliche Programmiersprachige Welten zusammenführen

- offener Middleware- Standard für verteilte ORB-Plattformen

- Ziel: Spezifikation einer Kommunikationsinfrastruktur für verteilte Objekte nach dem RMI-Programmiermodell
33
Cardlink
0
POA
= Portable Object Adapter

- verwaltet Serverobjekte in ihren verschiedenen Lebensphasen (initialisieren, aktivieren, passivieren, löschen)

- übersetzt die verschiedenen Programmierwelten in eine Einheit

- nimmt Aufrufe vom ORB entgegen und sucht entsprechendes Skeleton

- generiert eindeutige Objektreferenzen zu Serverobjekten
34
Cardlink
0
OMA
= Object Management Architecture

- Spezifikation einer Architektur für verteilte, objektorientierte Anwendungen auf Basis von CORBA
35
Cardlink
0
ORB
= Object Request Broker

- Vermittler, der die Kommunikation von Objekten innerhalb eines verteilten Systems

- betriebssystem- als auch programmiersprachenunabhängig
36
Cardlink
0
General Inter-ORB Protocol
= abstraktes Protokoll zur Kommunikation von Object Request Brokern (ORBs) im Bereich des Verteilten Rechnen

- unabhängig vom verwendeten Transportprotokoll
37
Cardlink
0
Interoperablilität
= Fähigkeit zur Zusammenarbeit von verschiedenen Systemen, Techniken oder Organisationen

- Einhaltung gemeinsamer Standards
38
Cardlink
0
Interface Definition Language
= Schnittstellenbeschreibungssprache mit C++-ähnlicher Syntax, die für CORBA entwickelt wurde
39
Cardlink
0
Container
Container sorgen dafür, dass Software verlässlich läuft, nachdem sie von einer Umgebung in eine andere versetzt worden ist.

Beispiel: vom Laptop des Entwicklers in eine Testumgebung, von der Testumgebung in die Produktion.

40
Cardlink
0
Thread
- sequenzielle Abfolge von Anweisungen
- mehrere Threads können auch parallel laufen

-> Ermöglicht das gleichzeitige Ablaufen von Programmteilen

- Beispiel:

public class MehrmalsP
{
public static void main(String[] args)
{
ABCPrinter p1 = new ABCPrinter();
ABCPrinter p2 = new ABCPrinter();
p1.start();
p2.start();
}
}
41
Cardlink
0
Stream
= Datenströme

- werden verwendet, um Daten in ein Programm einzulesen bzw. Daten aus einem Programm auszugeben
- dient zur Kommunikation eines Programmes mit seiner Umgebung
42
Cardlink
0
Serialisierung
= Abbildung von strukturierten Daten auf eine sequenzielle Darstellungsform

- es wird eine Kopie des vorhandenen Objektes erstellt

- Kennzeichnung von serialisierbaren Objekten: Klasse implementiert das (leere) Interface java.io.Serializable.

Beispiel:

public ObjectOutputStream(OutputStream out)

-> erzeugt einen Serialisierungs-Strom in Verbindung mit dem Byte-Strom out.
43
Cardlink
0
Verteiltes System
Ein verteiltes System ist ein System,

– in dem sich Hardware und Software- Komponenten auf vernetzten Computern befinden und

– nur über den Austausch von Nachrichten kommunizieren und ihre Aktionen koordinieren.

Beispiel: Das Internet.
44
Cardlink
0
Eigenschaften
- Merkmale, die ein Objekt von einem anderen unterscheiden

- Attribute eines Objektes enthalten Informationen über seinen aktuellen Zustand

- werden meist durch Variablen beschrieben
45
Cardlink
0
Transparanz
= Verbergen der Separation der einzelnen Komponenten in einem verteilten System vor dem Benutzer und dem Applikationsprogrammierer, sodass das System als Ganzes wahrgenommen wird, und nicht als Sammlung voneinander unabhängiger Komponenten.
46
Cardlink
0
Verteilte Anwendung
Eine verteilte Anwendung ist eine Anwendung,

– die ein verteiltes System zur Lösung eines Anwendungsproblems nutzt und

– aus verschiedenen Komponenten besteht, die mit den Komponenten des verteilten Systems sowie mit den Anwendern kommunizieren.

Beispiel: mobile Anwendungen, z.B. Kalender
47
Cardlink
0
Direkte Netzwerkprogrammierung
- Verwendung von Sockets und Kommunikation über I/O-Streams

• Vorteil: Gutes Tuning möglich
• Nachteil: Probleme beim Datenaustausch
48
Cardlink
0
Abstrakte Netzwerkprogrammierung
- Einsatz von Middleware (Softwareschicht zwischen TCP/IP und Anwendungen)

• Vorteil: Keine explizite Socket- und Stream-Programmierung nötig
• Nachteil: Overhead
49
Cardlink
0
Architekturmodell
Ein Architekturmodell beschreibt:

– die Rollen der Anwendungskomponenten innerhalb der verteilten Anwendung

– die Beziehungen zwischen den Anwendungskomponenten
50
Cardlink
0
IP
=  Adresse in Computernetzen, die auf dem Internetprotokoll (IP) basiert.

Beispiel: Internet

- wird Geräten zugewiesen, die an das Netz angebunden sind

-> machen diese Geräte adressierbar und erreichbar
51
Cardlink
0
Port
= Teil einer Netzwerk-Adresse, der die Zuordnung von TCP- und UDP-Verbindungen und -Datenpaketen zu Server- und Client-Programmen durch Betriebssysteme bewirkt.

- Zu jeder Verbindung dieser beiden Protokolle gehören zwei Ports, je einer auf Seiten des Clients und des Servers
52
Cardlink
0
Socket
= ein vom Betriebssystem bereitgestelltes Objekt, das als Kommunikationsendpunkt dient.

- Teil des Datenaustausches
53
Cardlink
0
Client-Server-Modell
- beschreibt eine Möglichkeit, Aufgaben und Dienstleistungen innerhalb eines Netzwerkes zu verteilen

- Aufgaben werden von Programmen erledigt, die in Clients und Server unterteilt werden
54
Cardlink
0
Protokoll
= ein spezieller Satz von Regeln, den Endpunkte einer Kommunikationsverbindung zur Kommunikation verwenden

- spezifizieren Interaktionen zwischen den kommunizierenden Geräten

Beispiel: TCPI/IP-Protokoll
55
Cardlink
0
Nebenläufigkeit
= Eigenschaft eines Systems, mehrere Berechnungen, Anweisungen oder Befehle gleichzeitig ausführen zu können

- können dabei miteinander interagieren
56
Cardlink
0
Middleware
= Software-Schicht zwischen dem Übertragungsnetzwerk und den Anwendungs-Komponenten, die eine reibungslose, standardisierte Interaktion zwischen den Komponenten ermöglichen soll.

In der Praxis häufig:

– Sammlung von Werkzeugen und Klassen mit vorgefertigten "Lösungen"

– Bequeme Anwendungsentwicklung
57
Cardlink
0
Transparenz bei Middleware
- "Verborgene" Verteilung/Kommunikation über eigenes Protokoll
58
Cardlink
0
Kommunikationsorientierte Middleware
- konzentriert sich auf die Bereitstellung einer Kommunikationsinfrastruktur für verteilte Anwendungen

- setzt dabei auf dem verteilten System auf Anwendungskomponente

- ist zuständig für:

– die Bereitstellung einer Schnittstelle zur    Kommunikationsinfrastruktur
– die Datentransformation
– die Fehlerbehandlung

Beispiel: Java RMI
59
Cardlink
0
Anwendungsorientierte Middleware
- setzt auf kommunikationsorientierter Middleware auf

- erweitert diese um Funktionalitäten zur Unterstützung verteilter  Anwendungen:

– Laufzeitumgebung
– Dienste
– Komponentenmodell

- eignet sich auf Grund ihrer Eigenschaften insbesondere für Informationssysteme, da diese meist
Komponentenmodell Laufzeitumgebung
– software-intensiv
– datenzentriert
– interaktiv
– nebenläufig

Beispiel: JavaEE
60
Cardlink
0
Deserialisierung
- Rekonstruieren eines Objekts anhand seiner systemunabhängigen Binärdarstellung

Beispiel:

public ObjectInputStream(InputStream in)

-> erzeugt einen Deserialisierungs-Strom in Verbindung mit dem Byte-Strom in.
61
Cardlink
0
RPC
= entfernter Prozeduraufruf

- ermöglicht einem Client-Prozess den entfernten Aufruf einer Prozedur auf einem Server-Prozess
- verwendet Kommunikation nach dem Anfrage-Antwort-Prinzip (also synchron)
- setzt auf verschiedenen Hilfsprozeduren auf
62
Cardlink
0
RMI
=entfernter Methodenaufruf

- ermöglicht es einem Objekt, Methoden eines entfernten Objekts aufzurufen
- verwendet Kommunikation nach dem Anfrage-Antwort-Prinzip (also synchron)
- setzt auf dem Proxy-Pattern auf
63
Cardlink
0
MOM
= Message Oriented Middleware

- asynchronen Kommunikation

- Unterstützung der verschiedenen Messaging-Modelle

- Warteschlangenverwaltung

- Verbindungsmanagement
64
Cardlink
0
Stub + Skeleton
- werden aus der Schnittstellenspezifikation generiert

- sind verantwortlich für Marshalling und Unmarshalling

- ermöglichen die Zusicherung von Zugriffs- und Ortstransparenz
65
Cardlink
0
Proxy
- dient als Zwischenspeicher für Aufrufergebnisse vom Server

- Ziel: Verbesserung der Performance

- Beispiel: Proxy zum Zwischenspeichern von Webseiten
66
Cardlink
0
Cluster
= Möglichkeit zur Gewährleistung von Verfügbarkeitsanforderungen

- arbeiten mit Replikaten von Software- und Hardwarekomponenten
-> Fällt eine der Komponenten aus, übernimmt das Replikat die Aufgaben

67
Cardlink
0
Namensdienste
- Zweck:

– Veröffentlichung von Diensten und Ressourcen im Intranet oder Internet
– Zuordnung von Namen zu Referenzen auf die Dienste/Ressourcen

- Beispiel: RMI
68
Cardlink
0
Transaktionsverwaltung
- Anwendungen, die in irgendeiner Form mit der Speicherung und Auslieferung von Daten arbeiten, benötigen Transaktions- Management zur Sicherung des ACID-Prinzips (Alles-oder-Nichts-Prinzip)

-erfolgt:

- durch Ressourcenmanager für einfache Transaktionen

- durch einen Transaktionsdienstfürkomplexe (verteilte,verschachtelte) Transaktionen auf Anwendungsebene
69
Cardlink
0
Verteilte Transaktionen
• Vertikal verteilte Transaktion

– Zwischenspeicherung der Daten aus der Datenbank in einem Cache auf der Middle-Tier bei datenzentrierten Anwendungen
– Der Transaktionsdienst hat die Aufgabe, die Daten im Cache mit den Daten in der Datenbank konsistent zu halten
– In der Regel: Tier-übergreifende Verwaltung von Transaktionen

• Horizontal verteilte Transaktion

– Erweiterung der vertikal verteilten Transaktion
– Mehrere Ressourcen (z. B. mehrere Datenbanken) müssen in die
Transaktion integriert werden
70
Cardlink
0
Persistenzdienst
– Intelligente Schnittstelle für die Anwendung zur Datenbank
– Unterstützung der transaktionsgesicherten Persistierung der Daten
71
Cardlink
0
OR-Mapper
= Object-Relational-Mapper

– bildet Objekte im Hauptspeicher auf relationale Datenbanktabellen ab
– ist die häufigste (aber nicht einzige) Art der Persistierung
72
Cardlink
0
Laufzeitumgebung
• setzt auf dem Betriebssystem des jeweiligen Knotens im verteilten System auf

• erweitert die Funktionalität des Betriebssystems um:

– verbesserte Ressourcenverwaltung
– erhöhte Verfügbarkeit
– verbesserte Sicherheitsmechanismen
73
Cardlink
0
Heuristik
- Praxisbewährte Regeln und Konzepte als Richtlinien

- Verallgemeinerungen von konkreten gesammelten Erfahrungen

- Häufig unbewusst eingesetzt
74
Cardlink
0
Entwurfsmuster
= bewährte Lösungsschablonen für wiederkehrende Entwurfsprobleme

- bieten erprobte Lösungsansätze

- ermöglichen dadurch bessere Entwürfe
75
Cardlink
0
Architekturmuster
= bestimmen grundlegende Organisation und Interaktion zwischen den Komponenten einer Anwendung
76
Cardlink
0
Observer
- Empfang von Ereignissen (Events) von außen

- Weiterleitung der Ereignisse an Objekte (Listener), die sich als Interessenten angemeldet haben

- Einsatz bei grafischen Benutzungsoberflächen
77
Cardlink
0
Factory
= erzeugt auf Anfrage Objekte zu Klassen und stellt diese der Anwendung zur Verfügung
78
Cardlink
0
Singleton
= in der Softwareentwicklung eingesetztes Entwurfsmuster und gehört zur Kategorie der Erzeugungsmuster

- stellt sicher, dass von einer Klasse genau ein Objekt existiert
79
Cardlink
0
MVC
= Model-View-Controller-Pattern

- zur Entwicklung grafischer Benutzungsoberflächen
- weite Verbreitung
80
Cardlink
0
Data Access Object
= ein Entwurfsmuster, das den Zugriff auf unterschiedliche Arten von Datenquellen (z. B. Datenbanken, Dateisystem) so kapselt, dass die angesprochene Datenquelle ausgetauscht werden kann, ohne dass der aufrufende Code geändert werden muss.

- eigentliche Programmlogik von technischen Details der Datenspeicherung befreit werden und flexibler einsetzbar sein
81
Cardlink
0
Entfernte Referenz
- ist über Raum und Zeit garantiert eindeutig

- besteht aus:

– Internetadresse               -> gibt den Rechner an
– Port-Nummer und Zeit    -> identifizieren eindeutig den Prozess
– Objektnummer                -> identifiziert das Objekt
– Schnittstelle                    -> beschreibt die entfernte Schnittstelle

- wird von einer speziellen Schicht, der Remote-Referenz-Schicht, erzeugt, wenn eine lokale Referenz als Argument an einen anderen Prozess übergeben wird, und in dem korrespondierenden Proxy gespeichert
82
Cardlink
0
Entfernte Schnittstelle
= Schnittstelle eines entfernten Objektes
83
Cardlink
0
RMI Registry
- Bereitstellung von Referenzen auf Service-Objekte

- RMI-Umgebung generiert bei der Anmeldung eines Service-Objekts an der RMI-Registry eine Objektreferenz

Diese enthält:
– die IP-Adresse,
– den Port,
– die Objekt-ID.
84
Cardlink
0
Referenz-Semantik
Soll das Ergebnis eines Aufrufs als entfernte Referenz vorliegen, muss das Objekt nicht kopiert werden, sondern bleibt entfernt.
85
Cardlink
0
Asynchrone Kommunikation
= Modus der Kommunikation, bei dem das Senden und Empfangen von Daten zeitlich versetzt und ohne Blockieren des Prozesses stattfindet.

- Sender ist nicht blockiert; der Prozess kann nach dem Senden der Nachricht sofort weiterarbeiten.
86
Cardlink
0
Point-to-point
- einfache asynchrone Kommunikation zwischen zwei Prozessen (Anwendungen)
87
Cardlink
0
Broadcasting
- Nachrichten werden an alle erreichbaren und/oder registrierten Prozesse versendet
88
Cardlink
0
Request-reply
Verschicken einer Nachricht (Request) und das Empfangen einer Antwortnachricht (Reply) erfolgen als eine Einheit
89
Cardlink
0
Publish-Subscribe Modell
- Prozesse erhalten Rollen als Publisher bzw. Subscriber

- Subscriber abonnieren Nachrichten zu einem Thema

- Publisher veröffentlichen Nachrichten zu einem Thema
Flashcard set info:
Author: @destructive_influen...
Main topic: Verteilte Systeme
Topic: Verteilte Systeme
School / Univ.: DHBW Stuttgart
City: Stuttgart
Published: 27.04.2016
Tags: Prof. Dr. Ratz, 2016
 
Card tags:
All cards (89)
no tags
Report abuse

Cancel
Email

Password

Login    

Forgot password?
Deutsch  English