Первое желание исполнилось уже в тот день, когда Sun сообщила детали концепции Jini, объединяющей различные аспекты технологий Java в новую архитектуру: акции компании сразу же выросли с 46 до 50 долл.

В аналитической записке компании Merrill Lynch объясняются причины такого скачка: «Jini должен способствовать дальнейшему распространению Java, который найдет применение в информационных сетях крупнейших компаний». Специалисты Merrill по существу повторили свои давние рекомендации: покупать акции Sun.

Хотя Sun в основном специализируется на производстве рабочих станций и серверов, сегодня компания получает определенный (хотя и небольшой) доход от продукции, непосредственно связанной с Java. Анаитики считают, что благодаря этому языку программирования за последние годы стоимость акций Sun поднялась до рекордных показателей. Как сказано в записке Merrill Lynch, корпорация и в дальнейшем может рассчитывать на немалую прибыль, поскольку Java, скорее всего, будет стимулировать рост компьютерного рынка в целом и, в частности, спрос на компьютеры Sun. Последний проект, вышедший из лабораторий Sun - Jini, - основывается на результатах многолетних исследований, связанных с технологиями распределенных систем. Аналогичная работа также ведется корпорацией Microsoft, развернувшей проект под кодовым названием Millennium. Другие производители, в числе которых Lucent Technologies и IBM, также пытаются подготовить коммерческие продукты на основе распределенных систем.

Великолепная интеграция

«Jini - это великолепная интеграция самых разных идей, предложенных многими людьми, сулящая определенный прогресс в этой области, - сказал Дэвид Фарбер Мур, профессор по телекоммуникациям университета штата Пенсильвания и один из первых разработчиков распределенных систем. - Я считаю, что проект Jini себя оправдает - отрасль стремится идти по пути распределенных систем, и Jini будет способствовать укреплению этой тенденции».

Однако вопрос о долгосрочных перспективах проекта пока остается открытым. Может ли Jini гарантировать исполнение еще двух желаний Sun: пересмотр модели вычислений, которая существует последние двадцать лет, а также создание новых секторов электронной индустрии?

Особенность Jini, по словам представителей Sun, состоит в том, что это программное обеспечение упростит разработчикам создание распределенных систем. С точки зрения мира Jini, все, что работает в сети, будь то жесткий диск, человек или программа - представляется в виде некоего объекта, и Jini предлагает способ зарегистрировать эти объекты.

Объединение нескольких технологий, связанных с Java, позволяет объектам, содержащим как данные, так и программы, перемещаться по сети и использовать друг друга для выполнения стоящих перед ними задач.

Объект, представляющий, к примеру, цифровую камеру, может искать и затем выводить изображения на принтер. Благодаря программе и данным, описывающим устройства, они могут использовать другие устройства в сети и быть использованы любым устройством сами.

Бар знакомств

Объекты в системе Jini не обязательно должны управляться централизованно, на самом деле ближайший их аналог - это электронные доски объявлений, где перечислены атрибуты объектов. Ведущий научный сотрудник Sun, Джон Гейдж, предпочитает называть Jini моделью компьютерной системы, работающей по принципу «бара встреч», поскольку процесс имитирует поведение людей, ищущих себе партнера.

Руководство Sun уверено, что Jini можно использовать как основу для связи большого числа машин в распределенных системах, которые сами контролируют свою деятельность и могут автоматически передавать и тиражировать данные. Если Jini исполнит второе желание Sun (изменение компьютерной модели), пользователи любых устройств, начиная со смарт-карт, смогут перестать заботиться о том, где находятся данные и где выполняются вычисления. Операционная система, в том виде, в каком она представляется нам сегодня, может утратить свои функции. Один из основателей корпорации Sun Билл Джой, возглавляющий разработку Jini, признает, что мечта о таких распределенных системах - «существенный сдвиг в мышлении».

Зеркальные миры

Но это еще не все. Если с помощью Jini объекты взаимодействуют так же, как это делают люди в реальном мире, то почему бы не воспользоваться этой возможностью для переноса действий и процессов реального мира в программное обеспечение на сети? В отдаленной перспективе Jini могла бы сыграть значительную роль в создании своеобразных строительных блоков для программных «зеркальных миров» реального мира сетей.

Это третье и последнее желание звучит вполне естественно с точки зрения древних сказок о волшебных лампах и коврах-самолетах, но возникло оно в результате исследований, проведенных Дэвидом Джелернтером, ученым Йельского университета, первым предложившим концепцию, ставшую идейной основой JavaSpaces, - ключевого компонента проекта Jini.

