Архитектура Microsoft Windows для разработчиков

         

Анятие 1. Элементы управления ActiveX


3анятие 1. Элементы управления ActiveX

(Продолжительность занятия 40 минут)

ActiveX — это основанная на СОМ технология, предоставляющая в распоряжение разработчика базовые строительные блоки для создания Windows-приложений. ActiveX применяют для создания элементов управления, документов и компонентов, предназначенных как для рабочего стола, так и для работы в Интернете. Компоненты ActiveX можно реализовать на многих языках программирования, включая все средства разработки приложений, выпускаемые компанией Microsoft.

Технология ActiveX — логическое развитие технологии связывания и встраивания объектов (Object Linking and Embedding, OLE), поэтому элементы управления ActiveX первоначально назывались OLE-элементами управления. Элементы управления ActiveX — один из самых мощных методов быстрой разработки приложений.

На этом занятии Вы познакомитесь с элементами управления ActiveX и их использованием в Microsoft Visual Basic, Microsoft Office и Интернете.

Изучив материал этого занятия, Вы сможете:

объяснить, что представляют собой элементы управления ActivX и как они реализуются средствами Visual Basic, Microsoft Office и в Интернете;

описать преимущества использования элементов управления ActivX;

создать, протестировать и внедрить элемент управления ActivX;

добавить элемент управления ActivX в приложение Visual Basic и на Web-страницу.

Элементы управления ActiveX — это объекты, допускающие повторное использование и содержащие визуальные элементы и код. Они применяются в контейнерах (например, в форме или в приложении) и служат для организации или обогащения средств взаимодействия пользователя с приложением. Имена файлов элементов управления имеют расширение .осх.

Элементы управления ActiveX используются в приложениях многих типов, например в Microsoft Office, Microsoft Internet Explorer и Microsoft Visual Basic. Элементы управления ActiveX можно встраивать в Web-страницы, но область их применения не ограничена Интернетом.

Спецификации элементов управления ActiveX

Чтобы называться элементом управления ActiveX, объект должен:

быть объектом СОМ;

поддерживать саморегистрацию.



Аутентификация клиента


SSL 3.0 и РСТ 1.0 поддерживают также аутентификацию клиента. Аутентификация клиента при помощи сертификатов с открытыми ключами — одна из первых стадий создания защищенного канала между клиентом и сервером.



Аутентификация сервера


Internet Explorer (клиентская программа) аутентифицирует сервер Интернета, если последний на стадии инициализации соединения по защищенному каналу SSL/ PCT заявляет о наличии сертификата. Программа-клиент принимает сертификат сервера, проверив криптографические подписи сертификата.





Безопасность для инициализации


Элементы управления, которые можно инициализировать в HTML-тегах <PARAM>, должны быть помечены как безопасные для инициализации до чтения этих тегов программой просмотра (например, Microsoft Internet Explorer).

Когда Internet Explorer встречает теги инициализации элемента управления, встроенного в Web-страницу, он выясняет, безопасен ли элемент управления для инициализации. Результат запроса наряду с выбранным пользователем уровнем безопасности определяет, будет элемент управления инициализирован или нет.



Безопасность для использования в сценарии


Объектная модель представляет собой иерархию объектов, определяющую структуру программы, подчиняющейся этой модели. Объектная модель упрощает программирование, создавая отношения между объектами, составляющими программу. Когда Вы помечаете элемент управления как безопасный для использования в сценарии. Вы гарантируете, что объектная модель элемента управления не вызовет проблем с защитой данных (включая их повреждение или утечку).

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

Под использованием в сценарии подразумевается включение элемента управления в код сценария (созданного, например, на языке VBScript или JScript), который будет выполняться на Web-сервере или в программе просмотра Web. Встретив на Web-странице элемент управления, Microsoft Internet Explorer выясняет безопасность элемента для использования в сценарии. Результат проверки вместе с выбранным пользователем уровнем безопасности определяет, будет элемент управления использоваться в сценарии или нет.

> Маркировка элемента управления как безопасного для использования в сценарии средствами Visual Basic

