А если Java сможет приобрести достаточную популярность и стать стандар-
том де-факто, то весь Интернет и вся компьютерная технология вообще вый-
дут на качественно новый уровень развития, когда ресурсы компьютеров
всего мира будут объединены в один компьютер под названием Сеть.
Проект Java вырос из проекта под названием Oak. Когда использование
WWW еще не было столь распространенным, в лабораториях Sun велись работы
над созданием языка, предназначенного для управления бытовой электрони-
кой. Язык должен был быть удобным, компактным, эффективным и переноси-
мым. Тогда получить искомое решение не удалось, вероятно потому, что ры-
нок еще не был готов использовать технологии, которые и сегодня похожи
на фантастику. Но работы были начаты, и дело не погибло - с появлением
WWW и развитием компьютерных сетей вообще проект получил второе дыхание.
Технология Java оказалась ровно тем, чего не хватало World Wide Web. У
истоков Java стояли такие легендарные личности, как Билл Джой (Bill
Joy), один из крестных отцов BSD UNIX, и Джеймс Гослинг (James Gosling),
создатель сетевой оконной технологии NeWS (которая, вероятно, была лучше
всех, существующих сегодня, но не получила распространения по коммерчес-
ким причинам).
Java позволяет решить самые глубокие проблемы WWW: отсутствие инте-
рактивности, ограниченный контроль вида документа, ограниченный набор
форматов встроенной графики и других объектов мультимедиа. Если Вы соз-
даете документ в Интернет и используете Java, то, включив в документ
картинку в придуманном Вами формате, Вы можете также указать ссылку на
программу, которая умеет читать Ваш формат и рисовать картинку. Если Вас
не устраивают существующие протоколы передачи данных в Интернет, то Вы
можете определить свой протокол и передавать данные по нему, предвари-
тельно указав ссылку, откуда брать программу для его поддержки. WWW-на-
вигатор, поддерживающий Java, неограниченно расширяем и позволяет реали-
зовать все, что угодно. При этом замечательна та особенность, что с точ-
ки зрения пользователя все предельно просто - он пользуется стандартным
интерфейсом, не замечая никаких сложностей с форматами, протоколами и т.
д.
Сегодня Java применяется для передачи через Интернет аплетов, ма-
леньких программ, обычно реализующих простые вещи для украшения
WWW-страниц. Однако возможности и перспективы проекта Java уходят далеко
за горизонты WWW. Принципиально новой идеей является передача через Ин-
тернет не просто данных, но приложений. Новая технология сделала доку-
менты объектами, вместе с которыми стали передаваться и методы их обра-
ботки. Это предоставляет возможность построения средствами Java больших
программных продуктов, полностью использующих возможности современных
корпоративных информационных сред, построенных на базе высокоскоростных
сетей и мощных серверов баз данных в архитектуре клиент-сервер. Одной из
самых последних новостей стало сообщение, что компания Sun Microsystems
собирается начать выпуск Java-терминалов, компактных и дешевых уст-
ройств, состоящих из дисплея, устройств ввода (клавиатуры, мыши и т.п.),
простого процессора со встроенным оптимизированным интерпретатором Java
и сетевой карты. Давайте попробуем заглянуть в завтра. Используя такие
устройства, можно построить практически идеальную корпоративную информа-
ционную систему, где данные хранятся на одном сервере, обрабатываются на
другом, а отображаются на Java-терминалах. Такая схема наиболее эконо-
мична и практична: пользовательские рабочие места дешевы, поскольку их
ресурсы и архитектура специализированы и адекватны возлагаемым на них
задачам; сеть минимально загружена, поскольку по ней не передается ин-
формация о том, как рисовать изображение практически по точкам (как это
делается сегодня в X Window System), но передаются методы отображения
объектов и данные, а значит трафик гораздо ниже; вычислительные ресурсы
централизованы, а значит более эффективно используются, данные также
централизованы и проще управляются, резервируются и надежней защищены.
Не секрет, что в последнее время продажи мейнфреймов стали вновь увели-
чиваться - а вышеописанная архитектура позволила бы соединить лучшее из
технологий мейнфрейм и клиент-сервер. Но пока это все лишь замки на пес-
ке - Java-терминалы еще никто не видел, ни одного реального примера реа-
лизации технологии еще нет, а значит нельзя сказать, какие сложности мо-
гут ожидать технологию Java.
Но давайте будем оптимистами. Конечно, все примеры использования тех-
нологии Java находятся сегодня на уровне программы "Hello World", но все
больше и больше пользователей и разработчиков Интернет начинают ис-
пользовать Java, каждый день появляются новые аплеты. Примеров больших
решений еще нет, но скорость движения дает повод для положительных прог-
нозов. Проект взял хороший старт и имеет все, что нужно для успеха: под-
держку компьютерного гиганта, открытость, доступность исходных текстов
программ, легкую переносимость (один из добровольцев, адаптировавших
Java под ОС Linux, писал, что исходные коды Java написаны очень добротно
и специально подготовлены для переноса на другие платформы), поддержку
самой популярной платформы персональных компьютеров - Windows 95, сов-
местимость с C++ (а значит и большое число программистов, способных пи-
сать на нем программы), поддержку независимых производителей программно-
го обеспечения (например, Borland обещает выпустить среду разработки
программ на Java), поддержку самого популярного WWW-навигатора -
Netscape, а главное - энтузиазм и поддержку миллионов пользователей Ин-
тернет.
Компания Sun Microsystems рассчитывает с помощью Java шагнуть в сле-
дующее тысячелетие первой, создав новый рынок с новой парадигмой: "Сеть
- это компьютер". Как прошли времена мейнфреймов, так пройдут времена
неоправданно мощных персональных компьютеров, и что же придет тогда? Sun
предлагает Java и имеет хорошие шансы на успех.
Было бы нечестно не рассказать и о недостатках этой технологии. От-
сутствие реальных решений уже было упомянуто выше, но оно не является
принципиальным недостатком. Следующей проблемой является недоработан-
ность либо недостаточная стабильность WWW-навигаторов, поддерживающих
Java. Но ведь когда маленький ребенок начинает говорить, не выговаривая
букву "р" - это вполне нормально. Еще одной полупроблемой является тяже-
лое наследие C++. Поддержка старого языка - всегда палка о двух концах -
все ухабы и рытвины сохранились, но зато они уже известны. Хуже то, что
виртуальная машина Java построена в расчете на идеологию C++, и построе-
ние компиляторов из других языков в псевдокод Java может быть очень
сложным, хотя возможность такая и существует. Так, в сетевых новостях
обсуждаются возможности создания компиляторов JavaPascal, JavaBasic и т.
д.
Пожалуй, основной проблемой Java является поддержка безопасности: за-
щита локального компьютера от вирусов, возможно содержащихся в аплетах,
защита передаваемых по сети данных и т.д. Беда в том, что для любого ал-
горитма существует вероятность появления способа его взлома. Это вопрос
очень тонкий и мы не будем обсуждать его здесь, но общий принцип подт-
верждается: что один человек построил, то другой всегда может сломать,
вопрос только в том, сколько понадобится сил и времени. Кроме теорети-
ческих проблем математических алгоритмов шифрования, существуют еще, к
сожалению, вопросы практической их реализации. Поскольку программ без
ошибок не бывает, то уязвимым может оказаться программное воплощение са-
мой лучшей теории.
Чтобы не заканчивать этот раздел на столь пессимистической ноте, хочу
заметить, что наличие недостатков никому еще не помешало быть лучшим. У
проекта Java есть все шансы быть успешным и семь футов ему под килем.
VRML
Аббревиатура VRML расшифровывается как "язык описания виртуальной ре-
альности". Это язык описания трехмерных сцен и объектов. Через World
Wide Web пользователь может получить файл в формате VRML, и, если прог-
рамма-клиент обладает такой возможностью, просматривать сцену с разных
точек зрения. При этом картинка на экране остается плоской, но, переме-
щая точку обзора, пользователь может наблюдать вид трехмерного объекта с
разных сторон.
Основная проблема этой технологии заключается в том, что обработка
VRML-файлов происходит на компьютере пользователя и требует значительных
вычислительных и графических ресурсов. Поэтому, с одной стороны, прог-
рамм-клиентов, поддерживающих VRML, не так уж много, и до сих пор нет
стандартной программы для этого, доступной на различных платформах. С
другой стороны, использование значительных ресурсов компьютера пользова-
теля противоречит идеологии развития технологии по пути дешевых и легких
Интернет-терминалов, способных только отображать информацию, полученную
по сети. С третьей стороны, индустрия движется по законам рынка - су-
ществует огромное количество персональных компьютеров, в которые вложены
большие деньги, и они, вероятно, будут развиваться в этом направлении и
дальше. А коль это так, VRML - хорошее средство утилизации ресурсов ПК,
по мощности переросших понятие "персональный". Долгосрочные прогнозы
здесь делать нельзя, поживем - увидим.
Стереоизображения
Упоминая в этой статье о возможностях передачи стереоизображений в
Интернет, я, пожалуй, даю волю фантазии. Примеров регулярного использо-
вания стерео для визуального отображения информации еще нет, но искры,
из которых может разгореться пламя, уже летят. Стереоизображения - это,
как и VRML, попытка добавить к различным формам мультимедиа еще одну -
трехмерное изображение, но с несколько другой стороны. Если VRML переда-
ет информацию о трехмерных объектах, отображая ее двумерно, то есть оп-
ределяет способ передачи информации, то стереографика пытается решить
задачу объемной визуализации объектов, то есть представления информации.
Возможно, и даже наверняка, эти две технологии сольются каким-либо обра-
зом, привнеся новое измерение в информационный мир.
Уже сегодня Вы без труда можете найти в Интернет коллекции сте-
рео-картинок, смотреть которые можно без дополнительного оборудования
путем перефокусировки зрения. Вы фокусируете взгляд на воображаемой точ-
ке за поверхностью изображения так, что картинка, раздваиваясь, совмеща-
ется особым образом сама с собой, что дает визуальный эффект трехмерного
изображения. В таком виде технологию, конечно, применять нельзя, пос-
кольку это просто вредно для глаз, но человеческая мысль не стоит на
месте, и завтра, возможно этот метод выльется во что-нибудь новое и бо-
лее жизнеспособное.
Разумеется, для получения объемного изображения применяется и допол-
нительное оборудование. В простейшем варианте это просто очки, разделяю-
щие каким-либо образом изображение между глазами, например при помощи
цвета. Двухцветные очки - простейший случай, поскольку очень просты сами
по себе и не требуют аппаратных изменений компьютера. Такой вариант се-
годня уже практикуется в компьютерных играх. Он весьма прост, дешев и
результативен. Другим методом, реализованным в играх, является присоеди-
нение к компьютеру специального шлема. Такой метод хорош тем, что не
требует никакого дополнительного оборудования, кроме самого шлема, и ап-
паратных изменений компьютера. С другой стороны, он обеспечивает полный
контроль над информацией, воспринимаемой зрительно, что имеет свои плюсы
и минусы. Третья, наименее развитая, технология - использование поляри-
зационных очков. Она, возможно, наиболее перспективна, но наименее раз-
вита, поскольку требует изменений аппаратной части компьютера.
Это технологии, которые еще не используются в Интернет, более того,
они только начали развиваться в компьютерах вообще. Но как только будут