Компоненты ActiveX

2







Федеральное Государственное образовательное учреждение

высшего профессионального образования

«Поволжская академия государственной службы

имени П.А.СТОЛЫПИНА»





Кафедра прикладной информатики

и информационных технологий в управлении







курсовая работа



по дисциплине: «Высокоуровневые методы информатики и программирования»

	на тему: «Компоненты ActiveX»























Саратов 2008 г.


Содержание



	Введение

	Internet и технологии ActiveX

	Программные компоненты ActiveX

	Загрузка программных компонент ActiveX

	Макроязыки ActiveX

	Документы ActiveX и средства разработки компонентов ActiveX

	Поддержка Java

	Заключение

	Библиографический список


Введение



Элементы управления ActiveX являются результатом повторной попытки фирмы Microsoft разработать модель мобильного кода. Их часто описывают как приспособленную для Web технологию создания документов со связыванием и внедрением объектов (Object Linking and Embedding — OLE). На самом деле это сильно упрощенная трактовка набора интерфейсов, спецификаций и претендующих на исключительность парадигм разработки, входящих в модель СОМ компании Microsoft (COM — Component Object Model), которая и составляет основу технологии ActiveX. В то же время подобные упрощения способствуют лучшему пониманию. Приложения ActiveX могут создаваться для выполнения определенных задач (таких как воспроизведение видео- или звукового файла). Их можно поместить на Web-страницу, и тогда эти программы будут выполнять свои функции при ее просмотре точно так же, как технология OLE поддерживает операцию вставки электронных таблиц Excel в документы Word. 

Обычно файлы с элементами управления ActiveX имеют расширение .OCX (исключением являются элементы управления ActiveX, написанные на Java). Они вставляются в Web-страницы с помощью дескриптора OBJECT, в котором указано, откуда элемент управления нужно загрузить. Когда браузер Internet Explorer обрабатывает Web-страницу с внедренным в нее элементом управления ActiveX (или несколькими элементами управления), первым делом он обращается к локальному системному реестру. Там он пытается определить, имеется ли на компьютере требуемый компонент. Если это так, Internet Explorer отображает Web-страницу, загружает элемент управления в свое адресное пространство и выполняет его код. Если необходимый элемент управления не найден, Internet Explorer загружает его из того места, которое указано в дескрипторе <OBJECT>, и устанавливает на компьютере пользователя. Кроме того, с помощью сертификатов Authenticode браузер выполняет верификацию автора кода, а затем запускает его. По умолчанию элементы управления кэшируются в каталоге \windows\occache. 

Не выходя за рамки вышеописанной модели, хакер-программист может создать элементы управления ActiveX, которые будут выполнять на компьютере пользователя практически все, что захочется их автору. Что же может помочь в такой ситуации? Сертификаты Authenticode компании Microsoft. Эта подсистема позволяет разработчикам использовать механизмы шифрования и создавать для своего кода криптографические подписи, которые перед запуском элемента ActiveX будут аутентифицироваться браузером Internet Explorer и приложениями сторонних производителей (одним из таких производителей является компания Verisign Corporation). 

Как же на самом деле используются сертификаты Authenticode? В 1996 году программист по имени Фред Маклейн (Fred McLain) написал элемент управления ActiveX, который корректно выключал пользовательский компьютер, если он работал под управлением операционной системы Windows 95 с улучшенным управлением электропитанием. Для этого кода, названного автором Internet Exploder («взрывная машинка Internet»), компания Verisign выдала ему подлинный сертификат, после чего Маклейн разместил программу на собственном Web-узле. В результате недолгих дебатов о целесообразности такой публичной демонстрации модели безопасности Authenticode, компании Microsoft и Verisign лишили Маклейна сертификата, обвиняя его в нарушении обязательств, на которых основан этот документ. Элемент Exploder работает как и раньше, но при этом он информирует любителей попутешествовать в Internet о том, что код не зарегистрирован, и дает им возможность отказаться от его загрузки. 

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


1. Internet и технологии ActiveX



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