Запустите мастер создания приложений Visual Basic.

Выберите существующий проект.

Создайте программу Internet Download Setup для Вашего элемента управления.

Когда появится диалоговое окно Internet Package, щелкните кнопку Safety.

В диалоговом окне Safety установите флажок Safe For Scripting и щелкните кнопку ОК.

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



Функции документов ActiveX


Слово «документ» в сочетании с «ActiveX» может ввести в заблуждение. Документ ActiveX вовсе не обязан быть статичным, как обычные документы (например, Microsoft Word) — напротив, он объединяет функциональность приложения с гибкостью документа. Открыв его, пользователь получает доступ ко всем функциональным возможностям приложения и, кроме того, может сохранять и распространять копии данных приложения.

Например, документ Word — не то же самое, что приложение Word. Первый имеет расширение .doc и содержит информацию, а второй (WinWord.ехе) создает документ на основе этой информации.

Кроме того, документ Word можно просматривать в других контейнерах — например, в Internet Explorer. В этом случае приложение Word предоставляет объекты (в частности, меню и панели инструментов), обеспечивающие Internet Explorer возможностями активизации просмотра и документа. Так же работают и документы ActiveX, созданные в Visual Basic.

Документы ActiveX в Интернет-приложениях

Используя документы ActiveX, Вы можете разрабатывать приложения, тесно интегрированные с другими элементами Вашего узла интрасети или Интернета. Связав эти компоненты. Вы обеспечите пользователям возможность перемещаться между HTML-страницами и документами ActiveX, не предпринимая каких-либо дополнительных действий.



Использование динамической библиотеки ActiveX


В этом упражнении Вы создадите динамическую библиотеку на Visual Basic, а затем воспользуетесь ею для создания объекта в Microsoft Access.

> Создание DLL на Visual Basic

Создайте в Visual Basic новый проект типа ActiveX DLL.

Присвойте ему имя SampleDLL.

В разделе General Declarations модуля Class1 введите следующий код:

Private UserName As String

Private strMessage As String

Public Sub SayHello()

MsgBox "Привет " & UserName & "!"

End Sub

Public Property Let Name(Name As String)

UserName = Name

End Property

Public Property Get Message()

strMessage = "Привет из DLL".

Message = strMessage

End Property

Запустите приложение.

Примечание. Обычно перед вызовом библиотеку нужно зарегистрировать. Оставив же ее выполняться (в среде Visual Basic), Вы сможете протестировать ее без регистрации, поскольку она уже загружена.

> Использование DLL из другого приложения

Запустите Microsoft Access, установите в первом окне переключатель Blank Database и щелкните ОК.

Сохраните новую базу данных под именем Lab8.mdb в папке WA\Practice\Ch08.

Когда откроется диалоговое окно базы данных, щелкните вкладку Forms и нажмите кнопку New.

Выберите режим Design View и нажмите ОК.

Добавьте кнопку в форму Form1.

Когда появится мастер Command Button Wizard, нажмите Cancel.

Добавьте метку в форму Forml.

В качестве названия метки укажите слово nothing.

Правой кнопкой мыши щелкните кнопку Command0 и выберите из появив шегося меню пункт Properties.

Щелкните вкладку Events и выберите событие On Click.

Щелкните многоточие справа от события On Click.

Выберите Code Builder и нажмите ОК.

В меню Tools выберите пункт References.

Прокрутите список ссылок Available References, пометьте флажком пункт SampleDLL и нажмите ОК.

В результате в код обработки события будет добавлена ссылка на библиотеку, которую Вы оставили работать в Visual Basic.

. В событие CommandO_Click добавьте следующий код:

Dim MyObject As New Classi

MyObject.Name = InputBox("KaK Ваше имя?")


Label"!.Caption = MyObject.Message

MyObject.SayHello

В меню Run выберите пункт Go/Continue.

Нажмите кнопку CommandO.

Введите свое имя и нажмите ОК.

Переключитесь на Ваше приложение, работающее в Visual Basic. Появится окно сообщения, в котором указано Ваше имя.

Нажмите ОК.

Снова переключитесь в Microsoft Access.

Обратите внимание, что текст метки изменился.

Закройте форму Form1 и нажмите Yes, чтобы сохранить изменения. Сохраните форму под именем frmLab8.

Закройте Microsoft Access.

Переключитесь в Visual Basic.

Остановите работу приложения и выйдите из Visual Basic. Если хотите, може те сохранить проект в папке WA\Practice\Ch08.

Исполняемые компоненты ActiveX

Исполняемые компоненты ActiveX работают в своем адресном пространстве, а их клиентами обычно являются приложения, работающие в рамках другого процесса. Так как внепроцессные компоненты реализуются в своем процессе, клиент может сделать запрос серверу и продолжить свою работу, пока компонент-сервер будет выполнять запрос. При правильной настройке подобной системы компонент посылает асинхронное сообщение клиенту, чтобы уведомить того о выполнении порученной ему работы.

Однократно и многократно используемые компоненты

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

Многократно используемые компоненты позволяют другим приложениям создавать объекты на основе своих классов, причем этим способом можно создать любое количество объектов. Внепроцессный компонент вправе предоставить несколько объектов разным клиентам, а внутрипроцессный компонент — несколько объектов клиенту и любым другим компонентам, работающим в рамках того же процесса. Как исполняемые компоненты, так и динамические библиотеки ActiveX при необходимости служат многократно используемыми компонентами.


Изучив материал этого занятия, Вы сможете:


объяснить, чем обычный документ отличается от документа ActiveX;

описать возможности документа ActiveX.



Элементы управления ActiveX в Microsoft Office


Приложения Microsoft Office снабжены панелью инструментов элементов управления ActiveX, содержащей кнопки, переключатели, диалоговые окна и формы.

Office позволяет создавать формы, аналогичные формам Visual Basic. Например, для разработки формы и определения свойств ее элементов подходит Microsoft Word. Такие примеры, как формы анкет и опросов, включены в состав мастера

построения Web-страниц. С его помощью можно создать базовую форму, а затем доработать ее, добавив нужные элементы управления.

Элементы управления ActiveX и Интернет

Инфраструктура ActiveX допускает встраивание элементов управления в Web-страницы для интерактивной реакции на происходящие события. Элементы управления ActiveX для Интернета оптимизированы по размеру и скорости и поддерживают асинхронные соединения. Вот несколько примеров элементов управления ActiveX для Интернета, которые поставляются в комплекте с Microsoft Internet Explorer:

анимированная кнопка;

градиент;

бегущая строка;

котировки акций.



Элементы управления ActiveX в Microsoft Visual Basic


Элементы управления ActiveX добавляются к инструментальной панели наравне со стандартными элементами управления Visual Basic. Будучи добавленным в проект Visual Basic, элемент управления ActiveX становится частью среды разработки и выполнения, обогащая приложение дополнительными функциональными возможностями.

Microsoft Visual Basic автоматически устанавливает и регистрирует элементы управления ActiveX в каталоге \Windows\System или System32. После этого их можно использовать для построения приложений. > Добавление элемента управления ActiveX в Visual Basic

Запустите Microsoft Visual Basic и создайте новый проект типа Standard EXE.

Щелкните правой кнопкой мыши инструментальную панель и выберите из появившегося меню пункт Components.

Выберите Microsoft Calendar Control 8.0.

Нажмите ОК.

Элемент управления Microsoft Calendar будет добавлен на инструментальную панель.

Добавьте новый элемент управления Calendar в форму Form1.

Нажмите клавишу F5, чтобы запустить программу в Microsoft Visual Basic. Теперь элемент управления Microsoft Calendar можно использовать в форме.

Закройте приложение и Microsoft Visual Basic.



Подпись элемента управления


Подписание кода элемента управления его разработчиком начинается с получения цифрового сертификата от авторизованной компании. Следует иметь в виду, что элемент управления, подписанный с помощью цифрового сертификата, все же не всегда безвреден. Цифровой сертификат гарантирует лишь, что полученный код:

