Jump to content

Распределенная объектная связь

(Перенаправлено с удаленного вызова метода )

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

Заглушки классов и скелеты

[ редактировать ]

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

В RMI заглушка (которая является битом на клиенте) определяется программистом как интерфейс . rmic (компилятор rmi) использует это для создания заглушки класса. Заглушка выполняет проверку типа. Скелет определен в классе, который реализует заглушку интерфейса. [1]

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

Более подробно общение состоит из нескольких этапов:

  1. вызывающий абонент вызывает локальную процедуру, реализованную заглушкой
  2. заглушек тип вызова маршалов- и входные аргументы в сообщение запроса
  3. клиентская заглушка отправляет сообщение по сети на сервер и блокирует текущий поток выполнения
  4. скелет сервера получает сообщение запроса из сети
  5. скелет распаковывает тип вызова из сообщения запроса и ищет процедуру на вызываемом объекте
  6. скелет демаршалла аргументов процедуры
  7. скелет выполняет процедуру над вызываемым объектом
  8. вызываемый объект выполняет вычисление и возвращает результат
  9. скелет упаковывает выходные аргументы в ответное сообщение
  10. скелет отправляет сообщение по сети обратно клиенту
  11. клиентская заглушка получает ответное сообщение из сети
  12. заглушка распаковывает выходные аргументы из сообщения
  13. заглушка передает выходные аргументы вызывающему объекту, освобождает поток выполнения , а затем вызывающий объект продолжает выполнение.

Преимущество этой архитектуры заключается в том, что ни вызывающий объект, ни вызываемый объект не должны реализовывать логику, связанную с сетью. Эта функциональность, обеспечивающая надежный канал связи в сети, перенесена на уровень заглушки и скелета .

Заглушка

[ редактировать ]

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

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

Заглушка отвечает за:

Объект на стороне сервера, участвующий во взаимодействии распределенных объектов, известен как скелет (или заглушка; термин здесь избегается).

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

Скелет отвечает за:

Протоколы, использующие подход «заглушка/скелет»

[ редактировать ]

См. также

[ редактировать ]
  1. ^ «Введение в удаленный вызов методов Java (RMI)» . www-itec.uni-klu.ac.at . Архивировано из оригинала 26 марта 2002 г.
  2. ^ MSDN: Подробности сортировки.
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 95b82988d6ac64a524c3e478c73477cb__1707014460
URL1:https://arc.ask3.ru/arc/aa/95/cb/95b82988d6ac64a524c3e478c73477cb.html
Заголовок, (Title) документа по адресу, URL1:
Distributed object communication - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)