Большинство пользователей Web будут иметь дело с программными компонентами, активными документами и макроязыками на основе ActiveX, но вообще ActiveX более многогранна, она включает в себя клиентскую, серверную части и библиотеки для разработчика, а именно:

•	Программные компоненты ActiveX - компоненты, работающие на компьютере-клиенте, но загружаемые в первый раз с сервера Web. С их помощью можно показывать разнородную информацию, включающую звук и видео без запуска дополнительных программ. Более того, эти программные компоненты могут использоваться в приложениях, написанных на любых популярных языках программирования, включая Java, Visual Basic, Visual C++.

•	Active Scripting поддерживает любой популярный макроязык, включая Visual Basic Script и JScript. Макроязыки могут использоваться для объединения на одной странице нескольких программных элементов ActiveX или Java, обеспечивая их взаимодействие между собой.

•	Документы ActiveX позволяют открыть документ любого формата в окне Microsoft Internet Explorer и способны поддерживать полноценную работу с ним. Можно, например, открыть файл Microsoft Excel или Word с помощью проводника Internet. Наследует давно знакомую концепцию активных документов OLE (OLE Active Documents).

•	Виртуальная машина Java(tm) позволяет любому проводнику Internet, поддерживающему технологию ActiveX (например, Internet Explorer ) выполнять программные компоненты Java и обеспечивать их взаимодействие с программными компонентами ActiveX.

•	ActiveX Server Framework обеспечивает серверные функции ActiveX, сюда входят поддержка безопасных соединений, доступ к базам данных и другие.

•	Средства разработки позволят использовать знакомые средства разработки Microsoft или третьих фирм при создании программных компонент на Web-сервере. Эти средства включают в себя Visual Basic, Visual C++, Macromedia Shockwave, Adobe Photoshop, Borland Delphi, средства программирования Sybase и Borland, другие средства, способные создавать программные компоненты Java и т. д.



2. Программные компоненты ActiveX



Сегодня существует очень много приложений, которые активно используются в повседневной работе. С помощью технологии ActiveX эти программы могут легко использоваться и в глобальных сетях. При создании технологии ActiveX, специалисты Microsoft переписали OLE таким образом, чтобы эти библиотеки удовлетворяли таким требованиям (важным при работе в Internet), как высокая скорость выполнения и небольшой размер кода. Так же как и OLE, ActiveX базируется на технологии COM (и ее расширении Distributed COM). Таким образом, ActiveX представляет собой ни что иное, как программные библиотеки, полностью совместимые по вызовам (API) с OLE, но оптимизированные для работы в глобальных сетях, поэтому любой ранее написанный программный элемент OLE (OLE Control) будет работать с библиотеками ActiveX.

При использовании новой технологии ActiveX пользователю больше не придется вручную загружать отдельные программы для просмотра страниц, содержащих видео, звук, анимационные эффекты и т.д. Они могут быть загружены автоматически с самой страницы, причем будет загружен код, подходящий для конкретной платформы клиента, будь то Macintosh, Windows или Unix. Используя популярные языки программирования: Visual C++, Visual Basic или Java, Web-мастера могут легко создавать программные компоненты и помещать их на свои страницы. Это так же просто, как работать с компонентами в Visual Basic или Microsoft Access. Кроме того, используя макроязыки ActiveX, программисты могут обеспечивать взаимосвязь различных компонент. Несколько примеров: как программные компоненты помогут оживить страницы Web:

•	Динамическое обновление страниц в зависимости от действий пользователя, внешних событий или состояния самого Web-сервера. Например, программная компонента "Новости" может применяться для показа информации, актуальной до определенного времени или компонента "Часы" (Timer) может использоваться для синхронизации работы других компонент или для привлечения внимания пользователя после продолжительного периода неактивности.

•	Снижение сетевого трафика с помощью графического отображения данных. Например, программная компонента ActiveX Chart (ее можно загрузить с www.microsoft.com/ie), используется для построения графика по числовым значениям. Вместо того, чтобы все время для отображения графиков передавать картинки с помощью тега IMG, можно использовать эту программную компоненту, которая загружается только один раз и сохраняется на локальном диске, а затем запускается каждый раз по мере надобности. Вместо этого, каждый раз при рисовании нового графика по сети передаются только числовые данные, а не сам рисунок, что экономит время.

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



