Брокер объектных запросов
В распределённых вычислениях брокер объектных запросов (ORB, object requet broker) представляет собой промежуточное программное обеспечение, которое позволяет выполнять программные вызовы с одного компьютера на другой через компьютерную сеть, обеспечивая прозрачность местоположения посредством удаленных вызовов процедур. ORB способствуют взаимодействию распределённых объектных систем, позволяя строить такие системы, собирая вместе объекты от разных поставщиков, в то время как разные части взаимодействуют друг с другом через ORB.
Общее описание
ORB обрабатывают преобразование внутрипроцессных структур данных в структуру данных, пригодных для передачи в другой процесс, между процессами на одном сервере или по сети и обратно. Это называется маршалингом или сериализацией и демаршалингом/десериализацией соответственно. Помимо маршалинга данных, ORB часто предоставляют гораздо больше возможностей, таких как распределённые транзакции, службы каталогов или сервис планировщика реального времени. Некоторые ORB, такие как CORBA-совместимые системы, используют язык описания интерфейса для описания данных, которые должны передаваться при удалённых вызовах[1][2].
В объектно-ориентированных языках ORB фактически предоставляет структуру, которая позволяет использовать удаленные объекты по сети так же, как если бы они были локальными и являлись частью одного и того же процесса. На стороне клиента создаются и вызываются так называемые объекты-заглушки, которые служат единственной видимой и используемой в клиентском приложении частью. После вызова методов заглушки клиентский ORB выполняет маршалинг данных вызова и пересылает запрос на серверный ORB. На стороне сервера ORB находит целевой объект, выполняет запрошенную операцию и возвращает результаты. Получив результаты, клиентский ORB выполняет демаршалинг и передает результаты обратно в вызванную заглушку, делая их доступными для клиентского приложения. Весь процесс прозрачен, в результате удалённые объекты выглядят как локальные[1].
Примеры реализаций
- CORBA — Common Object Request Broker Architecture.
- ICE — Internet Communications Engine
- .NET Remoting — объектная библиотека в составе Microsoft .NET Framework
- Windows Communication Foundation (WCF)
- ORBexpress — брокер реального времени от компании Objective Interface Systems
- Orbix — реализация объектного брокера от компании IONA Technologies
- DCOM — Distributed Component Object Model от Microsoft
- RMI — программный интерфейс вызова удалённых методов в языке Java.
- ORBit — open source объектный брокер CORBA, используемый в GNOME
- ACE ORB — ещё одна реализация брокера CORBA от Distributed Object Computing (DOC) Group
- omniORB — ещё один свободный брокер на базе стандарта CORBA ORB[1]
Примечания
- ↑ 1,0 1,1 1,2 Object Request Brokers . IBM (5 ноября 2013).
- ↑ Overview of CORBA . wustl.edu (28 сентября 2006). Дата обращения: 24 октября 2021. Архивировано 31 мая 2018 года.