
- •Государственный комитет рф по высшему образованию
- •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. Выводы.
1.2. Распределенные объекты в терминах спецификации corba.
При обобщении объектно-ориентированного взаимодействия на участки кода, принадлежащим разным приложениям, возможно даже написанных на разных языках программирования и выполняющихся на разных вычислительных системах, возникают дополнительные трудности, для преодоления которых требуются средства, выходящие за рамки одного языка программирования.
Если данные, принадлежащие конкретному объекту еще могут некоторым образом быть переданы от одного приложения другому, то код в большинстве случаев является непереносимым и может выполняться только в одном или ограниченном множестве приложений (это множество приложений называется реализациейданного объектного типа, а сам объектный тип называетсяинтерфейсом). Поэтому необходимо разрешить проблемы хранения информации и местонахождении реализации каждого интерфейса, взаимодействия между пользователем объекта (клиентом) и его реализацией и - в случае разных языков программирования - отображение одного языка в другой.
Спецификация CORBA никоим образом не определяет методику инсталляции (подключение) конкретных реализаций, так как этот аспект значительно зависит от операционной системы, под управлением которой функционирует реализация. Клиент взаимодействуетБрокером Объектных Запросов(Object Request Broker - ORB). КаждыйORB может по-своему определять виды возможных реализаций и порядок их подключения. СпецификацияCORBA определяет порядок и формат обмена данными между отдельнымиORB-ами какGeneral Inter Orb Protocol - GIOP.Специализированный вариант взаимодействия поверх сетевого протоколаTCP называетсяInternet Inter Orb Protocol - IIOP. Два различныхORB-а должны быть способны осуществлять взаимодействие посредством только протоколаIIOP.
Для осуществления межъязыкового взаимодействия спецификация CORBA устанавливает единыйязык описания интерфейсов (Interface Definition Language - IDL). Для каждого языка программирования должно быть определено своезависимое от языка отображение (language mapping). КонкретныйORB вовсе не обязан поддерживать все имеющиеся отображения для различных языков программирования, но для тех, для которых такая поддержка существует, все виды взаимодействия сORB-ом четко определяются конкретным отображением, что дает клиенту возможность написания программы, переносимой на уровне исходного кода между различными платформами.
Когда создается новый интерфейс с соответствующей реализацией, то его разработчик обязан составить описание своего интерфейса на IDL. После этого другая реализацияORB-а имеет возможность обработать это описание с помощью специального компилятора-препроцессора, который по данному описанию производит исходный текстпредставителя интерфейса (proxy)для каждого поддерживаемого языка в соответствии с его отображением и конкретной реализациейORB-а. В результате, клиент имеет возможность использоватьproxy-объекты со всеми преимуществами и особенностями конкретного языка программирования. Отображение может существовать и для языков, не являющихся объектно-ориентированными. Например, существует отображение для языкаC. Кроме того, утверждены отображения для языковC++ иSmalltalk. В стадии разработки находятся отображения для языковJava и LISP.