разработан квалифицированным разработчиком, подписавшим его;

не был случайно поврежден или преднамеренно изменен.



Преимущества элементов управления ActiveX


Элементы управления ActiveX имеют несколько серьезных достоинств:

им требуется меньше интерфейсов, чем их предшественникам — OLE-эле-ментам управления;

они могут быть безоконными;

они всегда активизируются на месте, что позволяет им взаимодействовать с объектом OLE внутри контейнера;

их интерфейсы четко определены;

они предоставляют свойства, события и методы;

уменьшают сложность разработки;

инкапсулируют функциональность;

легко модифицируемы;

обеспечивают контроль версий;

поддерживают совместное использование информации;

допускают повторное использование.

Элементы управления ActiveX и приложения

Элементы управления ActiveX используются программистами при разработке приложении средствами Visual Basic и конечными пользователями при создании документов Microsoft Office.



Преимущества элементов управления ActiveX для Интернета


Элементы управления ActiveX для Интернета:

упрощают и автоматизируют создание страниц;

обогащают средства отображения данных;

• расширяют функциональные возможности страниц.



Приложения для Интернета


По сути, документы ActiveX — это приложения Visual Basic для Интернета. Почти все, что Вы сейчас делаете средствами стандартных приложений, доступно и с помощью документов ActiveX.

Как и элементы HTML-страницы, документы ActiveX, не установленные на компьютере пользователя, могут автоматически загружаться при первой попытке использовать их. Более того, возможно и их обновление, если на сервере имеется свежая версия.

Ниже перечислены методы, обеспечивающие установку компонентов, перемещение между документами и сохранение данных с помощью документов ActiveX.

Автоматическая загрузка компонентов из Интернета: Вы можете создать ссылку на Ваш документ ActiveX, посредством которой программу просмотра автоматически найдет и загрузит все компоненты, необходимые для активизации документа.

Объект Hyperlink: его свойствами и методами можно пользоваться в контейнере, работающем с гиперссылками, для перехода к указанному ресурсу или перемещения по списку ранее посещавшихся адресов.

Объединение меню: как и в случае с документами Microsoft Word или Microsoft Excel, меню документов Visual Basic ActiveX можно встраивать в меню программы просмотра. Например, когда документ загружается в Internet Explorer, в меню программы просмотра добавляются команды меню Вашего документа ActiveX.

Объект PropertyBag: при использовании документа ActiveX в Internet Explorer Вы можете с его помощью сохранять данные.



преемник OLE. Эту основанную на


ActiveX — преемник OLE. Эту основанную на СОМ технологию, можно использовать для создания компонентов, взаимодействующих друг с другом независимо от языка, на котором написан каждый из них. Технологии ActiveX позволяют создавать приложения как для рабочего стола, так и для Интернета.
Элементы управления ActiveX — это повторно используемые объекты, содержащие визуальные элементы и код. Имена файлов элементов управления имеют расширение .осх. Чтобы считаться элементом управления ActiveX, объект должен быть объектом СОМ и поддерживать саморегистрацию. Элементы управления ActiveX можно использовать в приложениях многих типов, например в Microsoft Office, Microsoft Internet Explorer и Microsoft Visual Basic. Предусмотрено встраивание элементов управления ActiveX в Web-страницы, но сфера их применения не ограничена Интернетом.

Пользователи вправе обезопасить себя от


Пользователи вправе обезопасить себя от таких неприятностей, как повреждение данных или их утечка при загрузке Web-страниц. Например, пользователи Internet Explorer контролируют загружаемый материал посредством уровней безопасности.
Разработчики могут снабжать свои элементы управления ActiveX цифровыми подписями или маркировать их как безопасные для применения пользователями в сценарии. Наличие подписи у элемента управления гарантирует, что загружаемый код разработан квалифицированным разработчиком и не был случайно поврежден или преднамеренно изменен. Маркировка элемента управления как безопасного для инициализации или для использования в сценарии гарантирует, что его можно использовать на Web-странице. Встретив на Web-странице элемент управления, Microsoft Internet Explorer выясняет, не повредит ли он данные при инициализации или при включении в сценарий. Результат проверки и выбранный пользователем уровень безопасности определяют, будет ли использован элемент управления. Все это помогает защитить пользователя от загрузки неисправного или опасного кода.
Для безопасной передачи данных применяется аутентификация клиента и сервера. Слой защищенных сокетов и технология безопасной связи — это протоколы, используемые программами просмотра и серверами Интернета для выполнения взаимной аутентификации и обеспечения целостности и конфиденциальности сообщений.

