Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Java: Работа с сетью > RMI |
Автор: ElectricalStorm 16.2.2004, 14:15 |
Расскажите в двух словах что RMI такое ? |
Автор: Sun 16.2.2004, 15:21 |
RMI - Remote Method Invocation, технология позволяющая удаленно запускать методы экземпляра класса (например как в DCOM COM+). На основе RMI построена технология CORBA. |
Автор: XClan 16.2.2004, 15:22 |
Реестр RMI - это простой сервис имен удаленных объектов, который позволяет удаленным клиентам получать ссылку на удаленный объект по имени |
Автор: KDA 16.2.2004, 16:24 |
По имени из реестра запрашивается удаленный объект, точнее его копия, после чего все вызываемые клиентом методы будут вызываться на сервере, а результат возвращается обратно клиенту. |
Автор: Guest 9.9.2005, 17:03 |
Как реализовать RMI на локальной машине |
Автор: AntonSaburov 9.9.2005, 18:05 |
Читайте FAQ - http://vingrad.ru/JAVA-JAV-000103 |
Автор: vzf 12.10.2005, 19:27 |
+ на javagu.ru есть неплохая статья с примерами и упражнениями по RMI |
Автор: pvo 12.10.2005, 20:04 | ||
RMI - изначально был чисто явской технологией. CORBA - изначально технология для взаимодействия объектов, написанных на разных языках. Кроме того, CORBA появилась пораньше явы. http://www.alunos.di.fc.ul.pt/manuais/corba14/ch01/ch01.htm#Heading9 |
Автор: LSD 12.10.2005, 20:11 |
pvo CORBA использует RMI для вызовов методов. |
Автор: pvo 12.10.2005, 20:17 | ||
Неверное утверждение. Как, например, работает CORBA в Delphi? Через RMI? ![]() |
Автор: LSD 12.10.2005, 20:20 |
Реализация CORBA для Java использует RMI. Если тебе так больше нравится. |
Автор: pvo 12.10.2005, 20:32 | ||
о5 неверно. Правильно так: RMI может использовать IIOP для выполнения вызовов. И возможность такая появилась сравнительно недавно. http://java.sun.com/j2se/1.3/docs/guide/rmi-iiop/index.html PS Реализаций CORBA для Java существует несколько. |
Автор: LSD 12.10.2005, 20:35 | ||
А если не RMI, то что? |
Автор: pvo 12.10.2005, 20:47 | ||
Укрупненно схема CORBA взаимодействия такая: Object1 <--> IIOP <--> Object2 Реализацию IIOP можно написать с использованием обычных сокетов. В RMI с момента его выхода существует свой протокол обмена, отличный от IIOP. По-моему он называется RMITP (что-то типа RMI Transport Protocol) о5 же укрупненно, схема взаимодействия в RMI: JavaObject1 <--> RMITP <-->JavaObject2 А с недавнего времени ( с java 1.3 кажется) появилась такая схема: JavaObject1 <--> RMITP <--> IIOP <--> Object2 |
Автор: LSD 12.10.2005, 20:49 | ||
Пример реализации IIOP без использования RMI в студию ![]() |
Автор: pvo 12.10.2005, 21:00 | ||
Их есть у меня: 1. Delphi, Cpp & so on - там точно нет RMI, но есть сокеты. 2. Для Java - например, JacORB http://www.jacorb.org/features.html |
Автор: LSD 12.10.2005, 21:13 | ||
Хорошо, исправим формулировку Реализация CORBA для Java иногда использует RMI. |
Автор: pvo 12.10.2005, 21:24 | ||
Так лучше. Но правильнее поменять местами слова RMI & CORBA. Ведь называется же RMI-over-IIOP, а не IIOP-over-RMI ![]() |
Автор: FatherFrost 17.10.2005, 11:10 |
pvo прав. RMI и CORBA - это разные технологии. Так в поставке JSDK есть как регистр RMI, так и ORB для CORBA. Вот через что реализован этот ОРБ я не знаю. Но знаю точно, что он нормально соединяется через сервис имен с удаленным объектом. В java, как и в срр изначально CORBA была реализована полностью, в отличии от Delphi, где долго не было реализации POA. |
Автор: ZAVS 21.10.2005, 13:36 |
Новая технология называется RMI-IIOP. Она использует основные интерфейсы RMI и плюс к этому новые классы и интерфейсы из пакета javax.rmi. например PortableRemoteObject. В RMI-IIOP использует JNDI вместо RMI registory. И плюс ко всему вся технология EJB основано на RMI-IIOP. Так что к EJB можно обратиться и из не java обьектов . |