3. Загрузка программных компонент ActiveX



При просмотре страниц со ссылками на программные элементы ActiveX, эти элементы устанавливаются автоматически без какого-либо вмешательства пользователя. В отличие от компонент plug-in, введенных Netscape, не нужно отдельно запускать программу установки этого программного компонента, а затем перезапускать программу просмотра.

Кроме того, применяя программные компоненты ActiveX с цифровой подписью, можно быть уверенным, что данный код не был изменен в процессе передачи по Internet. Если программный элемент еще не установлен на компьютере, Microsoft Explorer проверит цифровую подпись, которая передается вместе с кодом.

Достаточно большое количество программных элементов ActiveX находится в свободном доступе. Галерея компонент ActiveX находится по адресу http://www.microsoft.com/activex/gallery/. Галерея представляет собой набор программных элементов и примеров страниц с их использованием, разработаны эти компоненты не только Microsoft, но и различными третьими фирмами. Галерея будет расширяться по мере написания дополнительных программных элементов. Рассмотрим подробнее некоторые компоненты ActiveX.

Программная компонента ActiveMovie

С помощью ActiveMovie, можно помещать на страницы видео - и аудиоролики, записанные в популярных форматах: AVI, QuickTime, MPEG, WAV, AU, AIFF, или MIDI. Это означает, что Web-мастера могут помещать любые ролики на свои страницы без всякого опасения, что их не сможет воспроизвести программа просмотра. Расширяемая архитектура ActiveMovie позволяет добавлять поддержку других форматов, менее популярных сейчас или будущих разработок. Этот элемент можно загрузить с http://www.microsoft.com/ie/download/.

Видеопроигрыватель для PowerPoint

Новый видеопроигрыватель Microsoft PowerPoint Animation Player for ActiveX - самое легкое средство оживить статическую страницу без изучения сложных языков программирования или покупки сложной аппаратуры и программ создания заставок мультимедиа. Это средство могут использовать все те, кто умеет работать с PowerPoint, все анимационные эффекты, использующиеся в PowerPoint для Windows, могут быть перенесены на страницу Web: движущиеся объекты, выплывающий текст, музыкальное оформление и так далее.

Программный элемент поддержки VRML

Этот программный элемент реализует поддержку языка моделирования виртуальной реальности (Virtual Reality Modeling Language - VRML), с его помощью можно наблюдать и исследовать 3-мерные объекты и виртуальные пространства в Internet. Этот программный элемент поддерживает расширения VRML 1.0 , и позволяет загружать фоновые рисунки, встраивать виртуальные пространства VRML на страницы Web, показывать объемные объекты. После того, как содержимое страницы VRML загрузится, пользователь может выбрать, как ему перемещаться по виртуальному миру, он может идти прямо, поворачивать, перемещаться вбок, наклоняться в любую сторону. Перемещение по 3хмерному миру может осуществляться с помощью мыши, клавиатуры или джойстика. В следующей версии будет реализована поддержка VRML версии 2.0.

Программный элемент HTML Layout Control

Этот элемент позволяет просматривать достаточно сложные страницы, где для указания месторасположения объектов используются координаты, объекты можно накладывать друг на друга и указывать степень их прозрачности. Объекты можно располагать, используя смещение относительно верхнего и левого краев страницы, указывать их размеры и порядок перекрытия (z-order). HTML Layout Control реализует будущее дополнение к стандарту HTML по размещению на страницах Web плоских объектов. Элемент HTML Layout Control может использоваться как основа для работы и размещения на страницы других программных компонент ActiveX. Этот элемент можно загрузить с http://www.microsoft.com/ie/download/ieadd.htm.

Программный элемент ActiveX RealAudio

Позволяет прослушивать записи RealAudio, помещенные на странице Web.

Программный элемент ActiveX Marquee

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

Другие программные компоненты

