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

Лк14

29-11-04

Статического метода.

Технология вызова при использовании

 

На стороне клиента используются объекты-посредники (Proxy), которые выступают в роли представителей удалённых целевых объектов. Эти объекты содержат достаточно сведений, необходимых для отправления запросов удалённым целевым объектам, а также сведения о сетевых адресах исполнителей, № портов и др.

Объект proxy также обеспечивает доступ к целевым объектам с помощью стандартных типов языка программирования. Так программный код заглушки (stub) представляет эквивалент интерфейса на языке IDL на объектно-ориентированном языке программирования (С++).

Объекты proxy содержат достаточно сведений, необходимые для отправления запросов удаленным целевым объектам, а также сведения о сетевых адресах, № портов целевого объекта.

Ключ объекта определяет объект CORBA в конечной точке соединения (соединения с исполнителем). Он содержит имя POA (переносит объект адаптера), с помощью которого достигается реализация целевого объекта.

 

1) Код заглушки (proxy), сгенерирован на объекте посреднике (proxy), отвечает за маршалинг аргументов запросов. Маршалинг – процесс создания сообщения для удаленного вызова, чтобы ORB клиента смог отправить сообщение серверу.

2) Шаг в жизненном цикле вызова. ORB посылает сообщения серверу (условный объект) с помощью коммуникационной магистрали.

3) ORB сервера прочитает полученное сообщение и передаст его коду программы-заготовки для демаршалинга запроса. Демаршалинг (демаршализация) – распаковка сообщения.

4) Серверный stub (заготовка) вызывает соответствующий метод на основании информации сообщения

5) Серверный stub (заготовка) создает сообщение на основе результатов вызова серверного метода.

6) Серверный stub (заготовка) посылает сообщение (результат) клиенту stub (заглушки) с помощью ORB и коммуникационной магистрали.

7) Клиент stub получает сообщение-результат, распаковывает его и передает клиенту.

Существует целый ряд характеристик, критериев вызова (управление вызовом):

è Контроль вызова

è Обработка сведений о содержании запроса

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

è Назначение потоков для обработки вызовов на сервере

è Объединение и перенаправление запросов

 

Контроль вызова.

Службы CORBA или клиент/серверное приложение может вмешаться в работу ORB и даже попросить прервать вызов как в точках исходящих запросов, так и приходящих ответов на стороне клиента и сервера.

Точки называются, где возможно прерывание:

è Уровень объектов запросов, который предоставляет доступ к атрибутам запроса: точка назначения, имя действия, аргументы.

è Уровень буфера сообщений, который содержит кодированную версию запроса, в котором все аргументы уже раскрыты.

Контролировать вызов надо для контроля прав доступа, шифрования, результатов шифрования, захвата сведений о других важных событиях.

Для реализации контроля вызова в CORBA3 была представлена концепция интерцепторов.

Интерцептор – управляющая программа, которая предназначена для управления ЖЦ вызова как на стороне клиента, так и сервера. Позволяет контролировать обработку запросов и ответов. На уровне запросов – структурированный запрос. На уровне ответов – сообщение.

 

Содержание запросов.

Во многих случаях необходимо передать вместе с запросом дополнительные сведения. Так, например, служба транзакции может передавать вместе с запросом сведения о транзакциях, чтобы убедиться в том, что все сведения на сервере после обработки транзакции были обновлены.

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

В соответствии с POA служебные сведения содержат свой собственный идентификационный код и некоторые данные, представленные в виде последовательности октетов.

 

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

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