1、Java分布式开发,有那些技术可以实现。 
我知道的有RMI、CORBA 
2、RMI和CORBA都能够实现下面的功能吗?如果都能够,那个更好? 现有多台服务器,当用户登陆任何一台服务器的时候,这个服务器除了要检索自己本地的资源以外,还可以作为一个客户端,自动地去连接其它服务器,发出检索请求,并将检索的结果进行合并和汇总,返回给用户登陆的那台服务器。(这样,用户只需要登陆任意一台服务器,就可以检索到大量所需资源,尽管这些资源来自于不同的服务器,但检索的过程对用户来说是透明的,用户检索和获取这些资源就如同检索和获取所请求的服务器上的资源一样。) 3、WEBService可以实现吗,能简单介绍下WEBService吗?
望高人指教!

解决方案 »

  1.   

    用RMI,CORBA开发太累,直接用EJB不更好吗。EJB的分布式服务不但对用户是透明的,对开发者都是透明的,你把业务方法写好在session bean里,让它跑起来就结了,远程调用什么的根本不用你操心。
      

  2.   

    补充:EJB的分布式计算底层通讯其实也是RMI,只不过通讯机制对EJB开发者来说已经不再重要,那是应用服务器应该管的事。
      

  3.   

    但是你要想知道EJB的运行机制。我们是否需要了解RMI的底层实现呢?
    如:stub和skeleton.等等。
    哪位高人能否点拨点拨呀。有什么资料可以介绍RMI技术或则是EJB的底层技术?
    底层应该是Socket编程吧!
      

  4.   

    “底层”“高层”都是相对的概念,不过是个角度问题。
    关于stub和skeleton,本身挺复杂的,一般人也就是了解一下它们的运行机理就够了,很少有需求需要你把它们的实现细节都搞清楚,因为那是不必要的,除非你打算自己开发一套EJB,认为自己是Garvin King之类的大牛的可以试试,不过首先得保证自己没有生存压力,哈。stub实际上就是一种接口增强技术,当你使用一个接口来调用一个远程对象的时候,stub会为你的接口增加一些帮助信息,比如该远程对象的通讯地址、通讯方式、socket端口blah blah。这样你才能通过该接口调用相应的远程对象啊。skeleton就反过来,粗略一点说,服务器接到客户端请求后对远程对象进行反增强,即还原到JVM能处理的POJO。
      

  5.   

    开来遇见了一位对EJB有不同凡响的高人:
    EJB技术的基础是另外两种技术:RMI-IIOP和JNDI。要想了解EJB,一定要先了解RMI-IIOP和JNDI。因此,我们在介绍EJB细节之前,先了解这两项技术.能否推荐一些资料给我们学习呢? 
    开始以我的对RMI的理解是:RMI的本质就是实现在不同JVM之间的调用,它的实现方法就是在两个JVM中各开一个Stub和Skeleton,二者通过socket通信来实现参数和返回值的传递.
      

  6.   

    还可以使用JMS的方式来查询其他服务器上的资源。
      

  7.   

    “高人”实不敢当,我对RMI的了解仅得皮毛,写一个RMI C/S 通信的Helloworld就是我的极限了。javaeye的分布式技术版应该有一些这类入门代码。
    如我所言,RMI JNDI这些东西既然是底层的业界标准,那么作为普通程序员是没有必要去关心它们的实现的,即使为了理解EJB而去补习一下这些知识,也最好点到为止,明白它们能干什么就行。除非你进了大公司且公司有意培养你作核心程序员,那又是另外一回事了。
    RMI实际上是进程间调用技术,这跟C++ 的思想差不多,都是利用socket,再往下细节太多,说不了。
    实际上EJB最有价值的地方在于它不但实现了RMI方式的远程调用,还能提供一个事务机制对远程方法实现管理。EJB的JTA事务机制非常复杂,远不是跨数据库而已。