"Попытка Microsoft перенести ActiveX на другие платформы не дала того эффекта, на который рассчитывала компания, - считает Эрик Браун из исследовательской компании Forrester Research. - Выяснилось, что технология ActiveX не способна работать не только под управлением Unix: она еле-еле реализуется на компьютерах Macintosh, и даже на некоторых из платформ Microsoft, например на Windows CE, возникают проблемы".
Очевидно, что язык Java буйно расцвел в сети Internet именно благодаря своей способности работать на различных операционных системах. Кроме того, аплеты Java считаются более безопасными, поскольку работают внутри "песочницы", ограничивающей возможность приложений получать доступ к дискам или выполнять системные функции, такие как распределение памяти. Однако аналитики указывают и на некоторые преимущества ActiveX по сравнению с Java, которые проявляются в корпоративных сетях.
ActiveX позволяет разработчикам пользоваться функциями, встроенными в операционную систему Windows. Поскольку программы ActiveX не работают в "песочнице", они могут получать доступ к дискам и выполнять другие функции, обязательные для традиционных настольных приложений. Хотя такой доступ может иметь отрицательные последствия в открытой сети Internet, он является большим плюсом для частных корпоративных сетей, где используется совершенно иной подход к защите информации. Возможно, технология ActiveX также окажется проще в использовании для легионов программистов, уже привыкших работать с Windows.
Некоторые аналитики полагают, что ActiveX принесет более высокие доходы, чем Java, поскольку на корпоративных настольных ПК доминирует OC Windows. По оценкам корпорации IDC, в 2000 г. объем рынка продуктов ActiveX и сопутствующих технологий составит 600 млн дол., а рынка Java-продуктов - лишь 200 млн дол. "То, что деньги вкладываются преимущественно в корпоративные интрасети, - утверждение спорное, но именно в этих сетях имеет смысл использовать ActiveX", - объясняет Дэвид Чэппелл, консультант из Миннеаполиса, ведущий семинары по ActiveX.
Что думают пользователи?
Чэппелл затруднился назвать все компании, применяющие ActiveX в своих сетях. Г-н Браун из компании Forrester говорит: "По нашим наблюдениям, используется намного больше аплетов Java, чем управляющих элементов ActiveX". Некоторые пользователи тоже подтверждают, что предпочитают использовать Java, а не ActiveX. В компании Boeing, например, языком Java пользуются для создания интерфейсов к базам данных. "Мы не применяем ActiveX, поскольку имеем многоплатформенную среду, - объясняет Карл Лек, менеджер проекта по операциям компании Boeing. - У нас есть машины NT, VAX и Unix".
В компании Schlumberger, деятельность которой простирается от выпуска смарт-карт до обслуживания нефтеразработок, также избегают ActiveX. "Мы - приверженцы продуктов корпорации Netscape Communications", - заявляет Дэвид Симс, технический менеджер по информационной технологии этой компании. При этом браузеры компании Netscape традиционно не поддерживают ActiveX, что резко ограничивает число их возможных пользователей. Однако компания сообщила, что собирается ввести поддержку данной технологии в будущие версии своего браузера, а в настоящее время имеются соответствующие встраиваемые модули. Симс утверждает, что "Java вполне справляется с теми задачами, которые необходимо решать Schlumberger". И, в отличие от ActiveX, Java можно использовать в смарт-картах и других микросистемах.
Даже некоторые пользователи браузера Internet Explorer компании Microsoft занимают выжидательную позицию. По данным Web-узла Microsoft, компания Continental Airlines решила использовать Internet Explorer в основном из-за его "естественной поддержки" ActiveX. Однако Майкл Натал, старший менеджер компании Continental по перспективным технологиям, сообщил корреспонденту Network World, что для него это был, главным образом, вопрос цены. В отличие от ПО компании Netscape, браузер Internet Explorer распространяется бесплатно, а "когда у вас 5 тыс. рабочих мест, это существенно". Что касается Internet, компания Continental решила придерживаться Java - это позволит выходить на заказчиков, которые пользуются и Windows, и другой ОС. Внутренние проблемы компания решает с помощью Java и ActiveX. Например, для обеспечения пользователям доступа к статистическим данным по производительности в Continental используются управляющие элементы ActiveX. "Мы управляем настольными ПК, - говорит Натал, ссылаясь на Windows-компьютеры, работающие во всей компании, - и можем, если захотим, что-то сделать с помощью ActiveX. Однако мы еще не решили, какую технологию сделать стандартом. Скорее всего, победит та, которая первой станет поддерживать передачу файлов".
И другие проблемы...
Конечно, ActiveX присущи и другие проблемы. В первую очередь, это терминология. Статьи об ActiveX на самом деле обычно говорят об управляющих элементах ActiveX (ActiveX Controls). Это небольшие программы, передаваемые через World Wide Web, которые напоминают аплеты Java и обычно работают внутри Web-браузера. Однако фактически термин ActiveX обозначает широкий класс объектно-ориентированных технологий, основанных на моделях Common Object Model (COM) и Distibuted COM компании Microsoft. Архитектура ActiveX выросла из технологии OLE компании Microsoft, обеспечивающей взаимодействие различных программ. "Это вводит в заблуждение, поскольку под названием ActiveX со временем начали подразумевать иные вещи", - говорит Чэппелл.
Еще одна проблема - совместимость. В брошюре, распространенной на выставке "Internet World" еще в марте, компания Microsoft гордо заявляет, что ActiveX обеспечивает "открытую многоплатформенную поддержку операционных систем Macintosh, Windows и Unix". В настоящее время такое же утверждение можно найти на ее Web-узле. Однако даже приверженцы ActiveX, такие как Чэппелл, считают это преувеличением. "ActiveX лучше работает на платформах Microsoft, поскольку данная технология разработана преимущественно для использования функций, встроенных в указанную операционную систему", - говорит он.
Некоторые аналитики утверждают, что ActiveX кое-как работает на платформах других операционных систем - если вообще работает. "Я еще не увидела полностью завершенной версии ActiveX для других платформ", - говорит Джина Сентони, менеджер по продуктам JavaBeans компании Sun Microsystems. К тому же, указывает Сентони, в реализации переноса на другие платформы Microsoft зависит от внешних производителей - компании Metrowerks (компьютеры Macintosh), корпорации Mainsoft и компании Bristol Technology (Unix-системы).
Microsoft намерена снять хотя бы часть критических замечаний, передав ActiveX консорциуму Open Group - организации компьютерных производителей и пользователей, объединившихся для продвижения стандартов. Компания IDC приветствовала этот шаг в отчете Microsoft Sheds ActiveX Shackles ("Microsoft сбрасывает узы ActiveX"). Однако Microsoft не собирается уступить контроль за данной технологией. Компания предоставила для общественного рассмотрения только некоторые компоненты кода (в свое время компания Sun так же поступила с Java). Как констатировал Браун из компании Forrester, консорциум Open Group не получил достаточных прав, чтобы сделать ActiveX более открытой.
Как бы то ни было, ActiveX - многообещающая технология для Windows-машин. ActiveX используют так много разработчиков, что компания Sun недавно выпустила утилиту, призванную помочь в создании Java-версии управляющих элементов ActiveX. Однако перевод управляющих элементов ActiveX на язык Java осуществить непросто. Sun не стала называть эту программу инструментальным средством, поскольку разработчикам все еще приходится прикладывать немало сил для использования функций операционной системы Windows. "В действительности, это две разные технологии", - утверждает Сентони. Так что для своего открытого Web-узла вы можете выбрать Java, а ActiveX принесет больше пользы внутри корпоративной сети.