Wenn man verteilte Anwendungen entwickeln möchte, z.B. für das Internet, hat man die Wahl zwischen verschiedenen Alternativen, wie man die Kommunikation implementieren möchte, und zwar Java-RMI, CORBA oder DCOM. In jedem Fall ist Javas RMI die einfachste Möglichkeit dafür. Jedoch muß man für den Vorteil der schnellen und einfachen Implementation, den Nachteil in Kauf nehmen, daß – die für viele Firmen wichtige – Unterstützung verschiedener Programmiersprachen fehlt. Da die RMI-Lösung teilweise nicht so robust wie seine Mitkonkurrenten ist, ist sie sehr gut geeignet für Anwendungen, welche 100% in Java geschrieben sein sollen und für die Integration in bestehende Systeme (Datenbanken) keine Bedingung ist.
Vorteile | Nachteile |
---|---|
Einfache und schnelle Implementation | Nur Java-Unterstützung |
Optimiert für Java | Nicht IIOP kompatibel, eigenes Kommunikationsprotokoll (JRMP) |
Dynamisches Laden der Stubs | Schwierige Integration in bestehende Systeme |
Übergabe als Werteparameter | Fehlende Selbstbeschreibungs Mechanismen |
Eingebauter Security-Manager |
Was Javas RMI interessant macht, ist gerade die relativ einfache Art und Weise, wie schnell ein Entwickler verteilte Anwendungen schreiben und laufen lassen kann. Wenn ein Entwickler sich schon sehr gut in der Java-Umgebung auskennt, d.h. in der Syntax und der Semantik der Javasprache, dann ist der Übergang zu RMI unwesentlich schwerer. Darüber hinaus sind Produkte von Drittanbietern nicht nötig, weil Java, seit dem JDK 1.1, alle notwendigen Werkzeuge und Klassen mitliefert. Auch durch dynamisches Laden der Stub-Klassen, d.h. es müssen vorher keine Klassen auf dem System installiert werden, wird es für RMI-basierte Anwendungen einfacher in einer verteilten Umgebung zu laufen.