Джеймс Гослинг, создатель платформы Java, пользовался исключительным вниманием участников конференции JavaOneНовые версии платформы Java будут отличаться гибкостью, поддержкой стандартов OSGi (Open Services Gateway initiative) и модульностью. Об этом представители Sun Microsystems объявили на конференции JavaOne, состоявшейся в Сан-Франциско.

Были анонсированы детальные планы в отношении Java Platform, Enterprise Edition (Java EE) 6 и Java Platform, Standard Edition (Java SE) 7. Версия Java SE служит базовой платформой Java, а в версии Enterprise к ней добавлены возможности уровня предприятия.

С выпуском Java EE 6 в Sun рассчитывают обеспечить большую гибкость при реализации платформы.

«Основная идея Java EE 6 заключается в том, что я назвал бы ‘выбором оптимального масштаба’, и что, по-существу, означает выбор платформы нужного пользователю размера», — пояснил Роберто Кинничи, отвечающий в Sun за платформу Java EE.

С помощью новой версии можно будет создавать профили с учетом конкретных требований, например, профиль, ориентированный на Web-разработчиков. Пока Web-профиль определен не полностью, но он будет включать в себя технологии, которые появятся в подавляющем большинстве Web-приложений. Кроме того, будут подготовлены и другие профили, в том числе коммуникационный профиль, который включает в себя сервисы SIP.

Кроме того, планируется сократить состав платформы Java, в результате чего определенные части платформы могут стать дополнительными.

«Как правило, типичными кандидатами ‘на отсев’ являются те технологии, которые, по-существу, уже вытеснены новыми решениями», — пояснил Кинничи, приведя в качестве примера AJAX RPC и Entity Beans.

Языки скриптов тоже станут важнейшими составляющими платформы Java. Разработка Web станет проще за счет аннотаций в прикладных программных интерфейсах Web. Разработчикам придется в значительно меньшей степени редактировать дескрипторы web.xml. Библиотеки, предлагаемые независимыми производителями, будут регистрироваться автоматически, тем самым исчезнет традиционный источник ошибок.

Еще одна особенность версии Java EE 6 — это прикладной программный интерфейс для Web-сервисов с REST. «Мы осознаем потребность в новом API, полностью ориентированном на них», — заметил Кинничи.

Enterprise JavaBeans могут, благодаря шестой версии, интегрироваться в Web-приложение, избавляя разработчиков от необходимости использовать вложенные пакеты.

Точная дата выпуска Java EE 6 пока не установлена, но предполагается, что эта версия появится позднее в этом году.

Версия Java SE 7, выпуск которой запланирован на лето 2009 года, поддерживает модульность при разработке и при развертывании.

Пакет разработчика Java Development Kit (JDK) 7, базирующийся на Java SE 7, поддерживает сервисы, стандартизированные OSGi.

«Мы объявляем о готовности новой спецификации, которая определяет интероперабельность между модульной системой Java SE 7 и OSGi, — пояснил Денни Ковард, старший архитектор группы клиентского программного обеспечения компании Sun. — Для JDK 7 это означает, что разработчики, которые создают приложения, основанные на OSGi, смогут без изменений запускать их в JDK 7».

Ковард подчеркнул, что цель производимых изменений заключается в том, чтобы поддержать OSGi и помочь разработчикам обеспечить выполнение кода на JDK 7.

Поддержка OSGi как модели компоновки и развертывания была с одобрением воспринята аналитиком Энн Томас Манес из Burton Group.

«Развертывание системы в существующей версии Java — крайне тяжелый процесс», — считает Манес. По ее словам, использование OSGi для решения этой проблемы — прекрасная идея.

«Интересно, зачем нужно было делать модульную поддержку вместо того, чтобы поддерживать OSGi? Но до тех пор, пока такая модульная поддержка обеспечивает полную поддержку OSGi, все прекрасно», — заявила Манес.

В рамках плана Sun по расширению поддержки языков в Java Virtual Machine зависимости от использования только одного языка в JVM будут устранены. Разработчикам будет намного проще писать компиляторы и языки на основе других языков и выполнять их на платформе Java.

Участники конференции отмечали, что запланированная версия сервера приложений GlassFish 3 также поддерживает OSGi. Это будет поддержка динамических языков, таких как Ruby и Groovy, а также Java EE 6.

Во время JavaOne обсуждалась и еще одна технология, Lightweight UI Toolkit (LWUIT), отличительной особенностью которой является библиотека функций пользовательского интерфейса, которая позволяет разработчикам решать задачи, связанные с созданием выразительных, согласованных приложений Java для карманных устройств. Сейчас создан только первый вариант этой технологии, и летом он будет предложен как решение категории Open Source.

В Sun называют LWUIT библиотекой, которая базируется на MIDP 2.0 и реализует простую графику и модель пользовательского интерфейса с небольшими начальными требованиями к ресурсам и умеренными требованиями к производительности. В ней используется интеграция графики SVG и механизм MVC (Model View Controller) на базе функций Swing.

LWUIT работает на устройствах, выпускаемых такими компаниями, как Nokia и Sony Ericsson.