【问题标题】:What is the best ORB for Java/C++ interoperation using CORBA?使用 CORBA 进行 Java/C++ 互操作的最佳 ORB 是什么?
【发布时间】:2010-10-01 04:21:38
【问题描述】:

我有一个用 Java 编写的客户端-服务器应用程序,使用 CORBA 进行通信。使用的ORB 是orbd,Java6 平台提供的ORB。我必须将 Java 服务器实现替换为另一个用 C++ 编写的实现。所以问题是,在 CORBA 库的免费源代码实现中,哪个更好地与这个 ORB 互操作?是否应该替换 Java ORB 并同时使用 C++ 库提供的 ORB?

目标是在用新的 C++ 实现替换已经正常运行的服务器时实现轻松平稳的过渡。还有什么我应该考虑的吗?

【问题讨论】:

    标签: java c++ corba


    【解决方案1】:

    很久没有使用 CORBA 来实现 Java 和 C++ 的互操作性了,所以我的回答可能会有点过时。

    我发现omniORB (C++) 和JacORB (Java) 可以很好地协同工作。您可以在 google 上搜索这些库,看看它们是否仍然受支持。

    我还记得我在使用“原生”Java CORBA 时遇到了很大的问题(Sun Bugs Parade 中有很多错误,开放多年......)但那是在 JDK1.4 的时候,希望情况会好一些现在...

    【讨论】:

    • 我同意这种搭配,至少它曾经也对我有用 :)
    【解决方案2】:

    TAO 绝对是商业上使用最多的开源 C++ ORB。它与 JacORB 作为 Java ORB 配合使用非常好,但您也可以使用 JDK ORB。如果该软件当前可以与 JDK ORB 一起使用,那么它没有理由不能与 TAO 一起使用。如果您遇到任何问题,您可以将 JDK ORB 替换为 JacORB。

    哦,关于上一篇文章,ZEN Java ORB 已死,不再开发。对于 Java,如果 JDK ORB 不足以满足您的需求,您应该使用 JacORB。

    如果您需要商业支持,也可以使用它。我们使用 Remedy IT (http://www.remedy.nl) 来满足我们的支持需求(TAO 和 JacORB)。

    【讨论】:

      【解决方案3】:

      我有一些 Java 客户端将大量数据推送/拉入用 Mico 编写的 C++ 服务器。他们永远不会有任何问题。

      我们也在使用 Visibroker 来实现其负载平衡功能,但很快就会摆脱它。

      【讨论】:

        【解决方案4】:

        C++

        你看过 ACE/TAO ORB。
        https://www.dre.vanderbilt.edu/~schmidt/TAO.html

        ACE 基本上是一个操作系统抽象层。
        而且 TAO 是在此抽象之上构建的 CORBA ORB,因此它是跨平台的。

        Java

        TAO的Java版本是ZEN:
        http://www.zen.uci.edu/

        虽然从技术上讲,您的 ORB 不需要相同。只要符合 CORBA 协议/规范,它们就应该是可互操作的。因此,尽管您可以使用 ZEN,但使用 JacORB 也同样简单。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2010-09-07
          • 1970-01-01
          • 1970-01-01
          • 2013-11-11
          相关资源
          最近更新 更多