RMI, CORBA oder was?



  • Hallo,

    ich erstelle gerade eine Hausarbeit im Fach "Netzwerkprogrammierung mit Java". Unter anderem wurde im Skript gesagt, dass RMI ganz nett ist, aber in der Praxis nur schwer zu administrieren ist. Ist das richtig? Wird RMI in der Praxis überhaupt eingesetzt? Ist CORBA die bessere Alternative oder gibt es noch andere Möglichkeiten.



  • Klar,
    Du kannst auch die Sockets selber Programmieren und Dir Dein eigenes Protokoll erstellen. Dabei muss man sich dann aber um viele Sachen kümmern, wie:
    - Ein Protokoll, welches definiert, was wann wie passiert
    - was passiert bei Paketverlust?
    - und noch vieles mehr...

    RMI und Corba sind beides Middleware, die diese Sachen für Dich übernehmen und für den Programmierer (so weit wie möglich) transparent zu seiner Programmiersprache ist. D.h. die Methoden Aufrufe genauso aussehen, als wenn er auf lokale Objekte zugreifen.

    Corba ist seeeeeehr Umfangreich und kann eine Menge, ist dafür aber um einiges komplizierter.
    RMI kann nicht so viel, ist aber dafür einfacher zu handhaben.
    (bezieht sich auf die Programmierung mit Corba/RMI)

    Mit Corba ist eine Spezifikation eines Protokolls, also nur die Beschreibung, was zur Folge hat, dass man im Prinzip in einem verteiltem System mit Objekten kommunizieren kann, die nicht alle in der selben Sprache implementiert sein müßen. (auch mit nicht OO-Sprachen)

    Ob und in wie weit da was administriert werden muss, kann ich Dir leider nicht sagen. Da ich in der Praxis leider kaum mit Java arbeite.

    Ich denke aber, dass Corba bei großen Projekten die bessere Wahl wäre, da man da mehr Möglichkeiten hat und auch nicht auf die Sprache festgelegt ist, bzw. viele ja von einer anderen Sprache kommen und sie von dort Corba schon kennen.
    RMI würde ich nur für kleinere Projekte verwenden, da man damit einfacher programmieren kann.

    Falls Du nach ähnlichen Systemen wie RMI und Corba suchst, googel doch einfach mal nach dem Begriff Middlware und Java, da wirst Du bestimmt noch mehr finden.

    MfG Ingo



  • Ne andere Möglichkeit wäre ja vielleicht auch SOAP? Das ist XML über HTTP in WebServices.

    RMI würde ich auch nicht in größeren Systemen nutzen, ist ja dann nur auf Java beschränkt, oder? Mit Corba kann man halt auch Java und C++ Systeme miteinander kommunizieren lassen.

    Ich habe mir mal im Web mal kleine Corba Tutorials angeschaut. Muß sagen, ist doch garnicht so schwer, selbst in C++. Bei C++ muß es halt nur die Implementierung für die entsprechende Plattform geben. Und bei Java ist das eh dabei.

    Such doch einfach mal im Web nach Infos.


Anmelden zum Antworten