开发者

RMI and CORBA Differences?

I am studying for a final and have a few questions about RMI and CORBA. These are discussion questions taken from a study guide so there is no real application context around them.

  1. Why are RMI and CORBA based on TCP? The question states to answer in terms of invocation semantics.

What I have thought of so far is that TCP is going to be more reliable than UDP and in RMI/CORBA, we want network reliability. I also read somewhere that TCP is deeply embedded in the native Java networking classes. I am not as confident in this statement since CORBA can be implemented in any language.

  1. Discuss the difference between the RMI and CORBA name service.

I am a little confused about this question because what I have read so far is that RMI and CORBA are converging technologies and RMI can access CORBA objects. How I understand it now, the name services seem to be very similar and any differences are not worth noting.

  1. Why does RMI need dynamic in开发者_高级运维vocation explicitly unlike CORBA?

I havent came up with anything.

I realize I am asking three different questions, but they all seem to related.


RMI/CORBA based on TCP: They both are essentially distributed object invocation mechanisms, and it's easier just to build this on top of a reliable transport where you don't have to worry about data being dropped. If they built it on UDP, they would have to have a lot of other mechanism to worry about retransmission and duplicates, etc.

RMI/CORBA name service: Look more deeply here. The CORBA name service is called COS Naming, and the RMI name service is JNDI. They are at different levels of architecture. JNDI is essentially a set of APIs and COS naming is both APIs (as expressed through IDL) and a wire protcocol definition.
Dynamic invocation. I'm not sure of the meaning of this question. Both technologies essentially allow you to call methods on objects remotely.

Hope this helps a little.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