怎么说呢,好像一两句话也无法说清楚,我也是刚接触这方面的东西.
就我个人的看法来说一下吧,很简单的理解:
这三者都是用来远程调用的技术(也就是人们常说的分布式技术).
我觉得RMI和EJB到有点关系,而CORBA跟这两者好像没多大关系.
RMI和EJB是专门用在Java语言编写的程序之间的调用,而CORBA侧不限制是什么语言,只要是遵循它的IDL(接口定义语言)规范的任何语言都可以,其中就包括(java,c++等现在的主流语言).
谈到RMI和EJB来,它们之间的关系好像是继承和发展吧,我觉得EJB是在RMI技术之上加以更多服务方面的功能的一个发展.RMI只是紧紧停留在远程方法调用这个技术之上的,它没有其它方面的功能,而EJB借助于EJB容器(也是就我们通常所说的一些J2EE服务器)提供了一些RMI无法完成的功能,比如说什么事务管理,资源管理等等一些复杂的功能.
我个人觉得EJB就好像学习微软公司的COM+组件一样.而它是Java组件而已.
要学习这三者的话,我建议先从RMI入手,然后再学习EJB,CORBA我个人觉得比较难学,需要慢慢的啃.
就说这些吧.

解决方案 »

  1.   

    我觉得ejb和rmi之间的关系就是ejb有一个remote interface,可以远程调用EJB,rmi是一种远程调用技术,应该说是EJB应用了RMI技术CORBA我觉得是多语言技术之间的一种接口技术,可以将以不同语言开发的模块用CORBA技术联系起来,成为一个整体不知道这样理解是否正确,关注中………………
      

  2.   

    都是基于分布式模式提出的技术,CORBA是OMG组织针对企业应用上的分布式程序开发标准。重要的一点是CORBA仅仅是个规范。CORBA应用以ORB而知名。市场上已经出现了几个CORBA产品如VISIBROKE,ORBIX等。JAVAIDL是在JDK1。3及以上版本核心包的另一个应用。CORBA设计的与平台和语言无关(注:与WEB SERVICE类似),因此CORBA能运行在任何平台上,能应用在任何网络里,能用任何支持IDL接口的语言编写。请参考http://www.csdn.net/Develop/read_article.asp?id=20506http://www.csdn.net/Develop/read_article.asp?id=20586 
    EJB是RMI的扩展,EJB的最大优点是EJB容器的引入,使的事务,安全,配置很方便。
      

  3.   

    呵呵。
    如上:CORBA是种协议吧,只要是遵循它的IDL(接口定义语言)规范的任何语言都可以,其中就包括(java,c++等现在的主流语言).RMI 是JAVA实现远程调用的方法。在EJB没有出现以前,JAVA的远程调用是用RMI来实现的。EJB是为建立远程的,分布式的系统出现的。是基于CORBA和RMI实现的。
    EJB服务器封装了CORBA和RMI实现部分。
      

  4.   

    个人觉得EJB中,最好的部分就是各个厂商提供的应用服务器。如WEBSPHERE,WEBLOGIC。他门封装了我们最不好处理的事务,安全,一致性等。
    个人觉得学习J2EE最重要的是把自己写的代码部署到应用服务器,这样才能发挥他的利处,如果只当他为组件对象的话,那就没什么意义拉!我也在努力学习中。共同努力!