- •Межобъектная Связь
- •Ташкент
- •Содержание
- •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
