简体   繁体   English

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

[英]What is the best ORB for Java/C++ interoperation using CORBA?

I have a client-server application written in Java using CORBA for the communication. 我有一个用Java编写的客户端 - 服务器应用程序,使用CORBA进行通信。 The ORB used is orbd, the one provided by the Java6 platform. 使用的ORB是orbd,Java6平台提供的ORBd。 I have to replace the Java server implementation with another one written in C++. 我必须用另一个用C ++编写的实现替换Java服务器实现。 So the question is, of the free source implementations of CORBA libraries, which one better interoperates with this ORB? 那么问题是,在CORBA库的自由源实现中,哪个更好地与这个ORB互操作? Should I replace the Java ORB and also use the ORB provided by the C++ library? 我应该替换Java ORB还使用C ++库提供的ORB吗?

The objective is to have an easy and smooth transition when replacing an already functioning server with the new C++ implementation. 目标是在使用新的C ++实现替换已经运行的服务器时,可以轻松平滑地进行转换。 Is there anything else that I should take into account? 还有什么我应该考虑的吗?

It's a long time I didn't use CORBA for Java and C++ interoperability, so maybe my answer will be a bit outdated. 很长一段时间我没有使用CORBA来实现Java和C ++的互操作性,所以也许我的答案有点过时了。

What I found to work very well together was omniORB (C++) and JacORB (Java). 我发现可以很好地协同工作的是omniORB(C ++)和JacORB(Java)。 You may search for those libraries on google and see if they are still supported. 您可以在谷歌上搜索这些库,看看它们是否仍然受支持。

I also remember I have had big problems with "native" Java CORBA (there are many bugs in Sun Bugs Parade, open for many years...) but that was at JDK1.4 time, hopefully things are a bit better now... 我还记得我在“原生”Java CORBA方面遇到了很大的问题(Sun Bugs Parade中有很多错误,多年开放......)但那是JDK1.4时间,希望事情现在好一些...... 。

TAO is definitely the most commercially used Open Source C++ ORB. TAO绝对是商业上使用最多的开源C ++ ORB。 It works very well with JacORB as a Java ORB, but you can use the JDK ORB, too. 它与JacORB作为Java ORB非常有效,但您也可以使用JDK ORB。 If the software currently works with the JDK ORB there is no reason why it would not work with TAO. 如果软件当前与JDK ORB一起使用,则没有理由不使用TAO。 If you encounter any Problems you can drop in replace the JDK ORB with JacORB. 如果您遇到任何问题,可以使用JacORB替换JDK ORB。

Oh and about the previous post the ZEN Java ORB is dead and is no longer developed. 哦,关于上一篇文章,ZEN Java ORB已经死了,不再开发了。 For Java you should use JacORB if the JDK ORB is not good enough for what you do. 对于Java,如果JDK ORB不适合您的操作,则应使用JacORB。

If you need commercial support it's available too. 如果您需要商业支持,也可以使用。 We use Remedy IT ( http://www.remedy.nl ) for our support needs (both TAO and JacORB). 我们使用Remedy IT( http://www.remedy.nl )来满足我们的支持需求(TAO和JacORB)。

I have some Java clients that push/pull a lot of data into C++ servers that are written in Mico. 我有一些Java客户端将大量数据推送/拉入用Mico编写的C ++服务器。 Never have any issues with them. 永远不会有任何问题。

We are using Visibroker as well for its load balancing features but will be getting rid of that soon. 我们正在使用Visibroker以实现其负载平衡功能,但很快就会摆脱它。

C++ C ++

Have you looked at the ACE/TAO ORB. 你看过ACE / TAO ORB吗?
https://www.dre.vanderbilt.edu/~schmidt/TAO.html https://www.dre.vanderbilt.edu/~schmidt/TAO.html

ACE is basically an OS abstraction Layer. ACE基本上是一个操作系统抽象层。
And TAO is a CORBA ORB build on-top of this abstraction so it is cross platform. TAO是这个抽象的顶级CORBA ORB构建,因此它是跨平台的。

Java Java的

The Java version of TAO is ZEN: TAO的Java版本是ZEN:
http://www.zen.uci.edu/ http://www.zen.uci.edu/

Though technically your ORBs do not need to be the same. 虽然从技术上讲,你的ORB不需要是相同的。 As long as the conform to the CORBA protocol/specification they should be interoperable. 只要符合CORBA协议/规范,它们就应该是可互操作的。 So though you can use ZEN it is just as easy to use JacORB. 因此,尽管您可以使用ZEN,但使用JacORB同样容易。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM