Каков наилучший ORB для взаимодействия Java / C ++ с использованием CORBA? - PullRequest
7 голосов
/ 13 января 2009

У меня есть клиент-серверное приложение, написанное на Java с использованием CORBA для связи. Используемым ORB является orbd, предоставленный платформой Java6. Я должен заменить реализацию Java-сервера на другую, написанную на C ++. Таким образом, вопрос заключается в том, какие реализации с открытым исходным кодом библиотек CORBA лучше взаимодействуют с этим ORB? Должен ли я заменить Java ORB, а также использовать ORB, предоставляемый библиотекой C ++?

Цель состоит в том, чтобы обеспечить простой и плавный переход при замене уже функционирующего сервера новой реализацией C ++. Что-нибудь еще, что я должен принять во внимание?

Ответы [ 4 ]

7 голосов
/ 14 января 2009

Долгое время я не использовал CORBA для совместимости с Java и C ++, поэтому, возможно, мой ответ будет несколько устаревшим.

То, что я нашел, чтобы работать очень хорошо вместе, было omniORB (C ++) и JacORB (Java). Вы можете найти эти библиотеки в Google и посмотреть, поддерживаются ли они по-прежнему.

Я также помню, что у меня были большие проблемы с "нативным" Java CORBA (в Sun Bugs Parade много ошибок, открытых много лет ...), но это было во время JDK1.4, надеюсь, дела обстоят немного лучше сейчас ...

3 голосов
/ 03 апреля 2009

TAO, безусловно, наиболее коммерчески используемый Open Source C ++ ORB. Он очень хорошо работает с JacORB в качестве Java ORB, но вы также можете использовать JDK ORB. Если программное обеспечение в настоящее время работает с JDK ORB, нет никаких причин, по которым оно не будет работать с TAO. Если у вас возникнут какие-либо проблемы, вы можете заменить JDK ORB на JacORB.

Да, и о предыдущем посте ZEN Java ORB не работает и больше не разрабатывается. Для Java вы должны использовать JacORB, если JDK ORB недостаточно хорош для того, что вы делаете.

Если вам нужна коммерческая поддержка, она также доступна. Мы используем Remedy IT (http://www.remedy.nl) для наших нужд поддержки (как TAO, так и JacORB).

1 голос
/ 23 января 2009

C ++

Вы смотрели на ACE / TAO ORB.
https://www.dre.vanderbilt.edu/~schmidt/TAO.html

ACE - это, по сути, уровень абстракции ОС.
А TAO - это сборка CORBA ORB поверх этой абстракции, поэтому она кроссплатформенная.

Java

Java-версия TAO - это ZEN:
http://www.zen.uci.edu/

Хотя технически ваши ORB не обязательно должны быть одинаковыми. Пока они соответствуют протоколу / спецификации CORBA, они должны быть совместимы. Поэтому, хотя вы можете использовать ZEN, JacORB так же легко использовать.

1 голос
/ 22 января 2009

У меня есть несколько клиентов Java, которые загружают / переносят много данных на серверы C ++, написанные в Mico С ними никогда не было проблем.

Мы также используем Visibroker для его функций балансировки нагрузки, но скоро избавимся от этого.

...