это форма, которую Вы вправе


Документ ActiveX — это форма, которую Вы вправе включить в контейнер документа ActiveX. Он может содержать внедренные объекты (например, сводные таблицы Microsoft Excel), окна сообщений и подчиненные формы. Документы ActiveX предоставляют пользователю доступ ко всем функциональным возможностям приложения и, кроме того, позволяют сохранять и распространять копии данных приложения. Объекты Hyperlink и PropertyBag, объединение меню, автоматическая загрузка компонентов из Интернета — вот некоторые возможности, которыми Вы вправе снабдить свои документы ActiveX.

это библиотеки объектов, предлагающие простой


Кодовые компоненты ActiveX — это библиотеки объектов, предлагающие простой метод повторного использования кода. Они предоставляют свои функциональные возможности приложениям-клиентам посредством OLE-автоматизации. Автоматизация обеспечивает одному приложению возможность манипулировать объектами, реализованными в другом приложении. Компоненты бывают внутрипроцессными и внепроцессными. Первые — динамические библиотеки ActiveX — выполняются в процессе другого приложения, тогда как исполняемый файл ActiveX работает в своем адресном пространстве.

Сертификаты


Идентификация клиентов и серверов осуществляется посредством сертификата, установленного на компьютере. Web-сервер (или программа просмотра), устанавливая соединение, выполняет аутентификацию с использованием этого сертификата.



Слой защищенных сокетов и технология безопасной связи


Слой защищенных сокетов (Secure Sockets Layer, SSL) и технология безопасной связи (Private Communication Technology, PCT) — это протоколы защиты, основанные на методе открытых ключей. Программные продукты компании Microsoft используют их в виде динамической библиотеки поддержки защищенного канала Schannel.dll. Оба протокола применяются программами просмотра и серверами Интернета для взаимной аутентификации и обеспечения целостности и конфиденциальности сообщений.



Соглашения по разработке элементов управления ActiveX


Чтобы создать элемент управления для работы в Интернете, Вам придется учесть сравнительно небольшую скорость передачи данных. Для Интернета лучше всего выбирать элементы управления в виде небольших кнопок и меток, состоящие всего из нескольких байтов данных: они прекрасно работают в программах просмотра Web. Кроме того, производительность элемента управления можно повысить следующим образом:

элементы управления ActiveX следует делать асинхронными — тогда они не будут блокировать другие функции программы;

элементы управления ActiveX должны как можно скорее становиться доступными пользователю.

> Добавление элемента управления ActiveX на Web-страницу

Запустите Microsoft Frontpage 98.

В диалоговом окне Getting Started with Microsoft Frontpage установите переключатель Create a New Frontpage Web и щелкните кнопку ОК.

Выберите One Web Page и присвойте новой Web-странице имя «ActiveX». Щелкните кнопку ОК.

В окне Frontpage Explorer дважды щелкните Home Page, чтобы открыть ре дактор Frontpage Editor.

В меню Insert выберите команду Advanced, ActiveX Control.

Из списка Pick a Control выберите пункт Microsoft Calendar Control 8.0 и щелкните ОК.

Элемент управления Microsoft Calendar будет добавлен на Web-страницу.

В меню File выберите команду Save.

В меню File выберите команду Preview in Browser.

В диалоговом окне Preview in Browser установите переключатель Microsoft Internet Explorer и щелкните кнопку Preview.

Элемент управления ActiveX (Microsoft Calendar) теперь работает в Microsoft Internet Explorer.



Создание документов ActiveX


В этом упражнении Вы создадите приложение-документ ActiveX средствами Visual Basic.

