Описание схемы

(см. рис. ЖЦ вызова при использовании ORB)

КЛИЕНТ

Брокер на клиенте: клиент обращается к proxy. При этом обращение идёт к интерцептору запроса на стороне клиента. Брокер вызывает метод client_invoke(). На первом установленном интерцепторе вызов, блокирующий ответ – после обработки запрос. Если другие интерцепторы на уровне запросов отсутствуют, то брокер продолжает работу, вызвав 1-й интерцептор сообщений с помощью метода send_message(). Брокер продолжает работу с помощью send_message и передав ему сообщение. Интерцептор продолжает ЖЦ запроса, воспользовавшись функцией send, которая возвращает результат до завершения запроса. Затем брокер должен передать запрос в форме сообщения целевого объекта сервера.

СЕРВЕР

На стороне сервера брокер прочитывает запрос и приступает к его обработке с помощью метода receive_message() на 1-ом установленном интерцепторе сообщений. Ключ объекта является основой для поиска имени адаптера. Ключ объекта, который использует брокер для идентификации целевого объекта, должен содержать сведения об имени брокера ORB со стороны сервера – POA. После определения нужного POA (соответствие экземпляра) осуществляется поиск объекта, который зависит от назначенной политики активизирующего объекта. Если объект обнаружен, брокер продолжает обрабатывать запрос, вызывая метод farget_invoke() на 1-ом установленном интерцепторе запросов. Ессли установлен один интерцептор, то запрос дошел до целевого объекта. После того, как объект завершил обработку запроса, возвращается результат вызова invoke интерцептора запроса. После чего интерцептор сможет проверить результат выполнения операции, вызвав метод result() запрошенного объекта, прежде чем передать запрошенные результаты ORB.