Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
5fan_ru_Распределенные информационные системы.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
3.05 Mб
Скачать

Достоинства orb

В теории, CORBA представляется как лучшая клиент/сервер middleware-система, но на практике она хороша лишь настолько, насколько хороши продукты, ее реализующие. К основным коммерческим ORB относятся: Orbix от фирмы IONA Technologies; DSOM от IBM; ObjectBroker от Digital; JOE от Sun; Visibroker от Visigenic и Netscape; ORB+ от HP.

Небольшой список достоинств, которыми обладает каждая CORBA ORB:

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

  • Отображение в языки высокого уровня. CORBA ORB позволяет вызывать методы у серверных компонент используя любой из некоторого списка языков высокого уровня — C, C++, SmallTalk, Java и Ada. Совершенно неважно, на каком языке написаны объекты. CORBA отделяет интерфейсы от реализации и предоставляет языково-независимые типы данных, что позволяет осуществлять вызов методов, минуя границы какого-то конкретного языка программирования и конкретной операционной системы.

  • Само-описывающаяся система. С помощью своих метаданных, CORBA позволяет описывать интерфейс любого сервера, известного системе. Каждая CORBA ORB должна поддерживать Репозитарий Интерфейсов, который хранит необходимую информацию, описывающую синтаксис интерфейсов, поддерживаемых серверами. В своей работе клиенты используют эти метаданные для осуществления вызовов к серверам.

  • Прозрачность. ORB может выполняться как сам по себе (например, на портативном компьютере), так и в окружении других ORB, с которыми она взаимодействует путем CORBA 2.0 IIOP (Internet Inter-ORB Protocol) протокола. ORB может осуществлять меж-объектное взаимодействие и для одного процесса, и для нескольких процессов, выполняющихся на одной машине, и для процессов, чье выполнение происходит в сети, под разными операционными системами. Реализация этих взаимодействий не затрагивает сами объекты. В общих чертах, при использовании технологии CORBA, разработчик не должен беспокоиться ни о таких вещах как расположение серверов, запуск (активирование) объектов, выравнивание размера переменных в зависимости от платформы и операционной системы, ни и о том, как осуществляется передача сообщений. Решение всех этих задач берет на себя продукт, поддерживающий стандарт CORBA.

  • Встроенная безопасность. Все свои запросы ORB дополняет некоторой контекстной информацией которая обеспечивает сохранность данных.

  • Полиморфизм при вызове методов. Как уже говорилось, ORB не просто вызывает удаленный метод — ORB вызывает метод на удаленном объекте. То есть выполнение одних и тех же функций на разных объектах будет приводить к различным действиям, в зависимости от типа объекта.

Выводы. Достоинства и недостатки использования corba

Достоинства

  • Платформенная независимость

  • Языковая независимость

  • Динамические вызовы

  • Динамическое обнаружение объектов

  • Масштабируемость

  • CORBA-службы

  • Широкая индустриальная поддержка

Недостатки

  • Нет передачи параметров `по значению'

  • Отсутствует динамическая загрузка компонент-переходников

  • Нет именования через URL

3.3. Модели распределенных объектов Microsoft COM, DCOM, COM+, .NET

Альтернатива модели CORBA – набор моделей объектов, разработанных для Microsoft Windows.

Промежуточные среды Microsoft Windows

1. Компонентная модель COM (Component Object Model) является наследником средств динамического связывания приложений DDE (Dynamic Data Exchange), имевшихся еще в самых первых версиях Microsoft Windows. Она позволяет разбить приложение, работающее на отдельном ПК, на компоненты, характеризуемые четко описанными интерфейсами. Таким образом, с помощью этой модели можно организовать распределенную систему в рамках одного ПК. Появилась в Windows 95.

2. Распределенная компонентная модель DCOM (Distributed Component Object Model) - расширение СОМ до уровня сетевых приложений и включает в себя среду распределенных вычислений DCE (Distributed Computing Environment) и механизм удаленного вызова процедур (RPC — Remote Procedure Calling).

3. Модель СOM+ - расширение DCOM возможностями распределенной обработки транзакций (MTS). Предназначена для создания систем, распределенных в локальной сети. Основной целью разработки среды COM+ было создание инфраструктуры для разработки распределенных систем автоматизации предприятия. Появилась в Windows 2000.

COM+/MTS = DCOM + MTS – совместное использование DCOM и MTS (Microsoft Transaction Server).

Эти модели предшествовали появлению .Net Framework.

3.3.1 Модель COM (Component Object Model)

Компонент - это хранилище (в виде DLL или EXE файла) для одного или нескольких классов. Все, что знает программа-клиент о классе, это его уникальный идентификатор и один или несколько интерфейсов, которые обеспечивают доступ к реализованным данным классом методам. Допускается реализация компонента и программы-клиента на разных языках (Visual C++, Visual Basic). В реестре системы сохраняется информация о местоположении компонента, который содержит данный класс. Это позволяет системе прозрачно для клиента перенаправлять вызовы методов к нужному компоненту и возвращать результаты.

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

  • независимость от языка программирования

  • прозрачность местоположения сервера для клиента.

Определение. Модель СОМ (Component Object Model) или ее еще называют Модель многокомпонентных объектов – это программная модель, которая определяет набор правил, по которым должны строиться компоненты. Только при соблюдении этих правил компоненты обеспечивают корректное и надежное функционирование.

Модель СОМ состоит из набора стандартных функций и спецификаций (стандартов обмена, стандартов вызова функций), которые обеспечивают разработку программ.

Правила определяют стандартный внутренний интерфейс между объектами и методику взаимодействия объектов, а именно – вызов функций и обмен данными между объектами.

Модель СОМ построена по принципу «клиент-сервер».

Клиентом является программа, которая вызывает функции компонента или использует его данные.

Серверы объектов СОМ

Каждый объект СОМ реализован внутри некоторого сервера, содержащего код, который реализует методы интерфейсов объекта, а также контролирует данные объекта, пока тот активен. Один сервер может поддерживать (и зачастую поддерживает) более одного объекта некоторого класса и даже поддерживать несколько классов. Рассмотрим три основные типа серверов:

  • Сервер "в процессе" (in-process): объекты реализуются в динамически подключаемой библиотеке, и, таким образом, исполняются в том же процессе, что и клиент.

  • Локальный сервер (out-process): объекты реализованы в отдельном процессе, исполняющемся на той же машине, что и клиент.

  • Удаленный сервер (remote server) объекты реализованы в DLL либо в отдельном процессе, которые расположены на удаленном по отношению к клиенту компьютере.

Возможность создания удаленных серверов поддерживает Распределенная СОМ (DCOM).

С точки зрения клиента, объекты, реализованные любой из трех разновидностей серверов, выглядят одинаково; доступ к методам объектов клиент по-прежнему осуществляет через указатели интерфейсов. При необходимости он может проводить различие между разными типами серверов, но это не обязательно. Запуск объекта, получение указателей на его интерфейсы, вызов их методов и освобождение указателей выполняются клиентом одинаково независимо от того, каким сервером реализован объект: "в процессе", локальным или удаленным.

Таким образом:

Важность и универсальность модели СОМ заключается в том, что с точки зрения клиента, объекты, реализованные в любом из трех видов серверов, выглядят одинаково; доступ к методам объектов клиент по-прежнему осуществляет посредством интерфейсов.

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