- •Межобъектная Связь
- •Ташкент
- •Содержание
- •2. Com модель
- •3. Сложные документы
- •4. РаспределенныйCom
- •Тема 2. Модель компонентных объектов (com)
- •1. Описание сом объектов
- •2. Интерфейсы вCom
- •3. Создание com объектов
- •Тема 3. Пакование и информация типов
- •1. Что такое пакование На что действительно указывает указатель интерфейса
- •2. Информация типов
- •Тема 4. Автоматизация
- •1.Что понимается под автоматизацией
- •2. Дуальный интерфейс
- •Тема 5. Постоянство
- •1. Понимание постоянства
- •2. Структурная память для файлов
- •3. Контроль постоянства объекта
- •Тема 6. Моникеры
- •1. Что такое моникеры?
- •2. Асинхронный моникер
- •Тема 7.ActiveXуправление
- •1. Эволюция ActiveX управления
- •2. Три взгляда наActiveXуправление
- •3. Методы и события вActiveXуправление
- •Тема 8. Однородная передача данных и соединяемые объекты
- •1. Однородная передача данных
- •2. Соединение объектов
- •Тема 9. Распределенный сом
- •1. Создание удаленного объекта
- •2. Использование моникера в распределенномCom
- •3. Средства безопасного доступа для удаленных объектов
- •Тема 10. ActiveX, Internet, и World Wide Web
- •1.ActiveXдокументы
- •2.ActiveXдокументы иWeb
- •Тема 11. Введение в corba
- •1. Знакомство с набором спецификаций omg
- •2. Поддержка Анализа & Проектирования
- •3. Основы объектов
- •Что такое объект?
- •4. Corba Основы взаимодействия
- •5. Что такое orb
- •Список Литературы
- •Приложение а. Глоссарий
Тема 10. ActiveX, Internet, и World Wide Web
План
1. ActiveX документы
2. ActiveX документы и Web
1.ActiveXдокументы
• Рост Internet управлялся в значительной степени Всемирной паутиной World Wide Web
• СОМ используется повсюду Microsoft Internet и связанными с Web технологиями
• ActiveX документы
• Внедренные документы OLE, полезные в том виде, как они есть, имеют некоторые ограничения
• Служебная Связка (Office Binder) позволяет пользователю встраивать
объединенный путь с данными от различных приложений
• Технология документов ActiveX построена на обычных OLE документах
- Описание ActiveX документов
• Поддержка ActiveX документов требует несколько дополнительных интерфейсов
• Контейнеры ActiveX документа должны поддерживать IOleDocumentSite
Рис. 10.1. Контейнер ActiveX документов должен выполнять как минимум один
дополнительный интерфейс в дополнении к тем, которые требует OLE
Рис.10.2. Сервер ActiveX документов должен выполнять как минимум два дополнительных интерфейса
• Серверы ActiveX документ должен поддерживать IOleDocument и
IOleDocumentView
• Вид действует как фильтр для данных приложения
• Каждый вид имеет свой собственный подобъект
• Подобъект вида может выполнять Iprint, чтобы поддержать печать
• Контейнер может поддерживать IContinueCallback, чтобы информировать о продвижении печатания
• Оба и контейнер и сервер могут выполнять IOleCommandTarget, чтобы получать команды
• IOleCommandTarget похож на облегченную версию Idispatch
2.ActiveXдокументы иWeb
-Как работает технология ActiveX документов
• Взаимодействие ActiveX документов очень похоже на взаимодействие OLE
-ActiveX документы и Web
• Объекты ActiveX документов вначале назывались объектом документа (DocObjects)
• Web браузер может предоставлять контейнер ActiveX документов
• Microsoft Internet Explorer и СОМ
- Построение браузера из компонентов
• Internet Explorer 3.0 полагается на ActiveX документ
Рис. 10.3. Microsoft Internet Explorer 3.0 построен из отдельных компонентов, соединенных вместе с использованием COM
• Объект Web браузера Internet Explorer 3.0, контейнер ActiveX документов, обеспечивает генетические функции просмотра
• Просмотрщик HTML IE 3.0, сервер ActiveX документов, знает как отобразить HTML
• Объект Web браузера может владеть любым сервером ActiveX документов
• Объект Web браузера обращается к просмотрщику HTML . Excel, и другие серверы ActiveX документов идентичны
-Работа оболочки Windows браузером
• Оболочка Windows обеспечивает пользовательский интерфейс (user interface)
• Internet Explorer 4.0 расширяет Windows 95
•Технология ActiveX гиперлинков позволяет создание гиперлинков среди множества типов документов
-Создание программируемого браузера
• Web браузер может раскрывать свои функции для приложений так же как и для людей из инструментария, такого как Visual Basic
Рис. 10.4. Электронная таблица Excel отображена с использованием Internet Explorer 5.0.
• Объект Web браузера имеет методы и свойства
• Объект Web браузера также имеет события
• Просмотрщик HTML обычно передаются скриптами в загружаемый HTML файл
• ActiveX скрипты
• HTML документа могут содержать скрипты, написанные на языках таких как JavaScript или VBScnpt
• Скрипт выполняется с помощью скриптовых средств под контролем хоста (host)
• Хост может обеспечить встроенные объекты и может также загрузить
ActiveX управление
-Описание ActiveX скрипта
• Скрипт может иметь доступ к объекту хоста
• Скриптовые хосты должны выполнять IActiveScriptSite и объекты хостов
должны выполнять IDispatch
• Скриптовые средства должны выполнять IActiveScript и др
Рис.10.5. Просмотрщик HTML это и хост для скриптовых средств ActiveX, контейнер для ActiveX управления
Рис. 10.6. Интерфейсы, которые скриптовый хост ActiveX и его объеты могут выполнить
Рис. 10.7. Интерфейсы, которые могут выполнить скриптовые средства ActiveX.
-Сценарий ActiveX скриптов
<HTML>
<BODY>
<Hl>Illustrating Scripting</Hl>
<SCRIPT LANGUAGE=VBScript>
document.bgColor="White"
document.write "<HR>"
document.write "Hello from the VBScript scripting engine"
document.write "<HR>" . </SCRIPT> </BODY> </HTML>
• Значение параметра HTML LANGUAGE определяет какое скриптовое средство будет загружено
•Скриптовый хост посылает текст сриптовому средству
• Хост может послать скриптовому средству имена его объектов
Рис. 10.8. Результат загрузки примера HTML файла
• Скриптовое средство может использовать имя объекта. чтобы запросить у хоста указатель на тот объект
• Скриптовые средства получают события используя те же механизмы как контейнеры управления
• ActiveX скрипт позволяет хосту быть ясно написано на скрипте из любого языка
• ActiveX управление и Internet
• Internet Explorer 3.0может загружать управления локально или с web серверов
• Появление Internet привело к изменениям в технологии ActiveX управления
-Управление загрузкой в Web браузер
• HTML документ может быть причиной того, чтобы ActiveX управление было загружено с использованием OBJECT тэга
Пример:
<HTML>
<TITLE>HTML Control Example</TITLE>
<BODY>
<Hl>Click An Arrow</Hl>
<P>
<OBJECT
CLASSID="clsid:B16553cO-06DB-101B-85B2-OOOOC009BE81"
ID=SpinButton
HEIGHT=200
WIDTH=100
HSPACE=85
>
</OBJECT>
<SCRIPT LANGUAGE=VBScript>
Sub SpinButton_SpinUp()
MsgBox ("Up arrow clicked")
End Sub
Sub SpinButton_SpinDcwn()
MsgBox ("Down arrow clicked")
End Sub
</SCRIPT>
</BODY>
</HTML>
Рис. 10.9. Результат загрузки примера HTML файла и затем нажатия на верхнюю стрелку
• Управлению не нужно ничего делать специально, чтобы быть загруженным в IE 3.0
• HTML страница может содержать скрипты, чтобы использовать загружаемые управление
-Загрузка постоянных данных управления
• Постоянных данных управления могут быть сохранены прямо в HTML файле
<OBJECT
CLASSID="clsid:99B42120-6EC7-11CF-A6C7-OOAAOOA47DD2"
ID=label1
WIDTH=150
HEIGHT=500
>
<PARAM NAME="Angle" VALUE="270">
<PARAM NAME="Alignment" VALUE="2">
<PARAM NAME="Style" VALUE="0">
</OBJECT>
• A control's persistent data can he stored in a separate file
<OBJECT
CLASSID="clsid:99B42120-6EC7-11CF-A6C7-OOAAOOA47DD2"
ID=chartl
WIDTH=200
HEIGHT=500
DATA="http://www.acme.corn/charts/profits.ods"
>
</OBJECT>
• Управление с большим количеством постоянных данных требует загружать их асинхронно
• Управление может определить свойства данных пути
• Контейнер управления обычно участвует в указании свойств данных пути
• Контейнеру может понадобиться дать некоторым загрузкам управления больший приоритет, чем другим
• Асинхронный moniker информирует управление, когда придет новая часть данных управления
Рис. 10.10. Три свойства для управления, один из которых это свойство данных пути
Рис 10.11. Соединение Moniker для свойств данных пути
• Загрузка большого количества постоянных данных асинхронно позволяет контролю стать активным быстрее
• Управление может информировать свой контейнер, когда все данные были загружены
• Управления, поддерживающие эти свойства работают лучше в среде Internet
- Загрузка управления
• Код управления может быть загружен. Когда необходимо из web сервера
<OBJECT
CLASS I D=" clsid: B16553cO-06DB-101B-85B2-OOOOC009BE81"
CODEBASE="http://www.acme.com/welcome/mapshow.ocx"
DATA="http://www.acme.corn/charts/pro fits.ods"
ID=MapDisplay
WIDTH=450
HEIGHT=450
>
</OBJECT>
• HTML атрибут CODEBASE означает где находится код
• Доступны три основные опции для паковки загружаемых кодов
• Вызов CoGetClassObjectFromURL делает все требуемое, чтобы загрузить и инсталлировать новую компоненту
• Должны существовать некоторые механизмы, чтобы гарантировать безопасность загружаемых кодов
•Доверенный провайдер может обеспечить такую гарантию
•Цель – гарантировать, что код от доверенного поставщика и не может быть модифицировано
• Загружаемая компонента может иметь цифровую подпись
• Компонента несет сертификат, который позволяет верификацию его цифровой подписи
• ActiveX иJava
• Java программы запускаются с помощью Java Виртуальной Машины (JVM)
• Java апплет может быть выполнен на любой машине с программным обеспечением Java VM - Java и СОМ
• Java хорошо подходит СОМ
Описание ActiveX гиперлинков
• Объекты ActiveX гиперлинков содержат дружественное имя, moniker, и строку местонахождения
• ActiveX гиперлинк может ссылаться на местоположение в файле или на web странице
• Функции стандартной библиотеки используются, чтобы создать ActiveX гиперлинки
• ActiveX контейнеры и target (цель) выполняют IHlinkSite и IHlinkTarget, соответственно
• Объект браузера обслуживает навигационный стек
• Структура гиперлинка обеспечивает непротиворечивую среду для отображения последовательности документа
- Как работают ActiveX объекты гиперсвязи Hyperlink Objects
• ActiveX объекты гиперсвязи могут обращаться к местоположению в текущем документе или другом документе
• Если гиперлинк обращается к другому документу, то он полагается на свой moniker, чтобы создать объект
Рис. 10.12. Два примера ActiveX объектов гиперлинка и их содержимое
Рис. 10.13. Microsoft Java VM позволяет Java апплету быть похожим на COM объект
• Microsoft Java VM также делает COM объекты похожими на Java объекты
• The Java VM скрывает вызовы Querylnterface
• Информация типов используется, чтобы было соответствие между Java и COM
- Java апплеты и Internet Explorer 3.0
• Internet Explorer 3.0 обходится с Java апплетами как с COM объектами
• Java апплеты могут теперь быть использованы там, где используется ActiveX управление
• HTML страницы могут включать Java апплеты, используя либо OBJECT или APPLET тэг
• Java апплеты могут быть подписаны в цифровой форме
• ActiveX гиперлинки
• Просмотр зависит от гиперлинков
• Технология ActiveX гиперлинков позволяет гиперлинкам быть созданными из множества различных типов документов
Рис.10.14. ActiveX гиперлинки, их цели (targets), и контейнер.
• Строка положения идентифицирует определенное расположение в документе
-Простой API (интерфейс приложения) гиперссылки
• Простой API гиперссылки делает это простым для использования
• Заключительные размышления
• Новые технологии вынуждают нас рисковать
• СОМ и перемены, которые она принесла, здесь, чтобы остаться
Новые понятия и термины:
HTML- HyperText Markup Language
Java VM – Java Virtual Machine
API – application interface (интерфейс приложения)
Контрольные вопросы:
1. ActiveX документы
2. ActiveX документы и Web
3. Internet Explorer и COM
Литература:
1.David Chappell “Understanding Active X and OLE”.Microsoft Press, 1996