«Открытые системы»
Представить себе современный компьютинг без языка и платформы Java невозможно. Не менее сложно, участвуя в юбилейной конференции JavaOne, убедить себя в том, что получаешь реальную возможность встретиться с их создателями. В повседневной жизни такие легендарные персонажи, как Билл Джой или Джеймс Гослинг, — довольно симпатичные люди, сохранившие запас творческого энтузиазма, который позволяет предположить, что их потенциал еще далеко не исчерпан, и они смогут стать авторами новых изобретений
Официальное название форума JavaOne — Sun?s 2005 Worldwide Java Developer Conference — свидетельствует о том, что ежегодное действие, проходившее на этот раз с 27 июня по 1 июля в Сан-Франциско, ориентировано, прежде всего, на разработчиков. Такие конференции, как JavaOne и аналогичные ей специализированные акции, в том числе, например, Intel Developer Forum, отличаются от большинства корпоративных конференций тем, что здесь основная работа проходит на многочисленных секционных заседаниях, где профессионалы-разработчики распределяются по интересам.
Общее число сессий, проведенных на JavaOne, составило 712, доминировали три основные темы: «Технологии Java и Web», «Основные проблемы корпоративных технологий» и «Технологии Java в мобильных устройствах». Насыщенность JavaOne, бесспорно, заслуживает уважения, однако часто ориентация на разработчиков превращает мероприятия в съезд замкнутых в себе единомышленников, отличающихся меньшим вниманием к посторонним, в том числе и журналистам. Как следствие, информация подается либо слишком общо, в расчете на малый интерес «посторонней» публики, либо на таком серьезном техническом уровне, который неспециалисту недоступен.
На нынешней JavaOne отмеченная традиция была отчасти нарушена, что вполне логично, поскольку конференция проводилась в юбилейный для языка Java год, в связи с чем к строгой «производственной программе» была добавлена вполне оправданная порция торжественности. На сцену выносили торт (бутафорский), выходили ветераны из поредевшей команды Green team, создавшей под руководством Гослинга язык Java, играл духовой оркестр, в публику «стреляли» футболками, с потолка сыпалось конфетти, а весь зал дружно пел Happy birthday, dear Java.
Но торжественные ритуальные акции не в духе корпоративной культуры, сложившейся в компании Sun, они не соответствуют ее демократическому духу. Неизменные джинсы главы Sun Скотта Макнили, майка Гослинга, хвост на голове Джонатана Шварца, тапочки Тима Брея и прочие атрибуты лишенных комплексов лидеров компании не позволяют поднять уровень празднования до требуемой пафосный высоты. Можно представить себе размах юбилейного торжества в какой-нибудь отечественной компании нефтегазового комплекса с существенно уступающими Sun оборотами. Однако праздновать есть что — ниже приведены некоторые формальные показатели успеха платформы Java. Сегодня в мире насчитывается: 2,5 миллиарда устройств, использующих Java-технологии; 1 миллиард Java-карт; 708 миллионов телефонов, поддерживающих Java; 4,5 миллиона разработчиков.
Сила в сообществе
На одном из слайдов, наиболее часто повторявшихся и на презентациях, и оформлении, присутствовали два текстовых фрагмента The power of Java и Community, символизировавшие то, что основное преимущество Java — в наличии сообщества вокруг него, которое возникло в середине девяностых и с тех пор активно поддерживает эту платформу. Макнили по этому поводу сказал: «Мы не занимаемся бизнесом на языке Java, мы создали язык и среду, мы делаем наш бизнес с помощью языка, как обычный бизнес делается с использованием английского или какого-то другого языка».
О значении сообщества говорил практически каждый из ораторов, выступавших на пленарных сессиях, но, что довольно странно, никто из них даже не упомянул то, как именно возникла идея создания сообщества. А ведь эта идея сопровождала Java с момента рождения и была высказана еще в 1995 году одновременно с официальным объявлением языка. Ее главными проводниками, основоположниками сообщества были Ким Полиз, в те поры ведавшая маркетингом Java, и Артур ван Хофф, разработчик компилятора, в последующем они оба ушли в созданную ими компанию Marimba. По одной из версий название языка Java взято от четырех имен James (Gosling), Arthur Van (Hoff), и Andy (Bechtolsheim). Активное создание сообщества с момента рождения языка было неожиданным и поначалу воспринималось, как маркетинговый шаг, тем не менее практика десяти лет показала, что это был не просто прием, способствовавший быстрому приятию языка программистскими массами, а нечто большее. Результаты налицо.
В нынешнем виде сообщество Java очевидно делится на две главные составляющие, одна из них — подмножество компаний-производителей, использующих технологии Java и по большей части составляющие список из 912 членов Java Community Process, вторая — 4,5 миллиона индивидуальных разработчиков. Два отмеченных подмножества существенно различаются по направленности и по тем принципам, которые их объединяют. На корпоративном уровне платформа Java оказалась средством, консолидирующим рынок. Благодаря этому языку удалось добиться определенного консенсуса между лидерами ИТ-рынка. Еще совсем недавно мирные соглашения между непримиримыми противниками казались сенсацией, а сегодня на стендах выставки, сопровождающей JavaOne, с экспозицией Sun мирно соседствуют стенды HP и Microsoft. Но самым большим событием было заключение соглашения между IBM и Sun Microsystems о продлении еще на 11 лет лицензирования IBM технологий Java. По заключенному соглашению IBM до 2016 года будет использовать Java Platform в разных изданиях и Java Card при создании ПО промежуточного слоя и Web-сервисов. Кроме того, IBM будет поддерживать портирование DB2, Rational, Tivoli и WebSphere на операционную систему Solaris 10, работающую на процессорах x64 AMD Opteron. Полуофициально прозвучало также, что Solaris будет перенесена на архитектуры Power PC и IA-64.
Сообществу разработчиков, предпочитающих Java другим технологиям, присущи некоторые особенности. По данным, оглашенным на конференции корпорацией Evans Data, оно отличается большей приверженностью открытым кодам, нежели основная часть программистов. Среди адептов Java средний процент разработчиков, использующих свободное ПО, приближается к восьмидесяти, хотя вообще по отрасли он не выше сорока пяти. К тому же он коррелирует с приверженностью Java: чем она больше, тем шире используется свободное ПО. Нет ничего удивительного в том, что компания Sun стала использовать эту специфику «своих» программистов, и на JavaOne было уделено значительное внимание Free and Open Source Software (FOSS). В дополнение к уже анонсированному ранее свободному распространению Solaris теперь свободными объявлены несколько ключевых технологий, в том числе сервер приложений Java System Application Server Platform Edition 9.0 и север корпоративной шины Java System Enterprise Server Bus (Java ESB). На них, как и на Solaris, распространяется лицензия Common Development and Distribution License (CDDL).
Примером разработки открытого программного обеспечения, но в рамках правил, предложенных Sun, служит проект GlassFish, цель которого — разработка сервера приложений следующего поколения Sun Java System Application Server PE 9. Сегодня число сообщества разработчиков, участвующих в этом проекте уже превысило 100. Для того, чтобы войти в него, следует получить лицензию разработчика Java Developer License (JDL) и проверять созданные коды тестом Compatibility Test Suite (CTS). Но в целом процесс либерализации программного обеспечения внутри Sun находится на начальной стадии, пока многие заявления на эту тему звучат не столько содержательно, сколько декларативно. Далеко не случайно Джонатан Шварц, выступающий в роли главного корпоративного проповедника открытого ПО, подвергся критике со стороны нескольких основоположников идеологии открытости в программировании. В частности свое несогласие с ним выразил Ричард Столлмен основатель фонда Free Software Foundation. По его мнению, в Sun путают понятия свободного ПО и бесплатного ПО.
В будущее без «двойки»
Социологический анализ, проведенный в компьютерной среде, показал, что брэндом воспринимается только Java, а не распространившееся за последнее время J2**, поэтому было решено в будущем отказаться от этой двойки, сохранив ее только в названии нынешних продуктов, J2EE 1.4 и J2SE 5.0. Не будет и нулевой редакции, то есть пропадет «.0». Обещанные J2SE 6.0 (проект Mustang) и J2SE 7.0 (проект Dolphin) станут Java SE 6 и Java SE 7, а J2EE 5.0 и J2ME будут переименованы в Java EE 5 и Java ME соответственно.
Выпуск новых версий будет осуществляться по следующему графику: Mustang (Java SE 6) выйдет летом 2006 года; Dolphin (Java SE 7) — в начале 2008 года; спецификации Java EE 5 появятся в третьем квартале 2005 года, а окончательная редакция — в первом квартале 2006 года.
Среди готовящихся программных продуктов следует обратить внимание на средства для интеграции приложений и технологии, упрощающие процесс разработки приложений. К числу первых относится пакет Java Business Integration 1.0 (JSR 208), или иначе JBI. Пакет призван обеспечить уменьшение стоимости интеграции приложений и построение архитектур, ориентированных на SOA. В ту же спецификацию JBI входит Java System ESB (Enterprise Service Bus). Ко вторым относится технология Java Studio Creator 2.
Железо для разработчиков
Среди аппаратных новинок на JavaOne были практически только те, которые могут заинтересовать разработчиков. Например, мобильная рабочая станция Sun Ultra 3 Mobile Workstation, в которой могут быть установлены процессоры UltraSPARC IIi или UltraSPARC IIIi. Еще больше разработчиков может привлечь Sun Ultra 20 Workstation — самая быстрая из рабочих станций, построенных на процессоре AMD Opteron. К тому же она очень дешевая: в конфигурации, включающей процессор Opteron 144, 512 Мбайт DDR памяти и диск на 80 Гбайт и с предустановленным программным обеспечением, в комплекте, достаточном для разработки, она стоит менее тысячи долларов.
Эволюционный виток: от Star 7 до Blu-ray Disc
В своем выступлении Скотт Макнили совершенно серьезно сказал: «Лет семь, восемь или девять назад невозможно было представить то, что мы слышим сегодня. Тогда мы недооценили возможности Java, мы даже не могли себе представить то, к чему приведет развитие этих технологий».
Действительно, за десять лет пройден непредсказуемый путь, платформа Java неоднократно обретала новое незнакомое прежде лицо. Начавшись как язык для управления мобильными и бытовыми устройствами, Java свернул с задуманного пути, покорив Web, затем пространство корпоративных приложений, чтобы, наконец, снова вернуться к мобильным устройствам. Однако за прошедшее время возможности такого рода техники стали принципиально иными, прежде всего, нормой стало подключение к Internet, это обстоятельство — еще один аргумент в пользу Java.
Теперь не нужно, как это было раньше, обосновывать необходимость использования Java, без языка, без виртуальной машины создание устройств нового поколения стало практически невозможным. Поэтому далеко не случайно, представляя будущее Java, Джеймс Гослинг говорил не столько о Web или корпоративных приложениях, сколько о бытовой электронике, с которой началась история Java.
Гослинг напомнил, что еще задолго до появления Java, в сентябре 1992 года, он и его «зеленая команда» представили свой наладонный компьютер Star 7, предназначенный для управления интерактивным телевизионным приемником. Интерактивное телевидение оказалось одной из возможных альтернатив, рассматривался целый ряд других устройств, в том числе системы управления лифтами, автомобильная автоматика, системы освещения, но запрос со стороны компании Time Warner оказался ближе, и это решило вопрос в его пользу. Теперь история в известном смысле повторяется: Гослинг представил в качестве одного из самых перспективных типов устройств видеодиски стандарта Blu-ray.
В зависимости от числа слоев записи прототипы могут содержать от 25 до 100 Гбайт данных, в исследовательских условиях максимальный объем хранения доведен до 200 Гбайт, скорость обмена достигает 72 Мбит/сек, существуют форматы BD-RE, BD-R и BD-ROM, различающиеся возможностью записи и чтения, а также форматами записи. Использование Java обеспечит, с одной стороны, более удобные методы управления устройствами, в частности интерактивное меню. С другой — включение устройства в Сеть позволит дополнять содержимое, записанное на диск, данными, поставляемыми провайдером услуг, например, это могут быть титры на иностранном языке или еще какие-то опции, не включенные в диск в процессе его изготовления. Разумеется, без Java и JVM создание подобного устройства возможно, но оно не станет массовым из-за высокой стоимости.