> Создание документа ActiveX

Создайте в Visual Basic новый проект типа ActiveX EXE.

Visual Basic автоматически добавит в проект дизайнер UserDocument. Если окно дизайнера не появилось на экране, щелкните правой кнопкой мыши его исходное имя — UserDocument 1 — в окне Project Explorer, а затем — команду View Object. Когда дизайнер появится на экране, его исходное имя будет указано в строке заголовка окна.

Измените имя проекта Project1 на ActXDoc.

Измените имя UserDocument1 на FirstDoc.

Откройте дизайнер FirstDoc и добавьте кнопку и текстовое поле.

Установите свойства, указанные ниже.

Объект

Свойство

Значение

Кнопка

Name

CmdNavigateTo

Caption

Navigate To

Текстовое поле

Name

TxtURL

Text

http://localhost

Добавьте в событие cmdNavigateTo_Click следующий код:

Использование метода NavigateTo объекта Hyperlink

для перехода по гиперссылке, заданной в txtURL.

Hyperlink.NavigateTo txtURL.Text

Сохраните проект в папке WA\Practice\Ch08. Присвойте пользовательскому документу имя FirstDoc.dob, а проекту — ActXDoc.vbp. He добавляйте проект в Visual SourceSafe.

Запустите приложение и оставьте его работать в фоновом режиме.

Запустите Internet Explorer и откройте локальный файл c:\ProgramFiles\DevStudio\VB\FirstDoc.vbd

Щелкните кнопку в открывшемся документе, чтобы перейти по указанной ссылке.



Создание элемента управления ActiveX


В этом упражнении Вы сконструируете элемент управления ActiveX средствами

Visual Basic.

> Создание элемента управления ActiveX

Запустите Visual Basic и создайте новый проект типа ActiveX Control.

Переименуйте проект в Lab8Control.

Измените имя UserControl1 на ChangeDateTime.

Выберите в меню File пункт Save Project.

Сохраните проект в папке WA\Practice\Ch08. В ответ на предложение Add this project to SourceSafe нажмите кнопку No.

Измените свойство BackColor элемента управления ChangeDateTime на Window Background.

Вставьте в форму элементы управления Label и Timer в ChangeDateTime, как показано рисунке.

Установите следующие свойства:

Элемент управления

Значения свойств

Timer1

Interval = 100

Label 1

Caption = " "

Label 1

Font = Arial, кегль 12

Label 1

BackStyle = 0 - Transparent

Label 1

Alignment = 2 - Center

В событие Timer элемента управления Timeri добавьте следующий код:

Label1.Caption = Now()

Сохраните изменения в проекте.

В меню File выберите пункт Make Lab8Control.ocx.

Когда на экране появится диалоговое окно Make Project, убедитесь, что в нем указана правильная папка — WA\Practice\Ch08.



Технологии ActiveX


Глава 8. Технологии ActiveX

Прежде всего

Для изучения занятий этой главы необходимо:

знание материала главы 5, «Архитектура компонентных решений»;

Microsoft Access, включая элемент управления Calendar;

Microsoft Visual Basic;

Microsoft Frontpage 98;

Microsoft Internet Explorer.

Занятие 1. Элементы управления ActiveX

Занятие 2. Элементы управления ActiveX и безопасность

Занятие 3. Документы ActiveX

Занятие 4. Кодовые компоненты ActiveX

Закрепление материала



Тестирование элемента управления ActiveX


Теперь Вы протестируете только что созданный элемент управления ActiveX, поместив его на Web-страницу с помощью Microsoft Frontpage. > Откройте Web-страницу в Frontpage

В меню Start Windows выберите команду Programs, Microsoft Frontpage.

Щелкните кнопку More Webs, чтобы открыть диалоговое окно Open Frontpage Web.

В поле Select a Web Server or disk location наберите localhost и щелкните кноп ку List Webs.

Выберите пункт <Root Web> и нажмите ОК.

> Поместите на Web-страницу элемент управления ActiveX

Дважды щелкните My Home Page, чтобы открыть редактор Frontpage.

