Добавлен: 30.04.2023
Просмотров: 337
Скачиваний: 4
(Transaction Service) Позволяет организовывать двухфазное завершение транзакций для компонентов, при этом имеется возможность работать не только с простыми, но и с вложенными транзакциями.
(Relationship Service) Создает динамические ассоциации между компонентами, не связанными друг с другом.
(Extemalization Service) Обеспечивает стандартный способ для передачи данных компоненту и обратно, а также для пересылки самих компонентов по сети.
(Query Service) Позволяет выполнять запросы для объектов, в частности, находить объекты по свойствам.
(Licensing Service) Позволяет отслеживать использование компонентов с целью получения платы.
(Properties Service) Предоставляет доступ к свойствам компонентов, позволяет менять состав и значение свойств.
(Time Service) Предоставляет интерфейсы для синхронизации часов в распределенной среде и обеспечивает возможность управлять событиями, привязанными к астрономическому времени.
(Security Service) Позволяет поддерживать инфраструктуру для обеспечения безопасности системы.
(Trader Service) Позволяет опубликовывать предлагаемые сервисы и находить их.
(Collection Service) Позволяет создавать контейнеры, в которые можно помещать компоненты и формировать из них контейнеры.
Средства CORBA. Средства CORBA можно разделить на вертикальные, которые предназначены для того, чтобы поддерживать определенные стороны рынка и горизонтальные, которые характеризуют интерфейсы, не зависящие от предметной области.
Горизонтальные включают средства: USER interface (Интерфейс пользователя); Information management (Информационный менеджмент). Воздействие на систему предполагает большое количество утилит, которые реализуют функции системного администрирования. Управление задачами состоит из средств: управления потоками работ, программных агентов, контроля правил, автоматизации.
Обеспечение безопасности CORBA. Систему, которую обеспечивает безопасность спроектировали так, чтобы она не могла помешать пользователю во время создания приложений. В теории, объекты, которые вы создали должны контактировать с ORB (который обеспечивает безопасность) без вашего участия. ORB предусматривает все необходимое для объектов, которые не знают о существовании сервиса безопасности (Security Service) и даже не имеют соответствующих интерфейсов. Это позволяет объектам легко пересекать границы сред, использующих различные механизмы обеспечения безопасности. [8]
Совокупность особенностей CORBA Security Service гарантирует в распределенных средах безопасность уровня B2, близкого к высшему уровню защиты. Чтобы выполнить такой важный уровень при работе в сети, следует составлять идентификатор с каждым клиентом. Для всех ресурсов был создан список прав доступа, обеспечены средства аудита и невозможность передачи прав доступа другим пользователям. Спецификация CORBA позволяет производителям ПО при необходимости снижать уровень безопасности системы. Также CORBA определяет несколько стандартных профилей безопасности для контактирования между различными ORB.
Под «обеспечением безопасности» в CORBA подразумевается решение (или попытка решения) очень многих проблем:
идентификация пользователя;
делегирование привилегий при последовательном вызове объектами методов друг друга;
предоставление прав доступа к ресурсам;
обеспечение аудита;
обеспечение юридической достоверности истории вызовов объектами друг друга;
кодирование передаваемых данных (если необходимо) и взаимодействие с промышленными стандартами кодирования;
создание и администрирование профилей безопасности.
2.2. Сервисы CORBA
Сервисы CORBA - это широкодоступные объектные сервисы, которые пригодны для использования всеми объектами CORBA.
Ранее эти сервисы были известны как Общие Объектные Сервисы, и первоначально определялись в Обобщенной Спецификации Объектных Служб (COSS - Common Object Services Specification).
Теперь эти сервисы входят в сервисы CORBA, список которых включает:
Уведомление о событии
Устойчивость
Жизненные циклы
Присваивание имен
Управление параллелизмом
Связи
Транзакции
Совокупности
Экспорт
Время
Защищенность
Служба запросов
Лицензирование
Trading
Изменение управления
Свойства
Реальной альтернативой использования CORBA на текущий момент является DCOM фирмы Microsoft. Этой технологии мы посвятили уже немало статей, что может создать впечатление нашей глубокой приверженности именно DCOM. Однако это не так, и в дальнейшем мы планируем опубликовать материалы, посвященные CORBA, опираясь на ваши пожелания. Кстати, мы будем рады узнать ваше мнение о публикуемых материалах.
В последние 2-3 года резко возрос интерес к так называемым распределенным системам. Под распределенными системами обычно понимают программные комплексы, составные части которых функционируют на разных компьютерах в сети. Эти части взаимодействуют друг с другом, используя ту или иную технологию различного уровня от непосредственного использования сокетов TCP/IP до технологий с высоким уровнем абстракции, таких, как RMI или
Рост популярности распределенных систем вызван существенным ужесточением требований, предъявляемых заказчиком к современным программным продуктам. Пожалуй, важнейшими из этих требований являются следующие:
Обеспечение масштабируемости систем, т.е. способности эффективно обслуживать как малое, так и очень большое количество клиентов одновременно.
Надежность создаваемых приложений. Программный комплекс должен быть устойчив не только к ошибкам пользователей (это определяется главным образом качеством клиентских приложений), но и к сбоям в системе коммуникаций. Надежность подразумевает использование транзакций, т.е. гарантированного перехода системы в процессе функционирования из одного устойчивого и достоверного состояния в другое.
Возможность непрерывной работы в течение длительного времени (так называемый режим 24x7, т.е. режим круглосуточной работы в течение недель и месяцев). [4]
Высокий уровень безопасности системы, под которой понимается не только контроль доступности тех или иных ресурсов системы и защищенность информации на всех этапах функционирования, но и отслеживание выполняемых действий с высокой степенью достоверности.
Высокая скорость разработки приложений и простота их сопровождения и модификации с использованием программистов средней квалификации.
Оказалось, что обеспечить соответствие этим требованиям, используя традиционные технологии а именно, двухзвенные системы "клиент-сервер", в которых в качестве серверов выступают системы управления базами данных, почти невозможно.
Заметим, что далеко не для всех приложений вышеперечисленные требования являются существенными. Легко представить распределенную систему, которая функционирует на небольшом (до 100) количестве компьютеров, работающих в локальной сети, где нет проблем с перезапуском одного или двух-трех серверов в случае необходимости, а главными задачами, для решения которых используются распределенные технологии, являются задачи использования функциональности нескольких стандартных серверов приложений (например, текстовых процессоров, броузеров и электронных таблиц) в интересах клиентских задач. Необходимо иметь в виду, что термин "распределенные системы" относится к огромному числу задач самого разного класса.
Данный обзор содержит сравнительный анализ двух наиболее популярных и комплексных систем создания распределенных приложений, а именно, CORBA консорциума OMG и COM (DCOM, COM+) фирмы Microsoft. Этот обзор предназначен главным образом для менеджеров проектов, руководителей информационных служб и др., т.е. для тех, кому приходится принимать ответственные, "стратегические" решения. Вследствие этого, в нем будут отсутствовать чисто технические аспекты обоих технологий, которые интересны только для разработчиков.
Кроме того, при написании обзора не ставилась задача сделать окончательный вывод типа "... таким образом, CORBA (COM), бесспорно, лучше, чем COM (CORBA)". Связано это не с модной в наше время "политкорректностью" или отсутствием у автора своей точки зрения по этому вопросу. Дело даже не в том, что существуют определенные трудности с формализацией такого сравнения я мог бы представить результаты сравнительных анализов, в которых используются численные оценки (баллы), выставленные экспертами, весовые коэффициенты и прочее, что придает отчету серьезный и весомый вид. Дело в том, что COM и CORBA можно сравнивать только с учетом определенных допущений. Отказ от таких допущений легко позволяет получить какой угодно результат. Вот эти допущения:
CORBA, в отличие от COM’а, является концепцией, а не ее реализацией. Когда мы говорим "COM", то понимаем под этим скорее набор конкретных средств элементов операционной системы, библиотек, утилит и т.п., являющихся составной частью того, что называется Microsoft Windows. Под термином "CORBA" понимается именно сложная и развитая концепция, сформулированная на уровне специального языка описаний IDL.
Реализации же этой концепции могут сильно отличаться друг от друга по различным критериям, наиболее важным в том или другом случае. Inprise/Corel VisiBroker и Application Server, BEA WebLogic, Iona Orbix, Oracle Application Server и "картриджи" Oracle, IBM BOSS все эти продукты используют те или иные возможности CORBA. Технология Sun Enterpise JavaBeans создана поверх CORBA и использует такие ее возможности, как удаленный вызов объектов, службу имен, управление транзакциями. Реализация EJB фирмы Inprise связано с CORBA еще более тесным образом. Мы будем сравнивать COM и CORBA именно как концепции создания распределенных систем, а не как ту или иную их реализацию. [1]
При работе с реальным проектом необходимо учитывать область применения той или иной технологии. COM (как цельное и комплексное решение) способен функционировать только под Windows NT/Windows2000. Рассуждения о переносе COM на другие операционные системы в настоящий момент носят скорее рекламный характер. Ни компонентная модель COM (т.е. ActiveX), ни монитор транзакций (Microsoft Transaction Server, MTS) не способны работать нигде, кроме Windows, и сама Microsoft не проявляет никакой активности в этом напрвлении (вопросами переноса тех или иных элементов COM на другие платформы занимается консорциум Open Group). CORBA является многоплатформенным решением просто по определению.
Помимо чисто технологических аспектов, при принятии решения необходимо оценить затраты на закупку необходимого программного обеспечения, его сопровождения и обучение персонала. COM (в отличие от CORBA) официально является бесплатной технологией. Вы получаете все необходимое, просто приобретя, например, Windows NT Server. (Кстати, сам факт конкуренции дорогостоящей технологии с "аналогичной", но бесплатной, многое говорит об их технических возможностях).
Наличие готовых серверов приложений, пригодных для решения вашей задачи. Если Вы можете решить свои проблемы, используя функциональность Microsoft Office, то ничего лучше COM вы, естественно, не найдете.
Таким образом, главной задачей настоящего обзора является попытка помочь руководителю того или иного уровня принять квалифицированное решение в каждом конкретном случае. Поскольку и CORBA, и COM позиционируются соответственно OMG и Microsoft как универсальные технологии создания распределенных систем, мы будем оценивать и сравнивать их именно с этой точки зрения. Предполагается, что для проекта используется платформа Windows (в противном случае нечего рассматривать COM) и имеется достаточно средств для закупки основных стандартных частей той или иной реализации (иначе обсуждение CORBA теряет смысл).
ЗАКЛЮЧЕНИЕ
Организация среды цифрового производства может быть ориентирована на использование различных типов клиент-серверных архитектур. На практике наиболее часто формируются двух- или трехслойные клиент-серверные архитектуры.
Так, например, двухслойная клиент-серверная архитектура не имеет отдельно выделенных средств разработки приложений. При использовании подобной архитектуры каждый клиент должен иметь значительные вычислительные мощности. Подобное требование является основным недостатком двухслойной клиент-серверной архитектуры, т.к. его выполнение приводит к дополнительным затратам.
Это касается, как инвестиционных затрат, связанных с приобретением дорогостоящей вычислительной техники, так и текущих, обусловленных необходимостью поддержания безотказной работы каждого элемента информационной системы. В случае использования трехслойной архитектуры решаемые задачи структурируются.
При этом весь спектр задач разделяется на задачи, связанные с визуальным представлением информации, и задачи бизнес-логики. В трехслойной архитектуре задачи бизнес-логики решаются на уровне промежуточного слоя.
Подобный подход обеспечивает централизацию расположения бизнес-логики и ее концентрацию в одном месте. Кроме того, удаление бизнес-логики от клиента повышает эффективность обработки информации, формируя ряд преимуществ подобной архитектуры. Во-первых, бизнес логика обрабатывается в непосредственной близости к слою бизнес-данных. В этом случае эффективность (в частности, производительность) решения задач не зависит от расположения клиентов. Во- вторых, существенно увеличиваются возможности масштабирования системы, построенной с использованием трехслойной клиент-серверной архитектуры. Это преимущество становится особенно актуальным при добавлении в систему новых серверов промежуточного слоя, необходимых для выполнения запросов вновь добавляемых клиентов. В-третьих, подобная архитектура создает слой между приложениями клиентского слоя и базами данных слоя данных
Нужно отметить, что архитектура CORBA нацелена на достижение целей разработки прикладных систем:
обеспечение систем функционалом, находящихся в условиях информационной и реализационной неоднородности, а также распределенности и автономности информационных ресурсов;
интеграция;
реинженерия;
миграция унаследованных;