Обзор архитектуры
Основные концепции CORBA, обсуждавшиеся до сих пор, должны быть близки тем разработчикам, кто хорошо знаком с шаблонами проектирования. Заглушки и скелеты являются посредниками (объектами, управляющими доступом к другим объектам). Сервисы, возвращающие объекты, являются фабриками (объектами, создающими объекты, но перекладывающими их реализацию на производные классы). В CORBA фабрики и посредники могут быть обнаружены повсюду. Те классы и объекты, которые применяют паттерны проектирования, скрывают от разработчиков детали реализации. Паттерны проектирования унифицируют проектные решения и терминологию. Изучение паттернов проектирования помогает разработчикам повторно использовать проекты, компонент, сервисы и структуры.
Брокер объектных запросов ( ORB ) - основной компонент CORBA. Все CORBA -совместимые объекты должны иметь брокер объектных запросов между ними и всеми, кто к ним обращается (рис. 7.1). Брокер объектных запросов должен иметься в CORBA -совместимой распределенной системе.
Рис. 7.1. Путь вызова от клиента к удаленному объекту
ORB можно рассматривать как коммутационную плату (или коммуникационную шину) распределенных систем. Что касается коммуникационной шины, то суть здесь заключается в том, что все объекты, использующие брокер объектных запросов, могут взаимодействовать с любыми другими объектами, подключенными через брокер объектных запросов. В чем преимущество использования брокеров объектных запросов? Брокеры объектных запросов представляют собой гибкую конструкцию, но какие все же они решают проблемы? На оба эти вопроса консорциум OMG дает ответ в Object Management Architecture (архитектуре управления объектами).
Типичная программная система призвана удовлетворять различные потребности. Унаследованные системы (то есть любые системы, разработанные и установленные ранее) обычно являются изолированными, сосредоточенными, и не предназначены для совместного использования информационных ресурсов. Они решают узкую задачу, даже если решение требует больших объемов данных. Со временем, по мере модификации систем, их модернизация обходится все дороже. За последние 30-40 лет эти системы стали практически несовместимы. Развитие аппаратных и программных средств, изменение способов ведения бизнеса приводили к появлению множества несовместимых систем, пока системные интеграторы не занялись проблемой их связи. Переход от частных решений к интеграции лишь подчеркнул необходимость осуществлять интеграцию не за счет дублирования усилий, а за счет новых решений. Консорциум OMG, вместе с компаниями-производителями, являющимися членами OMG, разработал Object Management Architecture (рис. 7.2).
Рис. 7.2. Эталонная модель архитектуры управления объектами (Object Management Architecture)
Object Management Architecture ( OMA ) - это эталонная архитектура распределенных систем, основанная на концепции брокера объектных запросов. Используя концепции объектно-ориентированных технологий, OMA определяет к использованию рабочее пространство, где объекты, по определению являющиеся общедоступными, открыты для использования любым другим объектом или сервисом посредством объектного брокера. Объектный брокер - это прозрачный коммуникационный механизм, обеспечивающий надежный обмен сообщениями между объектами независимо от их местоположения. OMA определяет абстракцию, которая скрывает тот факт, что различные системы применяют разные языки программирования или несовместимые версии одного и того же языка.
CORBA определяет правила функционирования брокера объектных запросов в условиях использования разных языков программирования. OMA определяет полиморфное рабочее пространство общих сервисов, которое выглядит однородным извне (со стороны API ), но может быть разнородным внутри.
Брокеры объектных запросов могут быть реализованы одним из двух способов: в виде библиотек или как процессы-демоны. Ни для клиента, ни для серванта средства реализации не имеют значения. Конструкция объекта брокера объектных запросов скрывает лежащую в ее основе реализацию. Обычно клиент использует брокер объектных запросов на основе библиотеки, а сервер использует ORBв виде процесса-демона. Это деталь реализации, решение о которой принимают администраторы систем. С позиции активного процесса ничего не меняется.
Брокер объектных запросов играет в OMA основную роль. Теперь мы рассмотрим, как клиент и сервант воспринимают брокер объектных запросов. Клиент взаимодействует с брокером объектных запросов одним из трех способов: посредством статической заглушки (создаваемой IDL -компилятором), динамического интерфейса (применяя API динамических вызовов CORBA ) или API брокера объектных запросов. Концептуально брокер объектных запросов взаимодействует с сервантом тремя способами: посредством статического скелета, динамического интерфейса или объектного адаптера серванта (что выглядит так, как если бы брокер объектных запросов взаимодействовал с сервантом напрямую). Сервант, обращающийся к другому серванту, становится клиентом и функционирует как клиент.
Наиболее прямолинейным способом взаимодействия с брокером объектных запросов является использование статических заглушек и скелетов. Они содержат код, необходимый для связи, и предоставляют возможность статического контроля типов на основе их IDL -описания. Динамические вызовы (и со стороны клиента, и со стороны серванта) требуют больших издержек, но являются более гибкими, так как позволяют разработчикам программно управлять вызовами удаленных объектов.
Та опосредованность, которая придает CORBAее силу, в случае прямых вызовов брокера объектных запросов теряется, и восстановить ее в процессе реализации системы бывает трудно. Клиент и сервант взаимодействуют с брокером объектных запросов, чтобы получить доступ к определенного вида операциям, осуществить которые можно только через брокер объектных запросов, - операциям с объектными ссылками и доступом к репозиториям интерфейсов и реализаций (двум информационным хранилищам метаданных). Низкоуровневые решения такого рода в CORBAтребуются только при реализации средств поддержки инфраструктуры, таких как драйверы и мосты. Рис. 7.3 иллюстрирует взаимодействие с объектным брокером.
Рис. 7.3. Структура интерфейса запросов ORB
Концепции CORBA, рассматривавшиеся ранее, касались объектных адаптеров - объектов, которые располагаются между клиентом и сервером, чтобы управлять доступом к распределенному объекту. Объектный адаптер действует как "соединитель" между клиентом и кодом серванта, который выполняется при вызове операции (брокер объектных запросов располагается между клиентом и объектным адаптером). До появления CORBA 3.0 стандартным объектным адаптером был Basic Object Adapter (базовый объектный адаптер), или BOA. BOAупрощал соединение клиента и сервера. В CORBA 3.0 был определен другой объектный адаптер, названный Portable Object Adapter ( POA- переносимый объектный адаптер). POA заменил BOA как более предпочтительный. BOA не соответствовал требованиям, которые предъявляют Internet -приложения. В то время, когда OMG впервые специфицировал BOA, то, что сейчас рассматривается как стандартная функциональность (т.е. возможность использования средств CORBA разных производителей), тогда не воспринималось как первоочередная задача.
Так же как Java вытесняет различные технологии, спецификация CORBA заменила BOA на POA.
POA служит многим целям, включая возможность отделить доступ к серванту от самого серванта. Потребность клиента в обслуживании означает, что ему нужны конкретные услуги в конкретное время. Для удовлетворения этой потребности несколько компонентов осуществляют совместные действия. Во-первых, у клиента есть объектная ссылка, представленная CORBA -объектом. В объектной ссылке CORBA -объект содержит информацию о местонахождении создавшего данный объект объектного адаптера. Объектный адаптер анализирует клиентский вызов, принимая решение, какой объект (или сервант) может обработать данный вызов, и соответствующим образом завершает вызов (основываясь на различных опциях конфигурации, задаваемых при создании объектного адаптера). Если клиент удерживает полученную им при первом подключении к серванту объектную ссылку в течение длительного периода времени и не нуждается в обращениях к этому серванту, то такое ожидание никак не скажется на самом серванте. Пострадает масштабируемость, превращая CORBAв неэффективное с точки зрения системной интеграции решение. Благодаря отделению серванта от клинических обращений к сервису различные обслуживающие объекты (контролируемые с помощью времени жизни объектов и паттернов активизации) могут обрабатывать вызовы методов, обращенные к сервису в целом. Последнее утверждение заключает в себе целый ряд аспектов. Опосредованность, достигаемая использованием POA, означает прозрачное решение этих вопросов.
CORBA не ограничивается использованием в приложениях с заранее известными межмодульными интерфейсами.
Статические заглушки, использующие Static Invocation Interface ( SII ), имеют жестко запрограммированные объектные типы, чтобы осуществлять проверку типов во время компиляции, тогда как динамически заглушки, использующие Dynamic Invocation Interface ( DII ), осуществляют проверку типов во время выполнения.
Сервисы CORBA ( CORBA services ) - это базовые сервисы, которые доступны всем объектам, подключенным к коммуникационной шине данного брокера объектных запросов. Так как брокер объектных запросов является ядром CORBA -системы, сервисы CORBA могут требовать для правильного функционирования его наличия. Всего имеется шестнадцать сервисов:
сервис имен ( Naming Service );
сервис управления событиями ( Event Management Service );
сервис жизненных циклов ( Life Cycle Service );
сервис устойчивых состояний ( Persistent State Service );
сервис транзакций ( Transaction Service );
сервис параллельного исполнения ( Concurrency Service );
сервис взаимоотношений ( Relationship Service );
сервис экспорта ( Externalization Service );
сервис запросов ( Query Service );
сервис лицензирования ( Licensing Service );
сервис управления ресурсами ( Property Service );
сервис времени ( Time Service );
сервис безопасности ( Security Service );
сервис уведомлений ( Notification Service );
сервис трейдинга ( Trader Service );
сервис коллекций ( Collections Service ).
Эти сервисы являются основными. Все сервисы CORBAимеют стандартные IDL -интерфейсы, которые описывают предлагаемые этими сервисами услуги. Назначение стандартных интерфейсов точно соответствует еще одной цели OMA: подключаемые сервисы должны иметь стандартные механизмы подключения.
- Вопросы к экзамену по дисциплине корпоративные ис (для гр. А -16-07) весна 2012
- Хозяйственная деятельность предприятий
- Задачи управления предприятием.
- Информационные ресурсы предприятия.
- Автоматизация управления бизнес-процессами.
- Назначение и свойства корпоративных ис.
- Системный подход к информатизации процессов управления.
- Структура кис, характеристика его компонентов.
- Обязательные требования к информационным системам
- Корпоративная информационная система как комплекс ис
- Методологии анализа бизнес – процессов в кис.
- Модель Захмана: основные элементы, характеристика компонентов.
- Классификация ис.
- Этапы проектирования кис.
- Особенности типового проектирования кис.
- Назначение и функции кис erp-систем.
- Функциональность и назначение crm-систем.
- Функциональность mrp-систем
- Назначение и функциональность mrpii – систем.
- Специфика формирования требований к кис.
- Архитектура кис и её виды.
- Многозвенная архитектура кис.
- Методы построения распределенных ис в архитектуре клиент-сервер.
- Стандарты открытых информационных систем
- Сетевые протоколы взаимодействия открытых систем osi.
- Удаленный вызов процедур и объектов.
- Основные компоненты технологии corba
- Обзор архитектуры
- Сравнительный анализ технологий dcom, corba.
- Особенности Интранет/Интранет-технологии построения кис.
- Основные свойства распределенных бд (по Дейту).
- Тиражирование (репликация) в распределенных ис.
- Методы управление распределенными транзакциями.
- Обеспечение отказоустойчивости
- Способы управления транзакциями в распределенных ис. Механизм двухфазной фиксации транзакций.
- Internet-технология как клиент – серверная технология. Понятие Web-сервиса, Web-приложения и Web-сайта.
- Компоненты и протоколы Web-сервиса.
- Olap-технологии в кис: назначение. Классификация задач olap в кис.
- Свойства olap-систем.
- Основные элементы многомерной модели данных. Пример.
- Основные операции над многомерной моделью данных. Примеры.
- Способы реализации olap-систем Реализации olap
- Эволюция доступа к источникам данных: ado. Net, Entity Framework
- Назначение и общая характеристика .Net-технологии.
- Архитектура Web-приложения в asp.Net
- Технология ado.Net, специфика доступа к удаленным данным.
- Объектная модель ado.Net. Характеристика и назначение основных объектов. Примеры
- Технология asp.Net. Методы доступа к удаленным данным.
- Подключение к источнику данных
- Объектная модель asp.Net. Характеристика и назначение основных объектов. Примеры.
- Компоненты asp. Примеры использования для доступа к различным источникам данных.
- Общая характеристика рынка программных продуктов кис.
- Анализ рынка программных продуктов кис
- Общая характеристика программных продуктов для кис компании Oracle
- Что такое лицензия Oracle.
- Лицензия на обновление программного обеспечения Oracle и поддержку (Software Update License & Support)
- Продление поддержки (Support Renewals)
- Лицензионные метрики (License Metrics)
- Многоядерные процессоры (Multi-core Processors)
- Общая характеристика программных продуктов для кис компании sap
- .Общая характеристика программных продуктов для кис компании baan
- Общая характеристика программных продуктов для кис компании Парус
- Общая характеристика программных продуктов для кис компании 1с: предприятие