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

Жц объектов, участвующих во взаимодействии для реализации вызова.

Объекты CORBA.

Спецификация POA определяет объект CORBA как абстрактный элемент, обладающий собственным интерфейсом и реализацией.

С точки зрения клиента объект представлен ссылкой на него, которая инкапсулирует в себе интерфейс и сведения, идентифицирующие этот объект (свойства), а также все сведения, необходимые для обнаружения его реализаций.

События объекта CORBA:

  1. Создание объекта

Объекты CORBA создаются с помощью «фабрик» на языке IDL. Генерация кода на основе IDL создает коды заглушек (объект прокси – proxy) и заготовок (целый объект, скелет). Коды заглушек и заготовок представляют набор логических конструкций в форме исходного кода.

  1. Удаление объекта

Объект CORBA удаляется с помощью операции delete – удаление их интерфейса IDL. Иногда удаляют «фабрикой», которой их создает.

Исполнители.

Спецификация POA. Разделяют понятия абстрактного объекта CORBA и конкретного языка программирования, которые обеспечивают функциональность. С точки зрения сервера объект CORBA реализован исполнителем, который можно представить на языке программирования. ORB определяет, какой исполнитель должен использоваться для обработки входных запросов по соответствию между ключами CORBA и исполнителями входных запросов.

События исполнителя:

  1. Активизация.

Инкарнация – назначение исполнителю идентификатора объекта CORBA (или характеристика связи исполнителя и объекта CORBA). Инкарнация реализуется благодаря идентификатору объекта CORBA, по которому POA легко обнаруживает необходимый исполнитель. Один POA может соответствовать нескольким исполнителям. А исполнитель может представлять несколько POA.

Этрификация – разрушение соответствия между исполнителем и объектом CORBA.

В результате активизации исполнитель становится доступным для обработки запросов объектов CORBA. Объект активен. Иногда активизация завершается реализацией.

  1. Деактивизация.

Поиск после разъединения исполнителя и объекта CORBA.

Жизненный цикл объекта:

Связывание объекта CORBA и исполнителя с помощью идентификатора объекта осуществляется объектным адаптером, который должен предоставить все объектные интерфейсы, позволяющие выполнить связывание.

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

Именно объектный адаптер (POA) решает, каким образом должны взаимодействовать приложения и ORB для управления исполнителями и жизненным циклом объекта CORBA.

Политика – это способ активизации объектов.

Выделяют 2 вида связывания:

    1. Ранее связывание

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

    1. Позднее связывание

Создаётся по требованию в случае ошибки, которая возникает всякий раз, если отсутствует связывание между зарегистрированным целевым объектом и исполнителем. Вследствие чего ORB не может найти реализацию целевого объекта.

POA поддерживает средства управления ЖЦ исполнителей и объектов CORBA. Различные требования разных типов объектов CORBA (статические, изменяемые, хранение) требуют от брокера объектов POA специальных сложных методов поддержки.

См. рис 2.11

Механизмы (реализация политики потоков для одновременной обработки запросов)

  • Поток на объект

  • Поток на клиента

  • Поток на запрос

Различные политики назначения потоков связаны с различными ресурсами сервера.

Представление архитектуры POA.

ORB управляет исполнителями с помощью адаптера. Каждому ORB соответствует корневой POA.

POA может создавать вложенный POA с помощью метода create_POA(). Это единственный способ создания нового POA – приложение не может создавать самостоятельные реализации POA, но может определить политику реализации, что определяет поведение POA. Политика определяет поведение POA при активизации:

  1. Определение его ресурсов

  2. Управление идентификаторами объектов

  3. Назначение потоков

Связь POA с исполнителями (рис. 2.12).

Здесь определённый вид связи инкарнации. POA в соответствии с политикой сохраняет исполнителя, что необходимо для позднего связывания; реализуются 2 метода: 1) Activite_object() и 2) Create_refernce(), благодаря которому можно использовать позднее связывание.

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