ActiveX - это ответ Microsoft на вопрос, на который ответов уже предложено едва ли не больше, чем хотелось бы: как преодолеть ограничения языка HTML и сделать Web-страницу не менее разнообразно оформленной и интерактивной, чем какое-нибудь мультимедийное приложение? Решение, предложенное корпорацией Netscape, известно довольно давно: это, с одной стороны, апплеты (небольшие специализированные программы на языке Java), а с другой - подключаемые модули (plug-ins), которые, будучи почти самостоятельными приложениями, способны реализовать любую функцию интерфейса или обработки данных.
Технология ActiveX вместо всего этого предлагает органы управления - по многим параметрам, нечто среднее между апплетами и подключаемыми модулями. Орган управления - это небольшая программа, которой броузер выделяет на странице определенный участок прямоугольной формы. В пределах своего участка орган управления полностью отвечает за перерисовку экрана и взаимодействие с пользователем. Например, "орган управления" в строгом смысле этого слова может реализовать что-нибудь вроде движка прокрутки или выпадающего меню, которых сам HTML создать не может; другие модули могут принимать от пользователя, обрабатывать и выводить данные, строя динамически меняющиеся диаграммы или даже ведя небольшую электронную таблицу прямо в окне броузера; наконец, органы управления еще одного типа решают чисто оформительские задачи - скажем, покрывают выделенный им участок узором, плавным переходом цветов, движущимся текстом или изображением.
От модулей Netscape Navigator органы управления ActiveX отличаются более узкой и дробной специализацией, меньшими размерами передаваемых по сети файлов, а главное - полностью автоматизированной установкой. Встретив в HTML ссылку на некий орган управления, броузер сначала проверяет, нет ли его уже на компьютере пользователя (то есть не использовался ли он раньше). Если орган управления найден, броузер запускает его, передает ему нужные для работы данные и, таким образом, обходится без лишнего выхода в сеть.
Если же этого компонента на компьютере еще нет, броузер обращается к серверу, адрес которого указан в теле HTML-документа, и, перекачав с него файл, устанавливает и регистрирует новый орган управления в Windows. В принципе, после этого органом управления может пользоваться не только броузер, но и любое приложение, способное работать с так называемыми "нестандартными органами управления OLE" ("OLE Custom Controls", OCX).
Однако самые важные достоинства и недостатки органов управления ActiveX нагляднее всего показывает сравнение их с Java-апплетами. Первый бросающийся в глаза недостаток всей системы ActiveX - ее жесткая привязка к конкретной операционной системе (Windows 95/NT). Поскольку значительную часть поддержки ActiveX и взаимодействия компонентов OLE обеспечивает сама операционная система, то перенести все это хозяйство, к примеру, на UNIX будет очень и очень непросто.
Второй, очень серьезный недостаток - безопасность. Файл с расширением .ocx, в котором содержится компонент системы ActiveX, получает управление практически так же, как и любой другой исполняемый файл в Windows, и обладает теми же правами - например, правом бесконтрольной записи на диск (под Windows NT эти права могут быть ограничены уровнем привилегий пользователя, запустившего данный компонент). Очевидно, что здесь открываются широкие перспективы для деятельности авторов вирусов и прочих зловредных программ, для которых ActiveX может стать весьма комфортной питательной средой.
Как известно, разработчики языка Java решили эту проблему, заключив апплеты в непроницаемую капсулу виртуальной машины, из которой они не смогут нанести никакого вреда компьютеру. Фирма Microsoft пошла по другому пути и разработала систему электронных подписей, которыми разработчики должны удостоверять подлинность всех созданных ими компонентов ActiveX. Предполагается, что каждый пользователь составит для себя список тех компаний, которым он согласен доверять с закрытыми глазами, после чего броузер будет устанавливать на компьютер и запускать органы управления этих фирм без лишних вопросов.
Если же броузеру встретится ссылка на файл, подписанный неизвестно кем или не подписанный вообще, то решение о том, брать ли на себя риск связываться с этим компонентом, придется принимать пользователю (рис. 1).
