Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Интересности по COM.doc
Скачиваний:
37
Добавлен:
28.06.2014
Размер:
7.48 Mб
Скачать

Тема 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