В редакторе Frontpage поместите точку вставки в конец страницы.

Наберите текст: Это - элемент управления ActiveX:.

В меню Insert выберите команду Advanced, ActiveX Control.

Из списка PickA Control выберите Lab8.ChangeDateTime и щелкните кнопку ОК.

Щелкните кнопку Preview In Browser панели инструментов.

Закройте Internet Explorer.

Закроите Microsoft Frontpage.



Установка уровня безопасности


Уровни безопасности и проверка цифровой подписи элемента управления позволяют пользователю контролировать загрузку и запуск элементов управления.

Нестандартный уровень безопасности (см. раздел «Зоны безопасности Internet Explorer» в начале занятия) позволяет указать, как следует обходиться с подписанными и неподписанными элементами управления. Чтобы получить доступ к соответствующим параметрам, щелкните кнопку Settings на вкладке Security.

Параметр Описание
Enable (Разрешить) Элемент управления загружается автоматически
Prompt (Требовать подтверждения) Перед загрузкой запрашивается подтверждение у пользователя
Disable (Запретить) Элемент управления не загружается

Когда на Web-странице Вам встретится незарегистрированный элемент управления, цифровой сертификат укажет автора элемента управления и предоставит Вам возможность загрузить его (рис. 8.2).

Рис.8.2 Цифровой сертификат элемента управления

Маркировка кода ActiveX

Подтвердить пользователям, что элемент управления на Вашей Web-странице безопасен можно двумя способами. Вы можете гарантировать, что, во-первых, он безопасен для инициализации и, во-вторых, для использования в сценарии на Web-странице.


Как и в случае подписанных элементов управления, нестандартный уровень безопасности (см. раздел «Зоны безопасности Internet Explorer» в начале занятия) позволяет решить, как Internet Explorer должен обходиться с элементами управления.

Параметр Описание
Enable (Разрешить) Элементы управления запускаются автоматически
Prompt (Требовать подтверждения) Пользователь должен подтвердить запуск элемента управления
Disable (Запретить) Элементы управления не запускаются

Технологии защиты

Один из методов обеспечения безопасной передачи данных — аутентификация клиента и сервера перед началом пересылки данных. Клиент проверяет сервер, к которому он подключается, точно так же как сервер может выяснить, что за клиент к нему подключился. Аутентификация поддерживается двумя протоколами.



Элементы управления ActiveX и безопасность


Занятие 2. Элементы управления ActiveX и безопасность

(Продолжительность занятия 25 минут)

Существует несколько методов защиты информации, хранящейся в компьютере, от воздействия неисправных или намеренно причиняющих вред элементов Web-страниц (например, созданных специально с целью уничтожить данные на Вашем жестком диске). На этом занятии Вы узнаете, как пользователи и разработчики могут контролировать загрузку содержимого с Web-страницы.

Изучив материал этого занятия, Вы сможете:

перечислсть методы контроля за информацией, загружаемой с Web-страниц;

описать, как разработчик может гарантировать безопасность использования элемента управления на Web-странице.

Зоны безопасности Internet Explorer

Пользователи Microsoft Internet Explorer располагают средствами контроля за активными компонентами, загружаемыми с Web-страниц (рис. 8.1). В частности, можно запретить использование любых активных компонентов или разрешить загрузку лишь некоторых их категорий.

Рис.8.1 Настройка зон безопасности в Internet Explorer

> Выбор уровня безопасности в Internet Explorer

Выберите пункт Internet Options в меню View Microsoft Internet Explorer.

Откройте вкладку Security.

В списке Zone выберите зону безопасности Internet Zone и уровень безопас ности (он задается переключателями в группе под списком).

Вы можете выбрать одну из четырех зон:

Local intranet zone (локальная интрасеть);

Trusted sites zone (доверенные узлы);

Internet zone (Интернет);

Restricted sites zone (потенциально опасные узлы).

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