Любой Web-мастер или пользователь может загрузить из галереи ActiveX по адресу http://www.microsoft.com/ie/appdev/controls/default.htm любой программный элемент и использовать его для улучшения своего Web-сервера.

		Label. Этот программный элемент позволяет отобразить текст под углом или расположенный каким-либо другим образом. Эта возможность знакома людям, работающим с издательскими программами, а для HTML она нова, но вместе с тем и привлекательна. При использовании макроязыков можно управлять этим объектом: двигать его, заставлять его расти или уменьшаться, менять цвета и т. п.

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

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

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

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

		Popup Menu. Позволяет отобразить выпадающее меню с несколькими вариантами выбора.

		Chart. Позволяет графически отображать табличную информацию в различных вариациях и разными графиками.



4. Макроязыки ActiveX



Поскольку Microsoft Internet Explorer поддерживает Visual Basic Script и Java Scripting, эта программа просмотра предлагает уникальные возможности по управлению содержимым Web-сервера с помощью макроязыков. Используя макроязыки, можно создавать страницы, активно взаимодействующие с пользователем.

С помощью макроязыков можно создавать страницы, на которых будет осуществляться взаимодействие программных компонентов ActiveX, Java, других программ на клиентском компьютере, различных частей самого Internet Explorer, например, взаимодействие документа HTML с панелью управления или меню. Рассмотрим вышеназванные макроязыки Visual Basic Script и Java Scripting.

Visual Basic Scripting Edition. VB Script является подмножеством языка Visual Basic и предназначен для программирования страниц Web. С его помощью можно заставить взаимодействовать разные объекты на странице, в том числе программные компоненты. Этот язык полностью совместим с Visual Basic и Visual Basic for Applications. Microsoft откроет VBScript для бесплатного лицензирования третьим компаниям, производящим программы просмотра ресурсов Internet. С помощью VBScript, программисты могут отслеживать события, получаемые от программных компонентов ActiveX, активизировать методы и изменять свойства компонентов ActiveX. Код, написанный на VBScript легко изменять, поскольку он находится на самой странице. Выполняться он может на всех платформах, где есть или будут интерпретаторы этого языка.

Java Scripting. JScript обеспечивает такую же функциональность, как и VBScript. Реализация Microsoft этого языка позволяет связывать и синхронизировать объекты на странице, включая программные компоненты ActiveX и Java, создавать страницы, способные реагировать на действия пользователей.



5. Документы ActiveX и средства разработки компонентов ActiveX



ActiveX Documents позволяет открыть окно другого приложения внутри Internet Explorer. Это означает, что с помощью Internet Explorer можно открывать и работать, например, с таблицами Microsoft Excel, после чего можно вернуться на Web-страницу, с которой была ссылка на эту таблицу.

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

Internet Explorer может служить не только клиентом ActiveX Document, но быть и сервером ActiveX Document. Это означает, что любое приложение может использовать Internet Explorer для просмотра файлов формата HTML.

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

Программисты могут создавать компоненты ActiveX, используя любой язык программирования, включая давно знакомые Visual Basic, Visual C++, или новые средства программирования, такие как Java.

С помощью Visual Basic, программисты смогут писать компоненты ActiveX и конвертировать существующий код в VB Script простой манипуляцией мышью. Все макросы, которые использовались в приложениях Microsoft Office, могут быть легко перенесены на страницы Web. Если программист использует новый язык Visual J++, он увидит снова знакомый интерфейс Microsoft Developer's Studio - привычный отладчик и редактор - и сможет создавать машинно-независимые программные компоненты Java, способные выполняться в Internet Explorer.

Если пользователь хочет быстро с нуля разрабатывать компоненты ActiveX, он может использовать Microsoft ActiveX Development Kit (MADK). Он включает в себя все средства и информацию, необходимые для этого.

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



6. Поддержка Java



Internet Explorer является открытой платформой, построенной согласно стандартам Internet. Эта платформа позволяет Web-мастерам создавать, а пользователям - смотреть информацию, оформленную с помощью всего самого нового, что появляется в технологиях. Начиная со второй бета-версии, Internet Explorer включает в себя самую быструю реализацию Java.

