Развитие модульности
JSR 277 JavaTM Module System – спецификация предусматривает разработку замены формату JAR, и будет включать в себя такие компоненты:
- новый формат поставки (т.н. Java Module), предназначенный для распространения Java кода, связанных с ним ресурсов и метаданных:
- поддержка версий:
- репозиторий для хранения модулей на пользовательской станции с поддержкой изолированного хранения пакетов разных версий:
- поддержка в загрузчиках классов и приложений поиска, загрузки и проверки целостности модулей:
- набор средств для работы с модулями и репозиторием.
Поддержка других языков программирования
JSR 192 Supporting Dynamically Typed Languages on the JavaTM Platform – спецификация предусматривает добавление к набору инструкций JVM инструкции invokedynamic, ответственную за вызов метода с неизвестными во время компиляции типом возвращаемого значения и типами параметров, что облегчит создание компиляторов для динамически типизируемых языков, таких как Ruby и Python.
Добавление нескольких реализаций динамических языков – к 2008 году (времени выхода платформы), разработчики надеются на создание (адаптацию) нескольких реализаций динамических языков, таких как JRuby, Jython, Beanshell. Возможно, некоторые из них будут включены в базовую поставку.
Swing
JSR 295 Beans Binding – спецификация предусматривает создание API, ответственного за синхронизацию свойств разных JavaBeans, в том числе с разными типами (конверсия и валидация).
JSR 296 Swing Application Framework – создание базового каркаса приложения на Swing, отвечающего за следующие, общие для всех настольных приложений вопросы:
- Выделение жизненного цикла приложения (фазы начальной загрузки и завершения работы);
- Поддержка локализации ресурсов. Также ресурсы могут быть специфичными для платформы или «марки» приложения;
- Хранение сессии пользователя между сеансами;
- Поддержка асинхронного выполнения действий с индикацией состояния.
JSR 303 Bean Validation – универсальный API для валидации данных в программе. Информация для валидирования задается с помощью аннотаций или XML дескрипторов.
Прочее
JSR 220 Java Persistence Architecture – в Java SE 7 планируется включить разработанный группой экспертов по EJB persistence API, значительно облегчающий работу с реляционными БД из объектно-ориентированного кода.
JSR 260 Javadoc Tag Technology Update – различные дополнения к JavaDoc, такие, как:
- Категоризация методов и полей по типу использования;
- Семантический индекс классов и пакетов;
- Отделение статических, фабричных и устаревших методов от обычных (ординарных);
- Выделение методов доступа к полям (getters и setters);
- Комбинирование и разделение информации в т.н. views;
- Внедрение примеров и общих вариантов использования.
JSR 255 Java Management Extensions Specification, version 2.0 – эволюционное развитие JMX и JMX Remote API, направленное на облегчение использования и добавление новых полезных свойств. Раннее планировалось включить его в состав Java SE 6. Наиболее интересными изменениями являются:
- Использование generics в JMX API;
- Использование аннотаций для описания MBeans;
- Возможность мониторинга сложных типом (за счет использования generics);
- Поддержка каскадных (federated) серверов MBeans.
JSR 262 Web Services Connector for JavaTM Management Extensions (JMXTM) Agents – позволяет организовать доступ к JXM API с помощью web services.
JSR 203 More New I/O APIs for the JavaTM Platform (NIO 2) – расширения существующего java.nio API следующими функциями:
- Новый интерфейс для доступа к специфическим для файловой системы атрибутам и сервисный интерфейс для реализации подключаемых реализаций файловых систем;
- API для асинхронных операций над сокетами и файлами;
- Завершение реализации функциональности из JSR 51(поддержка связывания, настройки опций и multicast datagrams).
Часть из вышеперечисленных спецификаций планировалась к включению в Java SE 5 и Java SE 6. Будем надеяться, что у команды, разрабатывающей 7-й релиз Java SE, хватит ресурсов для реализации всего заявленного качественно и в срок.
Ссылки
- Оригинал новости
- JSR 277 - JavaTM Module System
- JSR 294 - Improved Modularity Support in the JavaTM Programming Language
- JSR 292 - Supporting Dynamically Typed Languages on the JavaTM Platform
- JSR 295 - Beans Binding
- JSR 296 - Swing Application Framework
- JSR 303 - Bean Validation
- JSR 220 Java Persistence Architecture
- JSR 260 JavadocTM Tag Technology Update
- JSR 255 - JMX 2.0
- JSR 262 - Web Services Connector for JavaTM Management Extensions (JMXTM) Agents
- JSR 203 More New I/O APIs for the JavaTM Platform ("NIO.2")
Сообщает javatech.info





