J2EE常见术语一句话解释
J2EE常见术语一句话解释
RMI
Rmote Method Invocation(远程方法调用)
用于Java平台中的远程方法调用。它具有分布式垃圾收集、可自动下载类文件等功能。位于java.rmi包中。
注意:RMI只能在Java平台中使用。通过RMI传输的参数必须可以序列化
CORBA
Common Object Request Broker Architecture(公共对象请求代理体系结构)
用于实现独立于平台及编程语言的分布式应用
ORB
Object Request Broker(对象请求代理)
负责具体的网络通信,是构建分布式应用的基础。
STUB与SKELETON
存根与骨架
无论是RMI还是ORB,其实现本质都是采用了代理模式。其中存根为客户端使用的代理,拥有通过网络访问远程对象的能力;骨架为远程对象的代理,用来接受存根的调用,并返回结果。
附:在CORBA和JAVA 5中也支持动态调用,即存根不是必须存在的。
RMI-IIOP
Remote Method Invocation over the Internet-ORB Protocol(基于互联网的对象请求代理协议实现的远程方法调用)
J2EE和EJB事实上的网络通信标准,基于RMI,同时又兼容CORBA,使得EJB组件可以被Java之外的客户端调用。位于javax.rmi包中。
话题1:为何J2EE要兼容CORBA
CORBA是OMG(对象管理组织)推出的成功的分布式对象通信标准,为了占领企业级市场,EJB必须考虑和遗留系统的集成,以及为异构系统提供服务,这都需要采用更加通用的CORBA,而不是只能在Java平台下使用的RMI。
话题2:引入CORBA之后面临的问题
1, 分布式垃圾收集:并非所有支持CORBA的语言都有垃圾收集机制。
2, 窄化(Narrowing):当通过RMI或RMI-IIOP获取一远程对象时,实际上获取的是其存根(Stub)。在RMI中,会自动下载此存根;而CORBA没有这个机制,必须用额外的方法解决(其实是通过javax.rmi.PortableRemoteObject的narrow方法解决的)。
JNDI
Java Naming and Directory Interface(Java命名和目录接口)
通过统一的方式,根据资源名称查找资源,而不用关心资源的具体位置。比如通过JNDI查找EJB组件,Jdbc数据源。
接下来用一组图展示Java客户端调用EJB组件的过程
获取Home接口对象
1, 客户端通过JNDI查找Home接口
2, 得到Home接口存根后将其窄化
获取远程对象
1, 客户端通过Home接口调用create方法
2, 应用服务器返回EJB对象(的存根)
(因为缓存机制,未必会得到新的对象)
通过远程对象存根进行交互
1, 客户端调用远程对象存根中的方法
2, 远程对象存根委派给真正的远程对象
3, 并接口远程对象的返回值给客户端
最后说明一点,既然是“一句话解释”,很多概念自然说的不精确,只是说明了它的主题应用。如果想要详细了解可以在网上搜索相关资料(比如在百度的“知道”搜索这些名词,《精通EJB》书后的附录也有不错的解释)
问题点数:100、回复次数:38Top
1 楼OnlyFor_love(『勾勾手指头 一辈子不分手』)回复于 2006-07-27 15:19:22 得分 10
不错不错Top
2 楼kevinliuu()回复于 2006-07-27 15:19:47 得分 10
good
jfTop
3 楼infowain(infowain)回复于 2006-07-27 15:19:52 得分 5
沙发Top
4 楼kevinliuu()回复于 2006-07-27 15:20:07 得分 5
不应该是非技术区的帖子Top
5 楼Underwind(Underwind)回复于 2006-07-27 15:30:09 得分 0
啊?我已经移动到技术区了啊?Top
6 楼sy5591(呵呵★我爱王培)回复于 2006-07-27 15:33:37 得分 5
支持Top
7 楼eanjudy(小小兽猪)回复于 2006-07-27 15:35:33 得分 5
顶啊啊啊啊啊啊啊Top
8 楼menghuantian()回复于 2006-07-27 15:36:27 得分 5
支持一下啦Top
9 楼menghuantian()回复于 2006-07-27 15:37:57 得分 0
支持支持Top
10 楼auq__te__wfn()回复于 2006-07-27 16:43:20 得分 0
顶顶顶顶Top
11 楼mracle()回复于 2006-07-27 21:53:15 得分 0
我想知道您的博客,告诉俺们吧!underwind先生。Top
12 楼Hmilyl(水源越来越像天涯~~)回复于 2006-07-27 22:37:19 得分 0
perfectTop
13 楼mscf(扎西特勒)回复于 2006-07-27 23:00:59 得分 0
markTop
14 楼Underwind(Underwind)回复于 2006-07-28 10:34:54 得分 0
回mracle()的,我没有博客。不过有个主页:http://www.designersky.comTop
15 楼jlusdy(LOST)回复于 2006-07-28 10:47:00 得分 0
不错
顶一下Top
16 楼sitoto(什么都不懂)回复于 2006-07-28 11:16:59 得分 0
GOOD
Top
17 楼GavinLau(枫)回复于 2006-07-28 11:21:33 得分 0
upTop
18 楼ffyuxin(馨儿)回复于 2006-07-28 12:04:30 得分 0
very good!
长了很多见识啊Top
19 楼jobs002(Oh! Office)回复于 2006-07-28 13:20:13 得分 0
jfTop
20 楼ray_1981(雷)回复于 2006-07-28 13:27:37 得分 0
8错!学习中!Top
21 楼jacshan(猎人)回复于 2006-07-28 13:52:09 得分 0
markTop
22 楼befree(似有似无)回复于 2006-07-28 14:25:05 得分 0
jfTop
23 楼chyx413332087()回复于 2006-07-28 14:42:03 得分 0
markTop
24 楼wobushihuangrong()回复于 2006-07-28 15:08:43 得分 0
MARKTop
25 楼quanquan626(圈圈)回复于 2006-07-28 15:49:20 得分 0
jfTop
26 楼zcy_shenyang825135(小知)回复于 2006-07-28 17:11:50 得分 0
好贴Top
27 楼success_dream(sharp engineer)回复于 2006-07-28 17:19:09 得分 0
支持下!up!Top
28 楼guiwenxing123(石中玉星)回复于 2006-07-28 19:01:32 得分 0
ding ..在面试时候正常出这一题目...
欢迎加入JAVA开发QQ群14672911,在这里我们相互学习,共同进步,工资一起涨(打广告的,闲聊的免进)Top
29 楼Underwind(Underwind)回复于 2006-07-29 10:34:22 得分 0
呵呵,面试的时候问这些吗?Top
30 楼catastrophe(菜蛋)回复于 2006-07-29 16:44:04 得分 0
markTop
31 楼ljydomybest(j)回复于 2006-07-30 09:10:24 得分 0
up up 举个手!Top
32 楼Underwind(Underwind)回复于 2006-07-30 18:23:49 得分 0
举个手??
还有jf是什么意思?Top
33 楼lbx19822004()回复于 2006-07-30 21:26:59 得分 0
楼主辛苦了
支持一下!Top
34 楼Underwind(Underwind)回复于 2006-07-30 21:54:10 得分 0
有啥辛苦的……又不是专门为了csdn写的……
Top
35 楼gangtiejiaoshi()回复于 2006-07-31 16:20:51 得分 0
这是楼主自己写的吗?楼主是干什么的呀?Top
36 楼TelliXu(农民的儿子)回复于 2006-07-31 16:24:08 得分 0
太棒了
Top
37 楼TelliXu(农民的儿子)回复于 2006-07-31 16:24:25 得分 0
付老实,谢谢
Top
38 楼sozdream(Dream.Zhang)回复于 2006-07-31 16:55:07 得分 0
收益~Top