Уровень Описание
High (Высокий) Программа просмотра отказывается от любых активных компонентов Web-страниц. Пользователь должен выбрать другой уровень, если он заинтересован в загрузке активных компонентов
Medium (Средний) Перед загрузкой активного компонента программа просмотра попросит подтверждения у пользователя
Low (Низкий) Все активные компоненты загружаются автоматически, без подтверждения со стороны пользователя. Этот уровень не рекомендуется для зоны Интернета
Custom (Нестандартный) Вариант для опытных пользователей, позволяющий по-разному обрабатывать различные активные компоненты

Если Вы установите высокий уровень безопасности для зоны Интернета, ни один ActiveX-компонент не будет загружен на Ваш компьютер. Однако же для локальной интрасети вполне достаточно низкого уровня — риск наткнуться на компонент-вредитель здесь намного ниже. Отметим, что ActiveX-компоненты загружаются только при подключении к серверу по локальной сети.

Подпись кода ActiveX

Microsoft и другие компании-производители программного обеспечения разработали безопасный и надежный способ распространения программ по Интернету, основанный на цифровой подписи кода элементов управления ActiveX.



Документы ActiveX


Занятие 3. Документы ActiveX

(Продолжительность занятия 15 минут)

Документ ActiveX — это форма, которую можно включить в контейнер документа ActiveX, например Office Binder и Internet Explorer. Документы ActiveX разрабатывают точно так же, как формы в Visual Basic. Они могут содержать внедренные объекты (например, сводные таблицы Microsoft Excel), окна сообщений и подчиненные формы. На этом занятии Вы познакомитесь с документами ActiveX и их возможностями, которые позволяют пользователям интегрировать в состав своих приложений компоненты, обеспечивающие просмотр HTML-и ActiveX-документов.



Кодовые компоненты ActiveX


Занятие 4. Кодовые компоненты ActiveX

(Продолжительность занятия 25 минут)

Кодовые компоненты ActiveX (ранее — OLE-серверы) — это библиотеки объектов, реализующие простой метод повторного использования кода. Библиотеки процедур могут использоваться и в других приложениях (например, Microsoft Office), в состав которых входит Microsoft Visual Basic for Applications. На этом занятии Вы узнаете о двух методах реализации кодовых компонентов ActiveX.

Изучив материал этого занятия, Вы сможете:

описать два способа реализации кодовых компонентов ActiveX;

создать динамическую библиотеку ActiveX средствами Visual Basic и воспользоваться ею в другом приложении;

объяснить, как работает исполняемый файл ActiveX;

описать сходства и различия однократно и многократно используемых компонентов.

Автоматизация и ActiveX

Компоненты кода ActiveX предоставляют свои функциональные возможности приложениям-клиентам посредством OLE-автоматизации (OLE Automation). Клиентская программа использует код компонента, создавая объекты и обращаясь к их свойствам и методам; необходимые клиенту функциональные возможности обеспечивает компонент-сервер (рис. 8.3). Некоторые компоненты, в том числе и Microsoft Access, могут работать в обоих качествах: и как клиент, и как сервер. Однако чаще всего отдельно взятый компонент не способен одновременно исполнять обе роли.

Автоматизация позволяет одному приложению манипулировать объектами другого приложения. Она основана на модели многокомпонентного объекта (Component Object Model, СОМ), способного предоставлять свои функции другим объектам или приложениям. Подобная «прозрачность» позволяет клиентам непосредственно обращаться к объектам и применять их инструментарий. Например, текстовый процессор «открывает» свои функции проверки орфографии, чтобы ими могли пользоваться другие программы. Тем самым посредством автоматизации разработчики вправе расширять возможности своих программ за счет уже готовых функций других приложений.

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

Рис.8.3 Принцип работы кодовых компонентов ActiveX

Динамические библиотеки ActiveX

Компонент может работать как в пределах процесса (in-process), так и вне его (out-of-process). Внутрипроцессный компонент — динамическая библиотека ActiveX — выполняется в рамках процесса другого приложения. В качестве клиента может выступать как внешнее приложение, так и другой Внутрипроцессный компонент, используемый приложением. Все элементы управления ActiveX являются внутрипроцессными компонентами.