Microsoft Internet Explorer позволяет элементам Java использовать все преимущества ActiveX, более того они могут быть сами элементами ActiveX. Фактически, язык Java - один из самых подходящих для создания элементов ActiveX. В Microsoft Internet Explorer встроен самый быстрый компилятор Java Just-in-Time (JIT).

Кроме того, Microsoft Internet Explorer позволяет использовать языки сценариев, включая сценарии VBScript или JScript, чтобы связывать программы Java с другими элементами ActiveX.

Справочник Java, поставляемый вместе с Visual J++ содержит описания того, как вызывать функции из программ Java c помощью вызовов из программных компонентов ActiveX, написанных на других языках (Visual Basic, Visual C++). Кроме того, Java - идеальное средство для написания программных компонентов ActiveX и других компонент COM.

В отношении Java Internet Explorer реализует в себе следующее:

		Отрабатывает программы Java

		Обеспечивает работу виртуальной машины Sun Microsystems в среде Win32.

		Позволяет Web-мастерам связывать программы Java друг с другом, либо с компонентами ActiveX, используя любой язык сценариев.

		Обеспечивает встроенную безопасность Java (включая стандартные схемы безопасности и цифровую подпись). 

		Обеспечивает быструю компиляцию программ Java при их выполнении.

Компилятор JIT Microsoft Internet Explorer обеспечивает быстрое выполнение программ Java, это видно из нижеследующей схемы сравнения скорости выполнения программ Java Internet Explorer и Netscape Navigator. В таблице представлены оценки выполнения программ Java – более высокие значения оценок характеризуют более высокую скорость выполнения.



Таблица. Скорости выполнения программ Java в Internet Explorer и Netscape Navigator

Microsoft Performance Test

Netscape Navigator

Internet Explorer

Sieve

4263

4665

Loop

7654

8112

Logic

2108

2181

String

36

132

Float

1228

2661

Method

2305

2903

Image

26

137

Graphics

61

47

Dialog

171

31

Общая оценка

1383

1705



Эта таблица показывает, что компилятор JIT, встроенный в Internet Explorer на 18% - 21% быстрее, чем Netscape Navigator.

При проведении подобных тестов различными независимыми компаниями были получены аналогичные результаты. Например, тесты производительности Microbenchmark и Linpack показали, что компилятор Microsoft быстрее, чем у Netscape. По результатам этих тестов был сделан вывод о том, что Internet Explorer быстрее при доступе к переменным, немного медленнее на простых математических операциях и намного быстрее при создании объектов и при синхронизации их поведения.


Заключение



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

Программисты, используя языки программирования типa C, C++, Visual Basic, Java и некоторые другие, мoгут разрабатывать различные виды управления на базе технологии ActiveX. ActiveX-управление отчасти схоже c Java-апплетами, но, в отличие oт последних, имеет совершенно свободный доступ к ресурсам OC Windows, что предоставляет ему большие возможности, чeм у Java-апплетов. Однако, при этом возникает некоторая доля pиcкa его вредного вмешательства в работу стороннего ПO. Для снижения этого pиcкa корпорация Microsoft разработала специальную регистрационную систему, c помощью которой браузеры способны идентифицировать ActiveX-управление и проверить его на подлинность еще перед тем, как оно будет загружено. Кроме того, компоненты ActiveX могут содержать вредоносный код, однако правильные настройки Internet-браузера и использование лицензионного антивирусного программного обеспечения позволяет практически свести на нет потенциальную опасность технологии ActiveX. К недостаткам ActiveX также следует отнести то, что ActiveX-управление работоспособно только в OC Windows, в отличие от, например, Java-апплетов, способных работать на всех платформах. 

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


Библиографический список



		В. Шмидт. Microsoft Visual Basic 5.0. M.: 1997.

		Колесов А., Павлова О. «Использование элементов управления ActiveX в документах Word» КомпьютерПресс.–1998.–№4.–с. 114-122.

		материалы сайта http://www.microsoft.ru/offext/developers/ от 09.04.07

		материалы сайта http://www.cetis.ru/ от 10.04.07