Брокер объектных запросов

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

В распределённых вычислениях брокер объектных запросов (ORB, object request broker) представляет собой промежуточное программное обеспечение, которое позволяет выполнять программные вызовы с одного компьютера на другой через компьютерную сеть, обеспечивая прозрачность местоположения посредством удаленных вызовов процедур. ORB способствуют взаимодействию распределённых объектных систем, позволяя строить такие системы, собирая вместе объекты от разных поставщиков, в то время как разные части взаимодействуют друг с другом через ORB.

Общее описание[править | править код]

ORB обрабатывают преобразование внутрипроцессных структур данных в структуру данных, пригодных для передачи в другой процесс, между процессами на одном сервере или по сети и обратно. Это называется маршалингом или сериализацией и демаршалингом/десериализацией соответственно. Помимо маршалинга данных, ORB часто предоставляют гораздо больше возможностей, таких как распределённые транзакции, службы каталогов или сервис планировщика реального времени. Некоторые ORB, такие как CORBA-совместимые системы, используют язык описания интерфейса для описания данных, которые должны передаваться при удалённых вызовах[1][2].

В объектно-ориентированных языках ORB фактически предоставляет структуру, которая позволяет использовать удаленные объекты по сети так же, как если бы они были локальными и являлись частью одного и того же процесса. На стороне клиента создаются и вызываются так называемые объекты-заглушки, которые служат единственной видимой и используемой в клиентском приложении частью. После вызова методов заглушки клиентский ORB выполняет маршалинг данных вызова и пересылает запрос на серверный ORB. На стороне сервера ORB находит целевой объект, выполняет запрошенную операцию и возвращает результаты. Получив результаты, клиентский ORB выполняет демаршалинг и передает результаты обратно в вызванную заглушку, делая их доступными для клиентского приложения. Весь процесс прозрачен, в результате удалённые объекты выглядят как локальные[1].

Примеры реализаций[править | править код]

Примечания[править | править код]

  1. 1 2 3 Object Request Brokers. IBM (5 ноября 2013).
  2. Overview of CORBA. wustl.edu (28 сентября 2006). Дата обращения: 24 октября 2021. Архивировано 31 мая 2018 года.