java idl是什么东东呀,介绍一下.

解决方案 »

  1.   

    能用rmi的时候不推荐使用 corba,那样会变得很复杂。访问corba需要启动corba的 java服务器,还得生成客户端stub,很是麻烦。
      

  2.   

    搂住不要混淆概念:
    idl 是interface definition language。用corba的时候都需要用idl描述接口,以便于client端调用。
    而java idl是sun推出的支持CORBA特性的一种技术。这个称呼其实并不恰当,该技术不只是支持idl,他的主要特性就是支持与CORBA的连接。比如说可以用idltojava转换idl文件等。RMI是Remote Method Invocation, IIOP是Internet Inter-ORB Protocol,是一种支持ORB(object request broker)的传输协议。注意,rmi和corba不是一个概念,而且应该说相差很远,因为rmi并不符合corba标准。不过自jdk1.3以后,rmi和corba的互操作性越来越好了,证明之一就是现在可以将rmi用于iiop协议上了。说到这里,搂住应该知道java idl和rmi-iiop之间的区别了吧。前者是sun推出的一种支持corba的特性,用它可以使用任何语言来实现corba调用,可以使用idl来设定接口;后者只是在iiop协议上用rmi来实现远程调用,并不是corba,也无需idl,当然也只能用java。
      

  3.   

    明白了一些,那么在EJB中使用了RMI-IIOP.为什么要使用它呢?
      

  4.   

    别忘了EJB是用java写的,而且我想你注意到了,ejb组件并没有使用idl也没有在server,client端生成skeleton和stub。很明显,ejb没有用corba,而用的是rmi(通过在两端约定Remote或者local接口,再综合jndi绑定来得到ejb组件对象)。
    至于这么做的原因,可能有很多,我知道有这么几点:
    1,ejb使用java语言编写,而且调用ejb的application也是用java编写的,因此没有必要用corba(corba的速度比rmi慢得多)
    2,rmi实现起来比corba容易多了(前面说了,需要定义idl,还要生成skeleton和stub,还有一些其他的原因:比如corba的对象cast比较麻烦等等)以上说的是为什么用rmi,至于为什么用iiop,这个就很简单了,没有别的原因,就是由于现在主流的application server都支持iiop协议。jboss用的是ldap服务器,整个jndi就是在ldap上运行的,因此要遵循iiop协议。
      

  5.   

    搂住不要混淆概念:
    idl 是interface definition language。用corba的时候都需要用idl描述接口,以便于client端调用。
    而java idl是sun推出的支持CORBA特性的一种技术。这个称呼其实并不恰当,该技术不只是支持idl,他的主要特性就是支持与CORBA的连接。比如说可以用idltojava转换idl文件等。RMI是Remote Method Invocation, IIOP是Internet Inter-ORB Protocol,是一种支持ORB(object request broker)的传输协议。注意,rmi和corba不是一个概念,而且应该说相差很远,因为rmi并不符合corba标准。不过自jdk1.3以后,rmi和corba的互操作性越来越好了,证明之一就是现在可以将rmi用于iiop协议上了。说到这里,搂住应该知道java idl和rmi-iiop之间的区别了吧。前者是sun推出的一种支持corba的特性,用它可以使用任何语言来实现corba调用,可以使用idl来设定接口;后者只是在iiop协议上用rmi来实现远程调用,并不是corba,也无需idl,当然也只能用java。
      

  6.   

    benjamin_von
    你也来这里啊.
    我是Steven
    看来我们公司的员工,技术都不错啊
      

  7.   

    iamzsy(小王子) 你是谁? 哪个公司的?