Jakarta EE продолжает оставаться одним из важнейших стандартов для разработки корпоративных приложений на Java. С наступлением эры Jakarta EE 12, запланированной к выходу в 2026 году, сообщество получает новый импульс для дальнейшего совершенствования платформы. Основное внимание в новой версии уделяется таким фундаментальным аспектам, как согласованность и конфигурация, что призвано сделать разработку более продуктивной, удобной и современной. Рассмотрим детально, что именно ждет разработчиков с релизом Jakarta EE 12 и почему эта версия может стать поворотной на пути развития экосистемы. Одним из главных изменений в Jakarta EE 12 станет поддержка JDK 21 в качестве минимальной версии и готовность к совместимости с будущей JDK 25.
Это важный шаг, который позволит использовать новейшие возможности языка Java и его виртуальной машины, а также выдерживать темпы развития экосистемы. По мере того как JDK активно развивается, обновление Jakarta EE становится необходимостью для сохранения актуальности и производительности корпоративных приложений. Важным технологическим изменением является удаление класса Java SecurityManager, который был официально отключен в JDK 24 после депрецирования в JDK 17. SecurityManager долгое время играл роль контроля безопасности в приложениях на Java, но с изменениями в платформе исчезает необходимость его использования, что упрощает архитектуру и повышает согласованность API. В Jakarta EE 12 разработчики получат доступ к новым спецификациям, которые значительно расширяют возможности платформы и вводят новые стандарты.
В их число входит Jakarta Query 1.0, новая спецификация, представляющая объектно-ориентированный язык запросов. Ее основная задача - объединить и унифицировать существующие языки запросов, такие как JPQL в Jakarta Persistence и JDQL в Jakarta Data, тем самым обеспечив консистентность в работе с разнородными источниками данных. Кроме того, Jakarta Query открывает возможности для подключения других технологий Java, работающих с персистентностью. Что касается Jakarta NoSQL 1.
1, эта спецификация расширяет поддержку NoSQL-баз данных, стандартизируя API для их интеграции с Java-приложениями. В Jakarta EE 12 особое внимание уделяется таким аспектам, как единый драйвер коммуникации, поддержка Jakarta Query и возможность использовать подготовленные выражения для повышения производительности и безопасности. Jakarta MVC 3.1 также обновится, предоставляя улучшенную поддержку интерфейса ExceptionMapper из Jakarta RESTful Web Services и интеграцию с Jakarta Config. Это помогает разработчикам создавать более стабильные и легко настраиваемые веб-приложения по модели Model-View-Controller.
Совмещение этих технологий улучшает обработку исключений и повышает гибкость настройки приложений. Нельзя не отметить и спецификации Jakarta Portlet и Jakarta Portlet Bridge, которые, хотя и не будут полностью готовы к релизу Jakarta EE 12, проходят последовательную миграцию для совместимости с текущими версиями Jakarta EE. Эти спецификации важны для разработки модульных и переиспользуемых веб-компонентов и интеграции Jakarta Faces в портлетные среды. Понятие согласованности в Jakarta EE 12 выходит на передний план благодаря развитию технологий доступа к данным. Ранее Jakarta Persistence и Jakarta NoSQL представляли два отдельных мира - реляционный и нереляционный доступ к данным.
Система развития Jakarta Query и интеграция её с Jakarta NoSQL и Jakarta Data создают условия для полиглотного подхода, позволяющего писать запросы и работать с разными типами хранилищ в едином стиле и стандарте. Такой подход открывает новые возможности для разработчиков, упрощая работу с разнообразными источниками данных и поддерживая принцип единства API. Важной частью изменений становится внедрение Jakarta Config 1.0, спецификации, которая упрощает управление конфигурацией приложений. Вдохновленная спецификацией MicroProfile Config, Jakarta Config ориентирована на внешний ввод параметров конфигурации, будь то переменные окружения, системные свойства или файлы свойств.
Это дает возможность адаптировать поведение приложений без необходимости их пересборки или перенастройки на этапе разработки, что особенно важно для современных микросервисов и облачных решений. Кроме того, в Jakarta EE 12 официально рассматривается вопрос о депрецировании Application Client Container (ACC). Этот компонент, появившийся вместе с GlassFish 3.1, позволял запускать клиентские компоненты Java EE вне контейнера сервера приложений. Однако с развитием других технологий и изменением архитектурных парадигм значение ACC стало снижаться.
Перемещение к депрецированию ACC ожидается, поскольку поддержка этой функциональности требует больше ресурсов и усложняет развитие платформы. Обсуждения будущего Jakarta EE активно ведутся в формируемой группе Jakarta EE Future Directions Interest Group. В нее входят крупные игроки индустрии, такие как IBM, Microsoft, Oracle, Payara и другие. Цель группы - выявлять новые тенденции, исследовать перспективные технологии и предлагать направления развития для Jakarta EE и интеграции MicroProfile в экосистему. Это позволяет Jakarta EE оставаться в центре корпоративной разработки и отвечать появляющимся требованиям рынка.
На фоне этих инициатив Jakarta EE 12 демонстрирует стремление к большей системности в разработке, устранению разрыва между разными спецификациями и повышению удобства конфигурации приложений. Также Jakarta EE активно движется в сторону поддержки современных протоколов и стандартов, обсуждается возможность добавления поддержки HTTP/3 в будущем, что обусловлено ростом требований к производительности и безопасности коммуникаций. В целом Jakarta EE 12 - это релиз, который ориентируется на качество, стабильность и современность. Разработчики смогут использовать новую платформу для создания сложных, надежных и хорошо масштабируемых решений, используя преимущества новых стандартов и обновлённой архитектуры. Это вселяет уверенность в том, что Jakarta EE останется ключевым инструментом для корпоративной разработки еще на долгие годы.
Таким образом, Jakarta EE 12 становится важным этапом в эволюции платформы, фокусируя внимание на обеспечении согласованности в работе с данными и конфигурации. Это усиливает статус Jakarta EE как унифицированной и современной среды для создания Java-приложений в бизнес-средах любой сложности. Новая версия предлагает разработчикам инструментальный набор, отвечающий современным требованиям и открывающий перспективы для дальнейшего роста и интеграции с инновационными технологиями. .