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

StackOverflow https://stackoverflow.com/questions/439704

  •  22-07-2019
  •  | 
  •  

Вопрос

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

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

Это было полезно?

Решение

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

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

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

Другие советы

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). ).

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

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

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 так же легко использовать.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top