русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Лекция 11 Технологии взаимодействия приложений.


Дата добавления: 2014-07-28; просмотров: 1703; Нарушение авторских прав


1. Использование библиотек динамической компоновки - DLL

DLL (англ. Dynamic-link library – динамически подключаемая библиотека) понятие операционной системы Microsoft Windows; динамическая библиотека, позволяющая многократное применение различными программными приложениями. К DLL относятся также элементы управления ActiveX и драйвера. В мире UNIX аналогичные функции выполняют т. н. shared objects («разделяемые объекты»).

Формат файлов DLL придерживается тех же соглашений, что и формат исполняемых файлов, сочетая код, таблицы и ресурсы.

Цели введения DLL

Первоначально предполагалось, что введение DLL позволит эффективно организовать память и дисковое пространство, используя только одну инстанцию библиотечных модулей для многих приложений. Это было особенно важно для ранних версий Microsoft Windows с жёсткими ограничениями по памяти.

Далее, предполагалось улучшить эффективность разработок и использования системных средств за счёт модульности. Замена DLL-программ с одной версии на другую должна была позволить независимо наращивать систему, не затрагивая приложений. Кроме того, библиотеки DLL могли использоваться разнотипными приложениями — например, Microsoft Office, Microsoft Visual Studio и т. п.

В дальнейшем идея модульности выросла в концепцию СОМ.

Фактически, полных преимуществ от внедрения DLL получить не удалось по причине явления, называемого DLL hell («ад DLL»). DLL Hell возникает, когда несколько приложений требуют одновременно различные, не полностью совместимые, версий DLL-библиотек, что приводит к сбоям в этих приложениях. Когда система выросла до определённых размеров, количество DLL стало превышать многие тысячи, не все из них обладали полной надёжностью и совместимостью, и конфликты типа DLL Hell стали возникать очень часто, резко понижая общую надёжность системы. Поздние версии Microsoft Windows стали разрешать параллельное использование разных версий DLL, что свело на нет преимущества изначального принципа модульности.



Статическая компоновка представлена на рис. 9.1

 

 

Во всех ОС имеются участки кодов, которые могут пользоваться библиотекой кодов

 

Существуют следующие типы переходников:

1. активный переходник - фрагмент кода, который устанавливает первоначальную связь между базой данных и библиотечного модуля.

2. переходник для данных - в DLL библиотеке могут храниться и данные, например шрифты.

3. переходник динамической компоновки — (см. рис. 9.2). Переходник выполняет подсчет обращений и определяет адрес функции.

Если много программ работает с одними и теми же функциями то получается существенная экономия памяти. В случае если одно приложение запрашивает код функции то динамическая компоновка усложняет структуру, увеличивая время обработки. Если два и боле приложений запрашивают код функции то целесообразно использовать DLL.

Использование таких DLL библиотек дает следующие преимущества:

1. Возможность расширения функций приложений за счет DLL других производителей. Для этого необходимо лишь знать перечень функций и способы обращения.

2. Возможность написания программ на различных языках программирования.

3. Простота организации управления проектом по разработке сложного программного комплекса.

4. Экономия оперативной памяти

 

2 Технология DDE (Dynamic Data Exchange-динамический обмен данных).

Механизм DDE основан на пересылке данных через буфер обмена Windows. Буфер обмена - специальная область память, предоставляемая операционной системой для обмена данных между приложениями.

В Windows существуют средства для работы с буфером обмена. К ним относятся:

функции для помещения данных в буфер и извлечения из буфера;

функции проверки наличия данных в буфере;

предусмотрены 25 встроенных типов данных (изображение, фрагмент текста, звук, и т.д.);

возможность создания собственных типов данных;

возможность обмениваться командами;

Основным преимуществом DDE является его стандартность и наличие во всех версиях Windows. Недостатки DDE:

низкая скорость обмена данных;

низкая надежность, в частности за счет того, что буфер обмена доступен

всем выполняющимся приложениям;

DDE непригоден для обмена технологическими данными, в частности из-за низкой производительности и надежности;

Для преодоления недостатков DDE разработчики предложили свои собственные протоколы Advanced DDE, Fast DDE . В основе лежит пакетирование информации, что позволяет увеличить скорость обмена. Такие частные решения приводят к ряду проблем:

Для каждой SCADА системы, поддерживающей один из этих протоколов необходимы драйверы оборудования, которые поддерживают тот же протокол;

В общем случае две SCADА системы не могут иметь доступ одновременно к одному и тому же драйверу.

Тем не менее, этот механизм используется для получения данных от технологических процессов и для передачи управляющих воздействий (в этом случае SCADA системы выполняют функции клиента по отношению к поставляющему данные драйверу или серверу ввода/вывода), а также для взаимодействия с другими приложениями, например с MS Excel. SCADA системы могут быть как клиентами так и серверами.

В основу DDE положен принцип, в котором осуществляется передача адресов блоков памяти, а сами данные располагаются в таблице атомов.

Таблица атомов — область памяти, доступная всем программам для чтения и записи. Адресация в ней ведется при помощи 4-х составляющих: сервис - имя приложения, которое обеспечивает этот сервис; тема; элементы данных; данные.

DDE канал может работать в трех режимах: обычный режим, «теплый» канал, «горячий» канал.

I. Работа DDE канала в обычном режиме (см. рис. 9.3).

 

 

II. Организация «теплого» канала (см. рис. 9.4). Создается тогда, когда клиент заранее должен извещаться сервером об изменении данных.

 

 

III. Организация «горячего» канала (см. рис. 9.5).

 

Приложения могут устанавливать одновременно несколько связей с несколькими приложениями. При этом это приложение может быть как клиентом, так и сервером.



<== предыдущая лекция | следующая лекция ==>
Технологии создания открытых программных систем. | Технология OLE (Object Linking and Embedding)


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.016 сек.