RMI和CORBA的差异?

我正在学习决赛并且有一些关于RMI和CORBA的问题。 这些是从学习指南中获取的讨论问题,因此没有真正的应用背景。

  1. 为什么RMI和CORBA基于TCP? 问题表明要根据调用语义来回答。

到目前为止我所想到的是TCP将比UDP更可靠,而在RMI / CORBA中,我们需要网络可靠性。 我还读到了TCP深深嵌入本机Java网络类的地方。 我对此声明没有信心,因为CORBA可以用任何语言实现。

  1. 讨论RMI和CORBA名称服务之间的区别。

我对这个问题有点困惑,因为我到目前为止所读到的是RMI和CORBA是融合技术,RMI可以访问CORBA对象。 我现在如何理解,名称服务似乎非常相似,任何差异都不值得注意。

  1. 为什么RMI需要显式动态调用而不像CORBA?

我没想出任何东西。

我意识到我在问三个不同的问题,但它们似乎都有关系。

基于TCP的RMI / CORBA:它们本质上都是分布式对象调用机制,只需在可靠的传输上构建它就更容易,您不必担心数据被丢弃。 如果他们在UDP上构建它,他们将不得不有许多其他机制来担心重传和重复等。

RMI / CORBA名称服务:在这里看得更深入。 CORBA名称服务称为COS命名,RMI名称服务是JNDI。 他们处于不同的架构层面。 JNDI本质上是一组API,COS命名既是API(通过IDL表示),也是线程协议定义。
动态调用。 我不确定这个问题的含义。 这两种技术基本上允许您远程调用对象上的方法。

希望这有所帮助。