Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lektsii_01-16.doc
Скачиваний:
6
Добавлен:
01.04.2025
Размер:
479.23 Кб
Скачать

Активизация объектов

После поступления запроса на сервер ORB пытается обнаружить объект, который сможет обработать полученный запрос. Если такой объект найти нельзя, то ORB формирует сообщение, что на сервере объект отсутствует. При этом используется механизм для активизации объекта «по требованию». По этому запросу приложение должно помочь представлению объекта с помощью специального менеджера исполнителей, который обработает запрос клиента и обеспечит связь с клиентом. POA допускает работу с несколькими методами оптимизации объектов. Каждый экземпляр POA соответствует набору исполнителей, а работа адаптеров контролируется с помощью политик (способ активизации объектов исполнителей, переносимых адаптером объектов).

Настраиваемый посредник (proxy) – посредник, выполняющий дополнительные возможности не только кодирование запроса, но и контроль и выравнивание нагрузки, кэширование атрибутов объектов. Используется для генерации кода с расширенными возможностями.

Описание схемы (см. Рис. Жц вызова при использовании orb)

КЛИЕНТ

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

СЕРВЕР

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

06-12-04

лк15

ORB на стороне сервера вызывает метод send_message() интерцептора сообщений сервера.

КЛИЕНТ

На стороне клиента интерцепторы выполняют такие же действия. ORB клиента вызывает метод receive_message() интерцептора сообщений. После этого возвращается запрос блокирующего вызова интерцептора запроса, что позволяет проверить интерцептору результаты запроса result(). Возвращается результат вызова метода на proxy. После чего клиент получает результаты выполнения запроса.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]