В чем разница между Java RMI и RPC?

Какова фактическая разница между Java RMI и RPC?

Я читал в некоторых местах, что RMI использует объекты?

Ответ 1

RPC основан на C, и с другой стороны он имеет структурированную семантику программирования, с другой стороны, RMI - это технология на основе Java и объектно-ориентированная.

С RPC вы можете просто вызывать удаленные функции, экспортируемые на сервер, в RMI вы можете иметь ссылки на удаленные объекты и вызывать их методы, а также передавать и возвращать более удаленные ссылки на объекты, которые могут быть распределены между многими экземплярами JVM, поэтому гораздо более мощный.

RMI выделяется, когда возникает потребность в разработке чего-то более сложного, чем чистая архитектура клиент-сервер. Очень легко распространять объекты по сети, позволяя всем клиентам общаться без необходимости явно устанавливать отдельные соединения.

Ответ 2

Основное различие между RPC и RMI заключается в том, что RMI включает объекты. Вместо того, чтобы вызывать процедуры удаленно с помощью прокси-функции, вместо этого мы используем прокси-объект.

Существует большая прозрачность с RMI, а именно из-за использования объектов, ссылок, наследования, полиморфизма и исключений, поскольку технология интегрирована в язык.

RMI также более продвинут, чем RPC, что позволяет использовать динамический вызов, где интерфейсы могут меняться во время выполнения и адаптация объектов, что обеспечивает дополнительный уровень абстракции.

Ответ 3

1. Подход:

RMI использует объектно-ориентированную парадигму, где пользователю необходимо знать объект и метод объекта, который ему нужно вызвать.

RPC не обрабатывает объекты. Скорее, он вызывает определенные подпрограммы, которые уже установлены.

2. Работа:

С помощью RPC вы получаете вызов процедуры, который очень похож на локальный. RPC обрабатывает сложности, связанные с передачей вызова от локального к удаленному компьютеру.

RMI делает то же самое, но RMI передает ссылку на объект и вызываемый метод.

RMI = RPC + Объектная ориентация

3. Лучше один:

RMI - лучший подход по сравнению с RPC, особенно с более крупными программами, поскольку он обеспечивает более чистый код, который легче идентифицировать, если что-то пойдет не так.

4. Примеры системы:

Системы RPC: SUN RPC, DCE RPC

Системы RMI: Java RMI, CORBA, Microsoft DCOM/COM +, SOAP (протокол простого доступа к объектам)

Ответ 4

Инициирование RMI или удаленного метода очень похож на RPC или Remote Процедура вызывается тем, что клиент оба отправляют объекты-прокси (или заглушки) в однако сервер тонкий разница в том, что клиентская сторона RPC вызывает ФУНКЦИИ через прокси-сервер функция и RMI вызывает МЕТОДЫчерез прокси-функцию. RMI считается немного выше, чем объектно-ориентированная версия RPC.

Из здесь.

Для получения дополнительной информации и примеров, смотрите здесь.

Ответ 5

Разница между RMI и RPC заключается в следующем:

  • RMI, поскольку имя указывает на вызов удаленного метода: он вызывает метод или объект. И
  • RPC вызывает функцию.

Ответ 6

Удаленный вызов процедур (RPC) - это взаимодействие между процессами, которое позволяет вызывать функцию в другом процессе, находящемся на локальной или удаленной машине.

Вызов удаленного метода (RMI) - это API, который реализует RPC в Java с поддержкой объектно-ориентированных парадигм.

  • Вы можете думать, что вызов RPC - это вызов процедуры C. RPC поддерживает примитивные типы данных, где в качестве параметров метода поддержки RMI/возвращаемых типов в качестве java-объектов.

  • RMI легко программировать в отличие от RPC. Вы можете думать о своей бизнес-логике с точки зрения объектов, а не о последовательности примитивных типов данных.

  • RPC является нейтральным языком, в отличие от RMI, который ограничен java

  • RMI немного медленнее RPC

Посмотрите на статью для реализации RPC в C

Ответ 7

Единственная реальная разница между RPC и RMI заключается в том, что в RMI есть объекты, которые связаны с функциями через прокси-функцию, мы вызываем методы через прокси-сервер.

Ответ 8

RPC - это старый протокол на основе C. Он может вызывать удаленную процедуру и сделать ее похожим на локальный вызов. RPC обрабатывает сложности передачи этого удаленного вызова на сервер и получения результата клиенту.

Java RMI также выполняет одно и то же, но немного по-другому. Он использует ссылки на удаленные объекты. Так что он делает то, что он отправляет ссылку на удаленный объект наряду с именем метода invoke.It лучше, потому что это приводит к более чистого кода в случае больших программ, а также распределение объектов по сети позволяет нескольким клиентам вызывать методы на сервере, а не устанавливать каждое соединение индивидуально.

Ответ 9

RMI или Remote Method Invokation очень похожи на вызов RPC или Remote Procedure, поскольку клиент отправляет прокси-объекты (или заглушки) на сервер, однако тонкая разница заключается в том, что RPC на стороне клиента вызывает функции FUNCTIONS через прокси-функцию, а RMI вызывает МЕТОДЫ через функцию прокси. RMI считается немного превосходящим, поскольку это объектно-ориентированная версия RPC.