
- •Api как средство интеграции приложений
- •Сигнатура функции
- •Семантика функции
- •Api операционных систем. Проблемы, связанные с многообразием api
- •Наиболее известные api
- •История com
- •[Править]Путаница в названиях
- •Принципы работы com
- •Технологии, основанные на стандарте com
- •Net и будущее com
- •Dcom через интернет и решение проблемы xp sp2
- •Критика
- •Литература
- •Назначение corba
- •Общий обзор
- •Ключевые понятия технологии Объекты по значению
- •Компонентная модель corba (ccm)
- •Общий протокол межброкерного взаимодействия (giop)
- •Ссылка на объект (Corba Location)
- •Список брокеров (corba orBs)
- •Объектный rpc
- •Технология
- •См. Также
- •Стандарты
- •Назначение
- •Инструментарий
- •Уровни управления
- •Возможные области применения opc-серверов в асу предприятия
- •Состояние дел
- •Перспективы
- •Заключение
- •Список популярных opc-серверов
Объектный rpc
Протокол DCOM, известный как объектный RPC (ORPC) является расширением протокола DCE RPC. ORPC использует стандартные пакеты RPC с дополнительной, необходимой для DCOM информацией. Заголовок вызова содержит идентификатор указателя интерфейса (IPID), который используется для идентификации необходимого интерфейса необходимого объекта на сервере, а параметры начинаются с дополнительного неявного аргумента.
Данные в пакете ORPC передаются в стандартном формате NDR с дополнительным типом данных, представляющем собой идентификатор объекта.
Клиент должен периодически подтверждать свою активность путём «пингования» сервера. Если период пингования истёк без получения «пинга», считается, что клиент завершил работу аварийно и все его ссылки на интерфейсы объекта уничтожаются.
6.DLL – DynamicLinkLibrary
DLL (англ. dynamic-link library — «библиотека динамической компоновки», «динамически подключаемая библиотека») — понятие операционных систем Microsoft Windows и IBM OS/2, динамическая библиотека, позволяющая многократное использование различными программными приложениями. K DLL относятся также элементы управления ActiveX и драйверы. В мире UNIX аналогичные функции выполняют так называемые общие объекты (англ. shared objects).
Формат файлов DLL придерживается тех же соглашений, что и формат исполняемых файлов, сочетая код, таблицы и ресурсы, отличаясь лишь интерпретацией некоторых полей.
Цели введения
Первоначально предполагалось, что введение DLL позволит эффективно организовать память и дисковое пространство, используя только один экземпляр библиотечного модуля для различных приложений. Это было особенно важно для ранних версий Microsoft Windows с жёсткими ограничениями по памяти.
Далее, предполагалось улучшить эффективность разработок и использования системных средств за счёт модульности. Замена DLL-программ с одной версии на другую должна была позволить независимо наращивать систему, не затрагивая приложений. Кроме того, динамические библиотеки могли использоваться разнотипными приложениями — например,Microsoft Office, Microsoft Visual Studio и т. п.
В дальнейшем идея модульности выросла в концепции Component Object Model и System Object Model.
Фактически, полных преимуществ от внедрения динамически подключаемых библиотек получить не удалось по причине явления, называемого DLL hell («ад DLL»). DLL hell возникает, когда несколько приложений требуют одновременно различные, не полностью совместимые, версии библиотек, что приводит к сбоям в этих приложениях и к конфликтам типа DLL hell, резко снижая общую надёжность операционных систем. Поздние версии Microsoft Windows стали разрешать параллельное использование разных версий DLL (технология SxS), что свело на нет преимущества изначального принципа модульности.
Ссылки
Microsoft Developer Network:
«__declspec in C++ Reference»
«dllexport/dllimport»
«Dynamic-Link Libraries»
«Dynamic-Link Library Functions»
Написание и использование DLL в различных средах (рус.)
«Tutorial for making and using DLL’s»
«Delay Load Dlls Error Recovery»
«Концептуальная уязвимость в механизме загрузки DLL (MSA2269637)»
Полное описание процесса создания dll в Visual Studio
7.OLE – Object Linking and Embedding
OLE (англ. Object Linking and Embedding, произносится как oh-lay [олэй]) — технология связывания и внедрения объектов в другие документы и объекты, разработанная корпорациейМайкрософт.
В 1996 году Microsoft переименовала технологию в ActiveX.
OLE позволяет передавать часть работы от одной программы редактирования к другой и возвращать результаты назад. Например, установленная на персональном компьютереиздательская система может послать некий текст на обработку в текстовый редактор, либо некоторое изображение в редактор изображений с помощью OLE-технологии.
Основное преимущество использования OLE (кроме уменьшения размера файла) в том, что она позволяет создать главный файл, картотеку функций, к которой обращается программа. Этот файл может оперировать данными из исходной программы, которые после обработки возвращаются в исходный документ.
OLE используется при обработке составных документов (англ. compound documents), может быть использована при передаче данных между различными несвязанными между собой системами посредством интерфейса переноса (англ. drag-and-drop), а также при выполнении операций с буфером обмена. Идея внедрения широко используется при работе с мультимедийным содержанием на веб-страницах (пример — Веб-ТВ), где используется передача изображения, звука, видео, анимации в страницах HTML (язык гипертекстовой разметки) либо в других файлах, также использующих текстовую разметку (например, XML и SGML). Однако, технология OLE использует архитектуру «толстого клиента», то есть сетевой ПК с избыточными вычислительными ресурсами. Это означает, что тип файла либо программа, которую пытаются внедрить, должна присутствовать на машине клиента. Например, если OLE оперирует таблицами Microsoft Excel, то программа Excel должна быть инсталлирована на машине пользователя.