使用CORBA进行Java / C ++互操作的最佳ORB是什么?

时间:2009-01-13 16:32:57

标签: java c++ corba

我有一个用Java编写的客户端 - 服务器应用程序,使用CORBA进行通信。使用的ORB是orbd,Java6平台提供的ORBd。我必须用另一个用C ++编写的实现替换Java服务器实现。那么问题是,在CORBA库的自由源实现中,哪个更好地与这个ORB互操作?我应该替换Java ORB并使用C ++库提供的ORB吗?

目标是在使用新的C ++实现替换已经运行的服务器时,可以轻松平滑地进行转换。还有什么我应该考虑的吗?

4 个答案:

答案 0 :(得分:7)

很长一段时间我没有使用CORBA来实现Java和C ++的互操作性,所以也许我的答案会有点过时。

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

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

答案 1 :(得分:3)

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

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

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

答案 2 :(得分:1)

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

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

答案 3 :(得分:1)

C ++

您是否看过ACE / TAO ORB https://www.dre.vanderbilt.edu/~schmidt/TAO.html

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

爪哇

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

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