- •Реализации трехуровневой архитектуры.
- •XXX Connection ClientDataSet
- •Технология com и dcom от Microsoft
- •Внедрение и связывание объектов — ole
- •Основные понятия com.
- •Процесс клиента
- •Удаленный компьютер
- •Технология corba (Common Object Request Broker Architecture).
- •Статический случай
- •Динамический случай
- •Сравнение технологий dcom и corba.
Статический случай
На языке программирования создаются описания интерфейсов для всех типов объектов, компилируются, чтобы получить код статического скелетона, который затем и линкуется с серверным приложением. Так как скелетон в этом случае обладает полной информацией обо всех операциях, поддерживаемых описываемым интерфейсом, включая количество и типы параметров, он помогает объектному адаптеру перенаправить запрос соответствующему серванту.
Адаптер POA поддерживает два типа статических сервантов.
Серванты, основанные на наследовании. Класс серванта наследуется от абстрактного класса скелетона.
Связанные серванты с использованием делегирования.Этот тип обычно используется, когда наследование невозможно, например, если необходимо множественное наследование, а язык программирования, на котором написано приложение, множественное наследование не поддерживает (Java). Делегирование – передача функциональности другому классу.
Динамический случай
Примером может служить односторонний мост к другим распределенным системам (в частности – СОМ, Сommon Object Model). Клиент СОRВА посылает запрос к объекту, реализованному на СОМ. Когда к системе присоединяются интерфейсы СОМ нового типа, клиенты должны иметь возможность работать с ними без остановки системы и перекомпиляции. Интерфейс Динамических Скелетонов поддерживает такие ситуации и позволяет сервантам в реальном времени определять детали интерфейса и операций, вызывающих конкретный объект. Обычно используется Репозитарий Интерфейсов, который «на лету» предоставляет подробности динамических интерфейсов.
В отличие от Базового Адаптера, в Портируемом Объектном Адаптере предусмотрена многопотоковость. В этой области POA предоставляет следующие возможности.
Для каждого запроса создается отдельный поток.
Для каждого объекта создается отдельный поток.
Для всех запросов создается один общий поток.
Создается пул потоков фиксированного размера для обработки всех запросов.
Выбор конкретной потоковой политики зависит от программных приложений распределенной среды.
На более высоком уровне ORB CORBA 3 предоставляет две модели многопоточности.
ОRВ управляемая – сам ОRВ выбирает подходящую модель работы с потоками. Обработка запросов ведется параллельно.
Однопотоковая модель – гарантирует, что все запросы для всех объектов в РОА будут обрабатываться в одном потоке. Обработка запросов ведется последовательно.
Выбор той или иной модели POA должен быть сделан только после тщательного анализа создаваемой распределенной среды, целей и функций разрабатываемой системы, доступного оборудования. Но зато сколько новых элементов! Среди них менеджеры сервантов, политики РОА, гибкость присвоения индентификатора объекту, устойчивые и временные объекты, возможность хранения связей сервант-объект в Карте Активных Объектов. Можно воплотить любой воздушный замок.
http://kunegin.narod.ru/ref2/corba/index.htm
http://kunegin.narod.ru/ref2/corba/adapter.htm
Т.к. в рамках технологии CORBAданные, которыми обмениваются клиент и сервер рассматриваются как цепочки байтов, клиент должен поместить в буфер запроса свой авторизованный ключ в системах, защищенных от посторонних клиентов.
В CORBAиспользуется язык определения интерфейсаIDL, похожий на язык С++. После описания интерфейса в терминах этого языка, компиляторIDLавтоматически создает корешокStubи каркасskeleton. Обмен информацией об интерфейсе между разработчиками программ осуществляется в терминах языка высокого уровняIDL, в то время как компиляторIDLпереводит текст описания интерфейса в команды конкретного компилятора. В результате достигается высокая степень независимости обмена данных от аппаратных и программных средств.
Для реализации CORBAв сетевом окружении клиента должен существовать хотя бы один умный агент. Если обмен данными осуществляется в локальной сети, то умный агент устанавливается на машину сSQL-сервером, а если обмен данными идёт черезInternet, то умный агент устанавливается в один из узлов глобальной сети. При создании сервера осуществляется автоматическая регистрация объектов в одном или нескольких умных агентах. Т.о. умный агент знает, по каким сетевым адресам находятся сервера. Это повышает надежность системы, т.к. при сбое на одном из серверовSmartAgentможет повторить запрос и при повторном сбое переключиться на другой сервер.
Глобальная архитектура системы, построенная по технологии CORBA, восходит к модели, построенной группой управления объектамиOMG(ObjectManagementGroup), содержит 4 вида архитектурных элементов, связанных с брокером объектных запросов.
Прикладные объекты
Горизонтальные средства
Вертикальные средства
Общие объектные службы
Брокер объектных запросов образует ядро любой распределенной системы, использующей технологию CORBA. Он отвечает за поддержание связи между объектами и клиентом, решая проблемы, связанные с распределенностью и однородностью системы.
Кроме прикладных объектов, которые являются частями конкретного приложения, в модель входят т.н. средства CORBA(CORBAfacilities). Это внутренние службыCORBAи делятся они надве группы:
Горизонтальные средства – высокоуровневые службы внешнего назначения, которые не зависят от прикладной области программ, использующих эти службы, следовательно они поддерживают пользовательский интерфейс, управление информацией, системой и задачами.
Вертикальный средства – высокоуровневые службы, предназначенные для конкретных предметных областей: электронная коммерция, банковское дело и т.д.
Основной целью OMGбыло создание совместимости различных платформ в распределенных системах.