RMI-IIOP (читается как «RMI через IIOP») обозначает интерфейс Java Remote Method Invocation (RMI) через Internet Inter-Orb Protocol ( IIOP), который предоставляет возможности Common Object Request Broker Architecture (CORBA) распределенных вычислений для платформы Java. Первоначально он был основан на двух спецификациях: отображение языка Java в OMG IDL и CORBA / IIOP 2.3.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 не требуется. Вместо этого определения структур данных обнаруживаются автоматически с помощью механизмов отражения. Однако можно сгенерировать определения IDL для задействованных структур данных RMI-IIOP и использовать эти определения для осуществления более тонкого управления между партнерами по обмену данными RMI-IIOP и CORBA.
Последние версии RMI-IIOP являются производными от стандартного класса Servant
. Следовательно, их можно подключить к CORBA ORB вручную, используя один или несколько переносных объектных адаптеров, переносных перехватчиков, службы именования CORBA, а также другие стандартные функции CORBA.