2012-06-15 3 views
0

Может ли RMI (JRMP) сервер вызываться RMI IIOP?Может ли RMI (JRMP) сервер вызываться RMI IIOP?

Я знаю, что RMI IIOP используется для межязыковой коммуникации с использованием corba. Но может ли RMI-сервер, реализованный с использованием JRMP, вызываться клиентом RMI IIOP?

Я предполагаю, что это возможно, используя IP-адрес хоста реестра RMI (JRMP).

ответ

1

Нет. Вопрос даже не имеет смысла. Сервер RMI вызывается через его заглушку, и протокол реализуется заглушкой, а не клиентом.

Однако вы можете экспортировать тот же объект, как на удаленный объект RMI/JRMP и удаленный объект RMI/IIOP, расширяя ни UnicastRemoteObject, ни PortableRemoteObject и называя exportObject() методы обоих этих классов, и зарегистрировать его как в качестве RMI Registry и COSNaming, и работает как rmic (при необходимости см. Преамбулу до UnicastRemoteObject) и rmic -iiop.

Затем, если вы просмотрите его через реестр, вы получите заглушку RMI/JRMP, и если вы посмотрите его через службу COSNaming, вы получите заглушку RMI/IIOP.

+0

Ahh k ... Каковы различия между RMI и RMI-IIOP рядом с реестром и возможностью перекрестного доступа? –

+0

@RajuKumar Полностью разные протоколы и API, скрытые в некоторой степени RMI/IIOP; нет РСК в RMI/IIOP; различные требования к сериализации; и IMHO RMI/IIOP был и значительно более зрелый, чем RMI/JRMP. Следовательно, без сомнения, настоятель ORB-производителя настаивал на использовании IIOP для J2EE. Например, масштабируемость, перехват и т. Д. - все это подталкивание под моделью CORBA, где они практически отсутствуют в RMI/JRMP. Активация также значительно лучше продумана в модели CORBA, где в RMI/JRMP у нее просто есть несколько зияющих отверстий, таких как безопасность, которые делают ее в основном непригодной для использования. – EJP