«Подобно тому, как игрушечный городок представляет собой точную копию реального города и отображает каждое движение реального мира, Зеркальный мир позволяет программному объекту повторять действия реального объекта, - писал Джелернтер в 1991 году в своей книге «Зеркальные миры» (Mirror Worlds). - Каждый посетитель будет выбирать нужный ракурс и, двигаясь по модели, искать требуемое место и определять необходимый ему уровень детализации. Покидая этот искусственный мир, он будет оставлять после себя компанию своих программных дублей, готовых проследить за всем, что его интересует».

Теперь, после анонса Jini, Джой, судя по сообщениям, работает над подобным программным «альтер-эго», углубляясь в изучение социальных и технических аспектов программных агентов. Кроме того, Джой занимает пост сопредседателя специального комитета, созданного президентом США Биллом Клинтоном. Президент в ближайшее время намерен рекомендовать ввести федеральное финансирование проектов, связанных с информационными технологиями, которые «базируются на предположениях, пока не соответствующих действительности». Комитет особо указывает на «Зеркальные миры» Джелернтера как на пример возможной области исследований.

Вопросы остаются

Но такие «голубые мечты» воплотились в новую технологию, которую пока не понимают даже многие специалисты самой Sun. «Джинн», детище Джоя и исследователей Sun Microsystems, освобожденных от каждодневной работы, ведущейся в штаб-квартире компании в Кремниевой долине, без излишней шумихи создавался в Эспине (шт. Колорадо) и пригороде Бостона - Челмфорде, в июле вырвался на свободу - так неожиданно, что после анонса Jini даже некоторые руководители Sun выказали полную растерянность, поскольку слабо представляли себе, что это за технология и как объяснить ее суть. Что такое Jini: исследовательский проект или готовый продукт? Каков размер ядра Jini, 24 или 48 Кбайт? Какая часть исходных кодов Jini будет представлена компьютерной общественности? Закончены ли эти программы? Эти и другие вопросы витали в воздухе даже после того, как Jini покинул свою бутылку.

Даже название проекта остается под вопросом. Изначально оно было взято из программы, написанной Джоем для генерации слов, начинающихся с «J» (от Java), которые могли бы произносится по-английски. «Jini» понравилось Джою, к тому же по созвучию он напоминает волшебного духа из древних сказок «Тысячи и одной ночи». Теперь специалисты Sun ломают голову над тем, как бы наполнить эту аббревиатуру смыслом. Может быть, это Java Intelligent Network Infrastructure («Интеллектуальная сетевая инфраструктура Java»)? Или Java Information Network Infrastructure («Инфраструктура информационных сетей Java»)?

Не только имя, но и будущее Jini теперь в руках разработчиков. Sun сообщила о намерении бесплатно распространять исходные тексты Jini. Считается, что такое решение стимулирует разработку программного обеспечения и устройств, ориентированных на Jini. По словам представителей Sun, с Jini работают уже около тридцати компаний, в том числе Computer Associates, L.M. Ericsson Telephone и Toshiba.

Рынок Jini

Руководство Sun рассчитывает, что одним из этапов эволюции станет появление «рынков Jini» - виртуальных рынков, где предлагаются платные услуги, а независимые компании создают новые службы, объединяя и сочетая другие услуги по принципу строительных блоков, используемых в конструкторе «Лего». Если один дисковод может выступать в качестве «службы хранения» в сети Jini, почему бы предпринимателю, имеющему собственный накопитель для магнитных лент, не предложить услуги хранения пользователям Jini?

Sun уже разработала API-интерфейсы для Java, которые гарантируют сохранение всех событий в рамках транзакции вплоть до ее завершения. Кроме того, компания предлагает API, позволяющие добавить к Jini «лизинг» - возможность объектов «договариваться» друг с другом в тот период, когда конкретная услуга доступна для использования. В мире Jini менеджер, которому требуется перевести документ, мог бы послать документ как объект в сеть Jini, сопроводив его вопросом: «Кто может перевести этот текст к пятнице за плату, не превышающую 50 долл.?»

Одновременно переводчик «регистрирует» список своих услуг и расценки на рынке Jini. Поиск партнеров и итоговая транзакция будут проводиться в сети. Посредником в этой сделке также может выступать брокер Jini, который сводит покупателей и продавцов, представленных объектами. Безусловно, приведенные примеры - не просто картины, возникающие, словно в магическом шаре, в нашем воображении. Но если Sun, реализует Jini, то мы сможем подойти ближе к кажущемуся сейчас почти потусторонним миру, о котором исследователи распределенных систем мечтают уже долгие годы.

«Посмотрев на компьютерный экран, вы увидите картину. Определенная часть вашего мира - город, где вы живете, компания, в которой работаете, ваша школа, городская больница предстанет перед вами в виде четкого цветного изображения - абстрактного, но вполне узнаваемого, - писал Джелернтер в своих «Зеркальных мирах» еще в 1991 году.