Die RMI Kommunikation

Abbildung 4.3: Aufbau RMI Kommunikation
\includegraphics[width=10cm]{bilder/aufbau_rmi.eps}

Abbildung 4.4: Zeit Diagramm bei RMI
\includegraphics[width=10cm]{bilder/zeit_diagramm_rmi.eps}

Abbildung 4.5: Schichten Aufbau RMI
\includegraphics[width=10cm]{bilder/schichten_rmi.eps}

Beim Starten des RMI-Servers registriert dieser Server seinen zu exportierenden Service beim Naming Service rmiregistry.
Folgender Ablauf findet statt, wenn die Applikationen kommunizieren:
(Die Zahlen in den Klammern geben die Schritte im zeitlichen Ablauf an)

  1. Application-Server will Funktion auf Workflow-Manager aufrufen (1-2)

  2. Client fordert mittels einer URL und der lookup-Methode eine Referenz vom Naming Service an (2-3)

  3. Es wird eine Proxy-Referenz zurückgeliefert und falls nötig wird der Stub-Code vom RMI-Server heruntergeladen (3-4)

  4. Der Client ruft eine Methode mittels der Proxy Referenz auf. Dies erfolgt auf dem Stub. Allerdings wird verfahren, als würde man auf dem realen Server eine Methode aufrufen (4-5-6-7)

  5. Verpacken (Marshalling) des Aufrufs im Stub und übertragen an den RMI-Server (5, 5-6)

  6. Unmarshalling der Anfrage vom Client im Skeleton auf dem Server (6)

  7. Verarbeitung auf dem Server und Weitergabe an die Applikation (6-7-8)

  8. Ergebnisse von der Server-Applikation an den RMI Server senden (8-9)

  9. Marshalling des Ergebnisses im Skeleton und senden an den Client (10-11)

  10. Unmarshalling des Ergebnisses im Stub auf dem Client (11)

  11. Zustellung des Ergebnisses an die Applikation (12-13)

Jan Kechel 2006-04-28