Федеральное Государственное образовательное учреждение
высшего профессионального образования
«Поволжская академия государственной службы
имени П.А.СТОЛЫПИНА»
Кафедра прикладной информатики
и информационных технологий в управлении
курсовая работа
по дисциплине: «Высокоуровневые методы информатики и программирования»
на тему: «Компоненты ActiveX»
Саратов 2008 г.
Содержание
Введение
1. Internet и технологии ActiveX
2. Программные компоненты ActiveX
3. Загрузка программных компонент ActiveX
4. Макроязыки ActiveX
5. Документы ActiveX и средства разработки компонентов ActiveX
6. Поддержка Java
Заключение
Библиографический список
Элементы управления ActiveX являются результатом повторной попытки фирмы Microsoft разработать модель мобильного кода. Их часто описывают как приспособленную для Web технологию создания документов со связыванием и внедрением объектов (Object Linking and Embedding — OLE). На самом деле это сильно упрощенная трактовка набора интерфейсов, спецификаций и претендующих на исключительность парадигм разработки, входящих в модель СОМ компании Microsoft (COM — ComponentObjectModel), которая и составляет основу технологии 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 в Интернете.
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 и т. д.
Сегодня существует очень много приложений, которые активно используются в повседневной работе. С помощью технологии 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, можно использовать эту программную компоненту, которая загружается только один раз и сохраняется на локальном диске, а затем запускается каждый раз по мере надобности. Вместо этого, каждый раз при рисовании нового графика по сети передаются только числовые данные, а не сам рисунок, что экономит время.
• Способность отображения текста под любым углом с использованием эффектов анимации. Текст, расположенный по диагонали или вертикально в некоторых случаях может быть более информативным и привлекательным.