Джеймс Гослинг, создатель платформы Java, пользовался исключительным вниманием участников конференции 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-профиль определен не полностью, но он будет включать в себя технологии, которые появятся в подавляющем большинстве Web-приложений. Кроме того, будут подготовлены и другие профили, в том числе коммуникационный профиль, который включает в себя сервисы SIP.

Профили могут быть созданы в рамках Java Specification Request как части процесса Java Community Process.

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

"Как правило, типичными кандидатами 'на отсев' являются те технологии, которые, по-существу, уже вытеснены новыми решениями", - пояснил Кинничи, приведя в качестве примера JAX RPC и Entity Beans.

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

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

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

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

Версия Java SE 7, выпуск которой запланирован на лето 2009 года, поддерживает модульность при разработке и при развертывании. Эти возможности базируются на JSR 294 и JSR 277 (улучшенная поддержка модульности).

Пакет разработчика 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.

Поделитесь материалом с коллегами и друзьями