- •Государственный комитет рф по высшему образованию
- •0. Введение.
- •0.1. Идея общей интеграции.
- •0.2. Взаимодействие на уровне процедур.
- •0.3. Распределенные объекты.
- •0.4. Почему corba.
- •1. Поддержка на различных платформах.
- •2. Устойчивость стандарта.
- •3. Сложность освоения.
- •4. Поддержка повторного использования кода.
- •1. Постановка задачи.
- •1.1. Классические объекты.
- •1.2. Распределенные объекты в терминах спецификации corba.
- •1.3. Требования, предъявляемые к orb-у.
- •2. СпецификацияCorba.
- •2.1. Объектная модель.
- •2.2. Обзор архитектурыCorba.
- •2.3. Пример Брокеров Объектных Запросов.
- •3. Структура системы.
- •3.1. Уточнение деталей реализации.
- •3.2. Структура ядра системы.
- •3.3. Структура библиотеки.
- •3.4.Структура подсистемы обработки запросов.
- •3.5. Входные и выходные данные.
- •4. Протокол обменаGiop.
- •4.1. Особенности и цели протокола.
- •4.2. Обзор протоколаGiop.
- •4.3. Синтаксис Общего Представления Данных -cdr.
- •4.4. Формат сообщений протокола giop.
- •4.5. Транспорт для протоколаGiop.
- •4.6. Реализация взаимодействия по протоколуGiop.
- •4.7. Поддержка протоколаGiop в рамках отображения дляObject Pascal.
- •5. Разработка отображения для языкаObject Pascal.
- •5.1. Множественное наследование.
- •5.2. Статические экземпляры классов.
- •Initialization
- •Initialization
- •6. Технология написания и отладки приложений, работающих с распределенными объектами.
- •6.1. Этапы разработки программы.
- •6.2. Технология написания сервера объекта.
- •6.3. Технология написания клиента объекта.
- •6.4. Отладочные возможности библиотеки.
- •7. Пример программы, работающей с распределенными объектами.
- •7.1. Последовательность действий при создании объекта.
- •7.2. Объект библиотека.
- •7.3. Сервер объекта.
- •7.3. Клиент объекта.
- •7.4. Окончательный результат.
- •8. Анализ конкурентоспособности программного продукта.
- •8.1. Введение.
- •8.2. Ситуация на рынке.
- •8.3. Программные продукты - конкуренты.
- •8.4. Основные понятия.
- •8.5. Параметры для оценки эффективности.
- •8.6. Расчет эффективности.
- •8.7. Цена.
- •8.8. Конкурентоспособность.
- •8.9. Выводы и прогнозы.
- •9. Вопросы эргономики и их решение для создания комфортных условий труда программистов.
- •9.1. Введение.
- •9.2. Рабочее место программиста.
- •9.3. Вредные факторы, присутствующие на рабочем месте и их классификация.
- •9.4. Вредные производственные воздействия.
- •9.5. Эргономические требования.
- •9.6. Эргономика окружающей среды.
- •9.7. Экологическая безопасность.
- •9.8. Выводы.
0.3. Распределенные объекты.
Теория программирования продолжала развиваться, на смену процедурному программированию пришло объектно-ориентированное, появились объектно-ориентированные языки программирования. Естественно, возникло желание осуществлять взаимодействие между отдельными объектами, которые находятся в разных приложениях с таким же удобством, как и с объектами, которые существуют внутри одного приложения. Наибольшую популярность получили объектные модели COM (Component Object Model), реализованная Microsoft в клане операционных систем Windows и SOM (System Object Model), реализованная IBM в операционной системе OS/2. Эти две модели требуют обязательную поддержку со стороны операционной системы и первоначально существовали в локальном варианте, что означало возможность взаимодействия только приложения, выполняемых на одном вычислительном устройстве в рамках одной операционной среды. Впоследствии появились варианты обеих моделей для взаимодействия распределенных между несколькими вычислительными устройствами объектов. Соответствующие модели получили названия DCOM и DSOM соответственно (D- от Distributed).
Спецификой модели SOM/DSOM является то, что эта модель является одним из расширений спецификацииCORBA (Common Object Request Broker Architecture - Обобщенная Архитектура Брокеров Объектных Запросов), которая определяет, каким образом два приложения могут взаимодействовать между собой, причем не налагается никаких ограничений ни на местоположение объектов, ни на платформы или операционные системы, под управлением которых работают эти приложения.
0.4. Почему corba.
На данный момент наблюдается стремительно возрастающий интерес к идее взаимодействия распределенный объектов и программным решениям, которые делают такое взаимодействие возможным, об чем свидетельствуют, например, материалы приведенные в Приложении A. Компании-лидеры в области разработки реляционных СУБД, такие какOracle иInformix делают попытки создания объектно-ориентированных систем управления базами данных. Тема объектно-ориентированных систем управления базами данных является отдельной темой для исследований и далее не обсуждается.
Из двух основных имеющихся на данный момент и конкурирующих между собой объектных моделей - CORBA иCOM -CORBAвыгодно отличается от моделиCOM по нескольким параметрам:
1. Поддержка на различных платформах.
Сейчас существует большое количество программных продуктов разных производителей, удовлетворяющих спецификации CORBAи способных взаимодействовать между собой. Эти продукты способны работать под управлением разных операционных систем, предоставляя теоретическую возможность тотального объединения (на практике это пока еще невозможно ввиду неполной реализации требований стандартаCORBA). Реализация объектной моделиCOM на данный момент существует только для платформWindows 95/NT и обеспечивается исключительно фирмойMicrosoft.
2. Устойчивость стандарта.
Стандарт CORBA является достаточно устойчивым стандартом, основы которого определены и существуют в течение нескольких лет. Это является результатом сотрудничества более чем 500(!) участников консорциумаOMG (Object Management Group), который и является автором стандартаCORBA.Ожидается устойчивость и актуальность текущей спецификации в течение ближайших 8-10 лет, что дает разработчикам программных средств, использующих данную объектную модель некие гарантии актуальности их программ в ближайшем будущем. В то же время, как показывает практика,Microsoft существенно изменяет свои стандарты каждые 2-3 года, вызывая этим устаревание программных продуктов, ориентирующихся на предыдущие стандарты или версии стандартов.