Java Reference
In-Depth Information
x Server-Komponenten stellen einen oder mehrere Dienste zur Verfügung.
x Client-Komponenten benötigen einen oder mehrere Dienste von Server-Kompo-
nenten.
Es sei noch erwähnt, dass im Allgemeinen diese Rollen nicht statisch sind, sondern
dass eine Server-Komponente zur Laufzeit zur Erbringung ihres Dienstes wiederum
die Dienste einer anderen Server-Komponente benötigen kann. Sie nimmt dann in die-
ser Kommunikation die Rolle eines Clients ein. Analoges gilt für eine Client-Kompo-
nente.
Das Broker-Muster entkoppelt in verteilten Softwarearchitekturen
Client- und Server-Komponenten, indem zwischen diesen Kom-
ponenten ein Broker als Zwischenschicht eingeschoben wird
und Client- und Server-Komponente untereinander nur über die-
sen Broker kommunizieren.
Server melden ihre Dienste am Broker an und warten auf eingehende Anfragen eines
Clients. Clients, die einen Dienst benötigen, stellen ihre Anfrage an den Broker. Der
Broker leitet eine solche Anfrage dann an den entsprechenden Server weiter, der die-
sen Dienst anbietet. Die Antwort des Servers geht wiederum über den Broker zurück
an den Client. Damit ist der Ort der Leistungserbringung transparent für den
Client . Die Verwendung des Broker-Musters bringt also den Vorteil, dass Server und
Client sich nicht mehr gegenseitig physisch kennen, sondern lediglich logisch. Der
Broker bildet die logischen Namen auf physische Adressen ab. Über den Broker kom-
munizieren Client und Server indirekt miteinander.
Ein Broker stellt die Verbindung zwischen Clients und Servern
her. Er verbirgt den physischen Ort der Leistungserbringung ei-
nes Servers vor dem Client. Der Broker muss aber die Server
bzw. deren Dienste kennen. Server müssen sich daher bei einem
Broker anmelden, um ihre Dienste anbieten zu können. Clients
können dann die angebotenen Dienste über den Broker nutzen.
Zunächst wird der Einfachheit halber nur die Kommunikation zwischen zwei Kompo-
nenten betrachtet, nämlich zwischen einem Client und einem Server. Im Folgenden
soll eine Komponente eines Systems durch eine Klasse repräsentiert werden. Die Ser-
ver-Klasse bietet ihren Dienst in Form einer öffentlichen Methode an und die Client-
Klasse ruft die Dienstmethode der Server-Klasse auf.
Eine einfache Form der Kommunikation über Methoden kann
aber natürlich nur auf einem einzigen Rechner und dort sogar nur
innerhalb eines einzigen Betriebssystem-Prozesses (in Java: in-
nerhalb einer Virtuellen Maschine) stattfinden.
Vorsicht!
Search WWH ::




Custom Search