精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>编程开发>>C/C++>>网络与通讯>>[转载] SOCKET, CGI, CORBA, RMI, DCOM -(5)

主题:[转载] SOCKET, CGI, CORBA, RMI, DCOM -(5)
发信人: crazyjava()
整理人: (1999-11-10 08:58:33), 站内信件
【 以下文字转载自 SystemAnalysis 讨论区 】
【 原文由 骄傲的中国人 所发表 】
RMI

Your forth choice for creating remote-object systems is the 
RMI facility that is built into JDK. You might think of RMI 
as a poor man's CORBA. It helps with the two hardest problems 
in implementing remote objects: getting references to remote 
objects and passing messages to and from them. Despite its 
attractiveness, however, RMI lacks support for many of the 
useful services provided by CORBA, including CORBA's interface 
repository and security facilities. With RMI, you'll either
have to do without these, or write them yourself, which might 
turn out to be more than you bargainted for.

Another thing you should consider when evaluating RMI is its 
status as a proprietary Sun technology, rather than a open 
standard. Furthermore, RMI is a Java-only technology, and 
won't give you any help with non-Java programs. So, RMI's 
base of supported and scope of application are both 
significantly narrower than CORBA's. These factors are 
significant disadvantages. (Actually RMI over IIOP comes out 
just now. Based on this tech, RMI is able to support other 
programming languages as well)

If that's the down side, then what's the up side? Why might 
you choose to use RMI? Well, for one thing, because RMI is 
part of the JDK, it's free! You can run it yourself without 
first purchasing an ORB.

In addition to an unbeatable price, however, RMI does provide 
one important capability you won't get with CORBA: RMI makes 
it easy to download Java classes and stubs so that object 
behaviors, not just object data, can be sent over the network. 
Because it's a multi-platform standard, CORBA doesn't address 
software portability of the sort Java delivers. After all, 
why bother transmitting C++ object code over the network when 
the receiving host may well have a different hardware 
architecture and therefore, not be able to execute the code 
anyway?

Of course, a  CORBA program could use IIOP to transfer Java 
bytecodes from one host to another. So, it's not that CORBA 
can't handle softare portability; it's merely that it doesn't 
directly support it. But the same thing, of course, could 
be said of CORBA services and facilities not supported by RMI. 
It's not, for example, that RMI can't handle security; it's 
merely that it doesn't directly support it.

/Crazyjava


--
孤身走我路...
其实,路,两个人一起走比一个人要好。
email: [email protected]

※ 修改:.crazyjava 于 Jul 30 18:13:56 修改本文.[FROM: 139.87.93.173]
※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 139.87.93.173]
--
※ 转载:.月光软件站 http://www.moon-soft.com.[FROM: 139.87.93.173]

[关闭][返回]