Объекты
В области средств сетевой разработки Netscape испытывает острую конкуренцию со стороны Microsoft
Корпорация Netscape Communications обеспокоена горячим дыханием Microsoft за своей спиной. Это заметно при сопоставлении ее среды разработки Open Network Environment (ONE) с ActiveX, аналогичным продуктом Microsoft, в противовес которому появилась ONE.
Проект ActiveX, которому нет еще и года, возник в результате его искусного вычленения из “модели составных объектов” (COM - Component Object Model), на которую ранее опиралась технология OLE.
Microsoft добавила к этой модели сетевые возможности, создав таким образом DCOM (Distributed COM), а затем взяла самое необходимое из ядра, поддерживающего элементы управления в OLE, получив в результате более изящный пакет ActiveX, после чего выпустила внушительный ансамбль приложений, основанный на составных объектах и ориентированный на Internet.
В качестве исполняемого кода в среде ONE выбраны языки Java и JavaScript, тогда как Microsoft предпочитает Си++ и Visual Basic версии 5.0, которая должна вскоре увидеть свет.
Java - объектно-ориентированный язык, поддерживающий параллельное исполнение, основанный на строгой типизации и полностью независимый от среды разработки. Язык JavaScript, разработанный отдельно от Java, не является вполне объектно-ориентированным (не имеет механизмов инкапсуляции и наследования); это язык интерпретирующего класса, без типов, предполагающий последовательное исполнение и сохраняющий некоторые родимые пятна языка HTML.
Microsoft предлагает в качестве инструмента для программирования элементов управления ActiveX язык VB-Script, который, хотя и несколько уступает JavaScript по возможностям, является строгим подмножеством другого языка Microsoft - Visual Basic for Applications. Благодаря этому использование VB-Script в качестве начальной ступени освоения мощного Visual Basic 5.0, поддерживающего составные объекты, существенно проще, чем аналогичный путь от простого к сложному в среде ONE.
Чтобы обеспечить взаимодействие между приложениями на различных платформах, ONE использует интернетовский протокол Inter-ORB, который поддерживается консорциумом OMG (Object Management Group). Microsoft же, как говорилось выше, опирается на технологию DCOM.
В среде ONE функциями нижнего уровня являются функции IFC (Internet Foundation Classes) - мобильных классов Java, не привязанных ни к какой платформе, что отличает их от опирающейся на Си++ и жестко связанной с конкретной системой команд технологии Microsoft, включающей библиотеку базовых классов и, в ближайшем будущем, среду Control Development Framework для Visual Basic. Учитывая прошлые “успехи” Microsoft в сфере технологий, не зависящих от платформы, IFC кажется более сильным вариантом в краткосрочной перспективе.
Но переносимость тоже не дается даром, даже если речь идет о Java. Netscape критикует ActiveX за привязанность к платформе, однако упускает из виду, что реализация Java на разных машинах сильно зависит от их архитектуры. Поддержка многопотоковости и машинно-зависимых “экспертов” (технологии базового уровня, обеспечивающей переносимость Java) для графических сред - проблемы, которые ждут своего разрешения.
Наиболее существенными могут оказаться различия в подходе к такому вопросу, как безопасность. Виртуальная машина Java имеет встроенную защищенность, т. е. вопросы безопасности решены здесь на уровне проектирования, а не в виде дополнительного механизма. Поэтому приложения Java защищены как от умышленного, так и от случайного нарушения целостности системы. Это обеспечивается сочетанием механизмов верификации кода и анализа потока данных, сопровождающих всякий процесс запуска Java-приложения.
ActiveX не обладает такими внутренними механизмами, гарантирующими защищенность, и вместо них предлагает лишь механизм шифрования, дающий гораздо более низкий уровень безопасности.
Питер Коффи