发信人: crazyjava()
整理人: zjxyz(2001-06-16 10:31: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:12:28 修改本文.[FROM: 139.87.93.173] ※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 139.87.93.173] -- ※ 转载:.月光软件站 http://www.moon-soft.com.[FROM: 205.158.38.50]
|
|