• Keine Ergebnisse gefunden

5.2KommunikationskonzepteKanal/Mailbox 5.1Verteilte Systeme - Warum 5. Netze, Verteilung

N/A
N/A
Protected

Academic year: 2021

Aktie "5.2KommunikationskonzepteKanal/Mailbox 5.1Verteilte Systeme - Warum 5. Netze, Verteilung"

Copied!
5
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Architektur und Entwurf von Software 5. Netze, Verteilung MG, 99-06-10 1

5. Netze, Verteilung

5.1 Verteilte Systeme - Warum

Realisierung autonomer, kooperierender Systeme

Anpassung an geographisch verteilte Datenhaltungs- und verarbeitungsbedürfnisse

Leistungssteigerung durch parallele Bearbeitung von Aufgaben

Erhöhung der Zuverlässigkeit eines Systems

5.2 Kommunikationskonzepte Kanal/Mailbox

Aufbau eines realen oder virtuellen Kanals zwischen Sender und Empfänger

Asynchrone, gepufferte Übermittlung nicht adressierter Nachrichten (Mailbox-Paradigma)

Kommunikationssystem stellt Dienste bereit für

Kanaleröffnung / -schließung

Versand

Benachrichrichtigung

Empfang

(2)

Architektur und Entwurf von Software 5. Netze, Verteilung MG, 99-06-10 3

Globaler Versand (Broadcast)

Alle Knoten sind über einen Bus oder Ring verbunden

Senderknoten setzt Nachricht ab

Nachricht enthält Ziel- und/oder Quellenadresse

Kommunikationssystem

verteilt Nachricht an alle

verwaltet das Medium und verhindert Kollisionen oder löst sie auf

Jeder Knoten betreibt einen Mithörprozess, der

die Adressen jeder Nachricht mithört

bei Zieladressierung die für den Knoten bestimmten Nachrichten empfängt

bei Quellenadressierung aufgrund einer Adressentabelle die für ihn interessanten Nachrichten empfängt

Fernaufruf (Remote Procedure Call RPC / Remote Method Invocation RMI)

Analogon zu lokalem Prozedur- /Methodenaufruf

Softwaretechnisch sehr einfach und klar (verbirgt die Verteilung gegenüber den benutzenden Komponenten weitgehend)

Kommunikationssystem übernimmt Benachrichtigung des Empfängers, Übertragung der Parameter und der Ergebnisse

Sender wartet auf Ergebnis (synchrone Kommunikation)

Kommunikationssystem stellt Dienste bereit zum Aufrufen, sich Aufrufen lassen und einen Namensdienst (wer ist aufrufbar)

Adressat eines RPC/RMI muss ständig verfügbar sein – Problem des Ausfalls muss gelöst werden

(3)

Architektur und Entwurf von Software 5. Netze, Verteilung MG, 99-06-10 5

WWW

Drei Kommunikationstypen:

Synchroner Dateitransfer :Klassisches Laden einer Seite von einem über eine URL adressierten Server

Synchroner Dienstaufruf (analog RPC)

Bearbeitung einer Anfrage (Suchmaschinen, Auskunftsdienste, ...)

Versand der Anfrage zum Server, Bearbeitung auf Server, Rückversand von Ergebnissen

In der Regel mit CGI-BIN

Dynamisches Laden von verteiltem Programmcode

Dynamisches Laden eines Programms von einem Server

Lokales Ausführen dieses Programms in geschützter Umgebung

Das Programm kann (unsichtbar für Klient) über das Netz kommunizieren

zum Beispiel Java-Applets

5.3 Verteilte Architekturen

Verteilte Objekte – Client/Server

Geographisch verteilte Komponenten kommunizieren über Makler miteinander

Komponenten werden über Schnittstelle angesprochen

Schnittstelle ist programmiersprachen- und implementierungsunabhängig definiert

Komponenten sind stark entkoppelt: kennen weder die

Implementierung noch die geographische Lokalisierung der Partnerkomponenten.

Beispiel: CORBA

Realisiert häufig eine Client/Server-Architektur oder Middleware-

(4)

Architektur und Entwurf von Software 5. Netze, Verteilung MG, 99-06-10 7

Client/Server-Architektur unter Verwendung von CORBA

Klient (Client)

[CORBA API*]

Makler (Broker)

[CORBA ORB (Object Request Broker)]

[CORBA Object Adapter]

Schnittstelle Netzzugang

Lieferant (Server)

Klient (Client)

[CORBA API*]

Netzzugang

[CORBA Object Adapter]

Schnittstelle

Lieferant (Server) Klient (Client)

[CORBA API*]

[CORBA Object Adapter]

Schnittstelle

Lieferant (Server) Auftrag (Request)

Antwort (Answer)

...

...

**Typisch Datendienste wie Datenbanksystem(e), Dateisystem(e), Bildarchiv(e),...

** ** **

*Application Programmer Interface

Middleware-Architekturen

Drei-Schicht-Architekturen:

Klienten (Clients)

Dienste (Middleware)

Lieferanten (Servers)

Middleware-Dienste:

Kommunikation

Schutz und Sicherheit

Informationsdienste: Verwaltung, Aufbereitung, Koordination

Ablaufsteuerung

(5)

Architektur und Entwurf von Software 5. Netze, Verteilung MG, 99-06-10 9

Prinzip einer Middleware-Architektur

Klient (Client)

Lieferant (Server)

Klient (Client)

Lieferant (Server) Klient (Client)

Lieferant (Server)

...

...

Middleware

Bus-Architektur

...

Sender Mit- hörer Komponente

Bus Sender Mit-

hörer Komponente

Sender Mit- hörer Komponente

Busverwalter

Steckbare Komponenten auf Bus

Globaler Nachrichtenversand über Bus

Referenzen

ÄHNLICHE DOKUMENTE

Wie wichtig der Trend zum e-shop genommen wird, läßt sich daran ablesen, daß nicht nur die großen Software Her- steller mit Business-Lösungen für Groß- bet~iebe aufwarten..

In dieser Aufgabe geht es darum, den Bully-Algorithmus zum W¨ ahlen eines neuen Anf¨ uhrers zu programmieren.. Dazu sollen Sie die Klassen DistributedSystem, Process und Message,

Ein reines Ne- beneinander f¨uhrt jedoch zu einer Reihe von Problemen f¨ur die Kooperierenden: Wie kann im Chat auf Objekte im gemeinsamen Arbeitsbereich Bezug genommen werden,

Institut f¨ur Informatik Universit¨at Halle

"...dass die Folgen der Bilder stets wieder die Bilder seien von den naturnotwendigen Folgen der abgebildeten Gegenstände".

❍ Synchroner Dateitransfer :Klassisches Laden einer Seite von einem über eine URL adressierten Server. ❍ Synchroner Dienstaufruf

Spalte) die kritischen F c Werte einer F -verteilten Zufallsvariablen f¨ur ein Signifikanzniveau

ren oder an weit entlegenen Orten erscheint, überhaupt was aus irgend einer Ursache gar nicht oder nur wenig in den Buchhandel