Java Reference
In-Depth Information
5.4 Das Architekturmuster Broker
Das Architekturmuster Broker strukturiert ein verteiltes System aus mehreren Clients
und Servern in eine Architektur mit einem Broker als Anlaufstelle. Der Broker leitet
eine Anfrage eines Clients an den passenden Server weiter und gibt dessen Antwort
an den Client zurück. Client- und Server-Komponenten kommunizieren untereinander
nur über einen Broker.
5.4.1 Name/Alternativer Name
Broker heißt "Makler" oder auch "Vermittler" 87 . Als Name für das Muster ist praktisch
nur der englische Begriff "Broker" geläufig. In [Gr302] wird der Name "Object Request
Broker" für das Muster benutzt - in Anlehnung an CORBA, einem wichtigen Einsatz-
gebiet für das Muster (siehe Kapitel 5.4.5).
5.4.2 Problem
Große und komplexe Softwaresysteme müssen "wachsen" können: die Anzahl der
Nutzer eines Systems kann mit der Zeit zunehmen und daraus folgend wächst auch
der Bedarf nach verfügbarer Rechenleistung und Speicherplatz. Die Grenzen eines
Ein-Rechner-Systems sind schnell erreicht. Soll das System weiter wachsen können,
müssen die Komponenten eines Systems auf mehrere Rechner verteilt werden kön-
nen. Damit dabei kein kompletter Neuentwurf des Systems erforderlich wird, muss die
Architektur des Systems so ausgelegt sein, dass das System skalierbar ist, d. h. leicht
an veränderliche Leistungsanforderungen angepasst werden kann. Neben der Zer-
legung des Systems in Komponenten (statisch) und neben ihrer Zusammenarbeit
(dynamisch) muss bei der Architektur auch auf eine Entkopplung der Komponenten
geachtet werden, damit eine Änderung nicht weitreichende Folgen hat. Da die Kompo-
nenten aber oftmals durch ihre Zusammenarbeit zu der Gesamtfunktionalität des Sys-
tems beitragen, werden sie nie komplett unabhängig voneinander sein, sondern wer-
den stets miteinander kommunizieren müssen.
Wenn jede Komponente jede andere physisch kennt, entsteht eine große Abhängigkeit
zwischen den Komponenten. Jede Komponente muss wissen, wie die andere Kom-
ponente physisch zu erreichen ist und außerdem muss sie das Kommunikations-
protokoll und das Nachrichtenformat des Partners voll verstehen. Viel besser wäre ei-
ne Lösung, bei der sich die Komponenten nur über logische Namen ansprechen wür-
den und bei der jede Komponente senden bzw. empfangen könnte, ohne das spezielle
Protokoll des Partners zu kennen. Damit würde die wechselseitige Abhängigkeit mini-
miert.
5.4.3 Lösung
In der folgenden Beschreibung des Musters werden die kommunizierenden Kompo-
nenten auf Grund ihrer Rolle in einer Kommunikationsbeziehung unterschieden:
87 Das Architekturmuster Broker entspricht nicht dem Entwurfsmuster Vermittler, siehe dazu 5.4.6.
Search WWH ::




Custom Search