Java Reference
In-Depth Information
:Client
:Client-side Proxy
:Broker
:Server-side Proxy
:Server
operation()
callService()
packData()
handleRequest()
unpackData()
forwardRequest()
callService()
callService()
packData()
forwardResponse()
returnResponse()
unpackData()
forwardResponse()
handleRequest()
returnResponse()
forwardRequest()
callService()
Client-Prozess
Broker-Prozess
Server-Prozess
Bild 5-25 Sequenzdiagramm Broker-Muster auf einem Rechner
Der Client kennt nur den lokalen Stellvertreter des Servers - also den Client-side
Proxy. Anfragen des Clients werden vom Client-side Proxy entgegengenommen und in
eine Nachricht verpackt (
packData()
). Diese Nachricht wird dann zum Broker gesen-
det (
forwardRequest()
). Nachdem der Broker den passenden Server gefunden
hat,
89
sendet er die Nachricht (
handleRequest()
) an den serverseitigen Stellver-
treter des Clients, den Sever-side Proxy. Der Server-side Proxy nimmt die Nachricht
entgegen, entpackt sie (
unpackData()
) und ruft den gewünschten Service des
Servers auf (
callService()
). Der Server verarbeitet anschließend den Aufruf und
gibt das Ergebnis an den Aufrufer - den Server-side Proxy - zurück. Der Server-side
Proxy verpackt das Ergebnis wieder in eine Nachricht (
packData()
) und sendet die
Nachricht weiter an den Broker (
forwardResponse()
). Der Broker übergibt dann die
Antwortnachricht an den clientseitigen Stellvertreter des Servers, den Client-side Proxy
(
returnResponse()
). Der Client-side Proxy entpackt die Daten (
unpackData()
)
und übergibt dem Client das Ergebnis.
Verteilung der Komponenten auf mehrere Rechner
Wie bereits erwähnt wurde, zeigt das Bild 5-25 das Verhalten der Komponenten auf ei-
nem einzigen Rechner - also ohne dass die Komponenten auf mehrere Rechner ver-
teilt sind. In einem ersten Ansatz für die Verteilung könnte man die eingezeichneten
Grenzen zwischen den Betriebssystem-Prozessen als Rechnergrenzen sehen: Client
mit Client-side Proxy, Server mit Server-side Proxy und Broker jeweils auf einem ei-
genen Rechner. Damit hätten jetzt aber die Proxys neben der Serialisierung bzw. De-
serialisierung noch eine weitere Aufgabe, nämlich den Nachrichtentransport zum Bro-
ker. Außerdem müssten sie den physischen Ort des Brokers kennen. Damit könnte der
89
Die Aktivitäten des Brokers zur Bestimmung des passenden Servers werden der Übersicht halber
nicht in Bild 5-25 gezeigt.
Search WWH ::
Custom Search