Welche RPC - Implementierung? OS/Language-Independent

battleman99

Grünschnabel
Guten Morgen!
Ich habe den Auftrag bekommen, eine RPC-Infrastruktur aufzubauen mit den Vorraussetzungen:
RPC - Server --> C++
RPC - Client --> Java

Dadurch lässt sich als mögliche Implementierung RMI also schon mal ausschließen.

Ich habe bei Google nach Alternativen gesucht und bin schlussendlich zur Frage gekommen
SOAP vs. CORBA - welches ist besser?

Ich habe leider keinerlei Erfahrung mit RPC und hoffe dass hier ein paar Experten mich diesbezüglich beraten können?
 

chibisuke

Erfahrenes Mitglied
Hallo,

SOAP ist eine XML basierte RPC schnittstelle, die inzwischen eigendlich mehr oder weniger standart geworden ist. SOAP Server gibts ne menge klassen und libs die das ganze vereinfachen. Wenn du mit .NET arbeitest, wird es sogar nativ unterstützt.
Wenn du dich für soap entscheidest, würd ich dir empfehlen die WSDL erweiterung von Soap zu verwenden. Dadurch musst du den client nicht explizit dafür configorieren, sondern ihm nur die WSDL URL geben.

Der 2. inzwischen ziemlich etabliete standart im internet ist REST. RESTful webservices verwenden URLs und HTTP Methoden um zu kommunizieren. In der regel wird GET als abrufen, POST als editieren, PUT als erstellen und DELETE als löschen implementiert (HTTP Methoden).

Beides hat seine vor und nachteile.

SOAP ist im stande komplexe datenstrukturen abzubilden, verursacht durch die XML struktur dafür aber wesendlich mehr overhead, wärend REST eher für einfache aufrufe geeignet ist.

COBRA hab ich bisher noch nirgendwo im praktischen einsatz erlebt.