Русская Википедия:RMI-IIOP

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

RMI-IIOP (читается как «RMI поверх IIOP») обозначает интерфейс удаленного вызова методов Java (RMI) через межброкерный протокол Интернета (IIOP), который предоставляет возможности распределенных вычислений Common Object Request Broker Architecture (CORBA) для платформы Java. Первоначально он был основан на двух спецификациях: маппинг языка Java на OMG IDL и CORBA / IIOP 2.3.1[1].

Благодаря функциям, унаследованным от CORBA, программные компоненты, которые работают вместе, могут быть написаны на нескольких языках и работать на нескольких компьютерах. Другими словами, он поддерживает несколько платформ и может выполнять удаленные вызовы процедур для выполнения подпрограмм на другом компьютере, как определено RMI.

История

Спецификация Java RMI-IIOP была создана для упрощения разработки приложений CORBA при сохранении всех основных преимуществ этого подхода. Она был разработана компаниями Sun Microsystems и IBM и сочетает в себе функции технологии Java RMI с функциями технологии CORBA.

Техническое описание

RMI-IIOP использует сгенерированный код для удаленных объектов и не требует дополнительных классов для нетривиальных данных, в отличие от CORBA. Это снижает сложность и занимает меньше места. И CORBA, и RMI-IIOP используют стандарт связи General Inter-ORB Protocol.

RMI-IIOP в значительной степени основан на концепции объекта по значению, который служит контейнером или прямой заменой структур CORBA, объединений, последовательностей, массивов и строк. Никакого отдельного IDL не требуется[2]. Вместо этого определения структур данных обнаруживаются автоматически с помощью механизмов рефлексии. Однако можно сгенерировать определения IDL для задействованных структур данных RMI-IIOP и использовать эти определения для более точного управления между партнерами по обмену данными RMI-IIOP и CORBA.

Последние версии RMI-IIOP являются производными от стандартного класса Servant. Следовательно, их можно подключить к CORBA ORB вручную, используя один или несколько переносимых объектных адаптеров, переносных перехватчиков, службы именования CORBA, а также другие стандартные функции CORBA.

Ссылки

Примечания

Шаблон:Примечания