| |
4 Die Kommunikation
Clients und Server in CORBA
Seminar Verteilte Systeme
CORBA
17
Verfügung stehen. Das heißt, alle Komponenten, die Implementierungen für ein Objekt
bereitstellen und eine Sicht auf dieses Objekt ermöglichen, sind ServerKomponenten. Des
Weiteren lassen Server die Vergabe von Referenzen auf dieses Objekt zu und bearbeiten die
Anfragen an dieses Objekt. Eine Komponente ist Client, wenn sie auf die Dienste anderer
Objekte zugreift. Ihre Anfragen werden durch ServerKomponenten ausgeführt.
Es ist möglich, dass eine Komponente gleichzeitig Server und Client ist. Das heißt, dass sie
durchaus selbst Dienste als Client von anderen Servern entgegennimmt, während sie einer
anderen Komponente ihre Dienste als Server anbietet. Dieser Sachverhalt ist noch einmal in
Abbildung 4.2 gezeigt. Hier bietet Komponente B ihre Dienste als Server der Komponente A
an. Sie nutzt gleichzeitig als Client die Dienste, die Komponente C und Komponente D zur
Verfügung stellen.
Abbildung 4.2: Komponente als Client und als Server [2]
Eine Komponente wird aber immer nur als Client oder als Server bezeichnet. Diese Bezeich-
nung ergibt sich aus dem Kontext und aus der momentanen Situation der Komponente. Das
soll noch einmal an einem Beispiel (Abbildung 4.3) gezeigt werden. In der ersten Stufe ruft
Komponente A, nachdem sie die Referenz vom zur Komponente B gehörenden Objekt
erhalten hat, eine Methode für dieses Objekt auf. Somit ist Komponente A der Client und
Komponente B der Server. Es kann passieren, dass Komponente A dem Methodenaufruf eine
Referenz eines eigenen Objekts als Parameter mitgibt (Stufe 2). In diesem Fall wird
Komponente B erst einen Methodenaufruf bei Komponente A bearbeiten lassen, um die bei
sich aufgerufene Methode überhaupt ausführen zu können. Ein solcher Methodenaufruf heißt
dann ClientCallback (Stufe 3). Hier wird dann Komponente A kurzfristig Server und
Komponente B kurzfristig Client. Beide Komponenten tauschen für eine Weile ihre Rollen,
ohne die Anwendung zu wechseln.
|  |
|
| |
|
|