Разработчики: | Oracle, Eclipse Foundation |
Дата последнего релиза: | март 2018 г |
Технологии: | Средства разработки приложений |
Содержание |
Технология Jakarta EE, до 2018 года известная как Java EE, помогает соединить старые и новые технологии — скажем, обеспечить сочетание старых и облачных приложений в гибридной облачной среде, — и позволяет приложениям эффективно взаимодействовать
Jakarta EE можно рассматривать как мост между старым и новым в том смысле, что это средство для внедрения и работы с современными технологиями без отказа от инвестиций в существующие приложения и инфраструктуру. Такой отказ не выгоден для большинства компаний, не говоря уже об ИТ-специалистах, которые вложили значительное время и силы в развитие соответствующих навыков, но также хотят продолжать адаптироваться к новым инструментам и языкам[1].
История развития
2018: Переименование в Jakarta EE
В марте 2018 года некоммерческая организация Eclipse Foundation объявила о смене названия Java EE (Java Platform Enterprise Edition) на Jakarta EE. Ребрендинг произошел по требованию Oracle.
Oracle передала проект Java EE организации Eclipse Foundation, которая курирует развитие платформы для создания интегрированных сред разработки и различных проектов на языке Java. Инициативу Oracle поддержали компании IBM и Red Hat, которые являются крупнейшими участниками разработки Java EE.
Oracle перелицензировала технологии Java EE и наработки, связанные с проектом GlassFish, включая эталонные реализации, наборы для оценки совместимости (TCK) и всю документацию. Все имущественные права на данные технологии были переданы Eclipse Foundation, однако Oracle запретила использовать бренд Java EE, поэтому в Eclipse Foundation запустили голосование по смене имена проекта.
Около 64,4% участников опроса отдали голоса за Jakarta EE, второй вариант — Enterprise Profile — набрал 35,6%.
В Eclipse Foundation сообщили о необходимости использовать название Jakarta EE вместо имени EE4J, которое изначально использовалось в качестве обозначения проекта в Eclipse. Право на использование торговой марки Jakarta EE в сторонних продуктах будет предоставляться на основе прохождения специальной программы подтверждения совместимости.
Однако программа тестирования еще не разработана — ее созданием займется рабочая группа EE.Next фонда Eclipse. Тем временем управляющий разработкой комитет Oracle преобразован в группы Eclipse Enterprise for Java (EE4J) и Project Management Committee (PMC).
Oracle сохранила за собой право участие в разработке существующих проектов Jakarta EE, а также оставит за собой выполнение всех обязательств перед пользователями, клиентами и партнерами.[2]
2017: Анонс Java EE 8
22 сентября 2017 года компания Oracle анонсировала спецификацию Java EE 8 (Java Platform, Enterprise Edition 8) и открытый сервер приложений GlassFish 5.0, позиционируемый в качестве эталонной реализации данной спецификации.
Java EE 8 станет последним выпуском, сформированным силами Oracle. Есть планы передачи фонду Eclipse технологии Java EE и наработки, связанные с проектом GlassFish, включая эталонные реализации, наборы для оценки совместимости (TCK) и документацию. Предполагается дальнейшее развитие Java EE в рамках независимой модели разработки c гибкой системой лицензирования и открытым процессом принятия решений[3].
Основные изменения
- Версия Servlet API 4.0 с поддержкой протокола HTTP/2;
- Представлен JSON binding API для манипуляции данными в формате JSON и расширены возможности JSON-P 1.1;
- В JAX-RS добавлена поддержка событий, инициируемых сервером (Server-Sent Events), и реализован новый клиентский API (REST Reactive Client API);
- Добавлен переносимый Security API для управления доступом в приложениях, запускаемых в облачных системах и PaaS;
- Внесена большая порция улучшений в CDI, включая поддержку асинхронных событий;
- Обеспечена поддержка возможностей Java SE 8 (Data & Time API, Streams API, расширенные аннотации);
- Обновлены версии API:
- Contexts and Dependency Injection (CDI) 2.0
- The Java API for JSON Binding (JSON-B) 1.0
- Java Servlet 4.0
- Java API for RESTful Web Services (JAX-RS) 2.1
- JavaServer Faces (JSF) 2.3
- Java API for JSON Processing (JSON-P)1.1
- Java EE Security API 1.0
- Bean Validation 2.0
- Common Annotations 1.3
- Java Persistence 2.2
- Java API for WebSocket 1.1
- JavaMail 1.6
2014: Oracle готовит Java EE 8
22 октября 2014 года корпорация Oracle анонсировала достижения в развитии платформы Java Platform, Enterprise Edition (Java EE), представила сервер приложений GlassFish Server Open Source Edition 4.1 с поддержкой обновленной платформы, новыми функциональными возможностями и улучшенной средой разработки.
Java EE 8 - платформа Java EE нового поколения, утверждена исполнительным комитетом Java Community Process (JCP) как запрос на изменение спецификаций Java Specification Request (JSR) 366. Её выпуск запланирован в 2016 году.
Java EE 8 будет обеспечивать улучшенную поддержку HTML5 для доступности масштабируемых сервисов на мобильных устройствах и в браузерах, простоту использования для повышения производительности разработки приложений и сокращения объемов шаблонного кода, а также облачную реализацию для переносимых приложений в облачных средах.
Oracle сообщила и о продолжении внедрения инноваций в платформу Java Platform, Standard Edition 8 (Java SE 8).
Новые возможности Java EE
Утвержденные запросы JSR, реализация которых ожидается в Java EE 8:
- Java API для JSON Binding 1.0 (JSR 367) — связывание Java-объектов и их JSON-представлений
- Java Message Service 2.1 (JSR 368) — соответствие стандарту CDI и повышение удобства использования
- Java Servlet 4.0 (JSR 369) — поддержка HTTP 2.0
- Java API для RESTful Web Services 2.1 (JSR 370) — отправляемые сервером события
- Model-View-Controller 1.0 (JSR 371) — стандартизованная, ориентированная на действия среда MVC
- JavaServer Faces 2.3 (JSR 372) — улучшенный API-интерфейс AJAX
Запланированы дополнительные JSR, в том числе:
- Java EE Security 1.0 — упрощение разработки безопасных приложений
- REST Management 1.0 — управление и мониторинг с применением RESTful для серверов приложений Java EE
- JSON Processing 1.1 — улучшенная поддержка [[Java SE 8 и редактирование/преобразование модели объектов JSON.
2012-2013: Java EE 7
Корпорация Oracle представила осенью 2012 года достижения в развитии платформы Java Platform, Enterprise Edition (Java EE) и планы относительно будущей версии Java EE 7, выпуск которой состоялся во втором квартале 2013 г.
«Недавние инициативы по перспективному развитию Java EE 7 позволяют нам сконцентрироваться на некоторых функциональных возможностях, наиболее востребованных разработчиками, таких как поддержка HTML 5, кэширование и режим пакетной обработки, упрощение API-интерфейсов JMS 2.0, улучшенное согласование компонентов Managed Beans и клиентский API-интерфейс JAX-RS 2.0. Мы рады передать следующую версию непосредственно в руки разработчиков, — рассказал Кэмерон Парди (Cameron Purdy), вице-президент Oracle по разработке. — Java EE уже используется в средах облачных вычислений в продуктовых линейках Oracle и решениях других поставщиков, и мы активно планируем следующие шаги по созданию версии Java EE 8, которая обещает сделать приложения Java еще более мобильными в облачной среде».
Запросы на изменение спецификаций (Java Specification Requests, JSRs) на Java EE 7 разрабатываются в режиме полной прозрачности в рамках процесса Java Community Process (JCP) сотнями инженеров более чем из 30 стран при тесном взаимодействии с экспертной группой и свободном доступе к рабочим материалам.
4 новых запроса JSR для Java EE находятся в процессе разработки, а 10 существующих запросов JSR для Java EE 7 — в процессе обновления. Новые запросы на изменение спецификации Java EE 7: Java API for WebSocket (JSR 356), JCache – Java Temporary Caching API (JSR 107), Batch Applications для Java Platform (JSR 352) и Java API for JSON Processing (JSR 353).
По информации Oracle, в Java EE 7 планируется реализовать ряд новых функций, которые помогут облегчить создание масштабируемых приложений HTML5, включая поддержку API-интерфейсов I/O Servlet 3.1 API для неблокируемых (управляемых событиями) операций ввода/вывода, JCache, JSON-P, WebSockets, JAX-RS 2.0 Client API, генерацию схем из Java Persistence API (JPA)-классов, а также улучшенные возможности настройки безопасности, что особенно важно для приложений, разворачиваемых в облачных средах.
Кроме того, версия Java EE 7, как ожидается, будет включать целый ряд возможностей, позволяющих повысить эффективность разработчиков. Среди этих возможностей: улучшенные метаданные для описания ресурсов, согласование компонентов Managed Beans (включая транзакционные перехватчики) и валидация на уровне методов с использованием спецификации Bean Validation 1.1.
Обновление службы передачи сообщений до версии Java Message Service (JMS) 2.0 (запрос JSR 343) сделает разработку более простой и удобной благодаря поддержке аннотаций, стандарта CDI (Contexts and Dependency Injection) и API-интерфейса JMS-провайдера, обеспечивающего переносимость (portability).
Сервер приложений GlassFish Server, являясь базовой разработкой для платформы Java EE, представляет собой не только законченную реализацию Java EE 6 (доступной с открытым исходным кодом в редакции GlassFish Server Open Source Edition и в виде проприетарного коммерческого продукта Oracle GlassFish Server), но также служит основой для будущей версии Java EE 7, отметили в Oracle.
Уже ранние варианты GlassFish Server Open Source Edition 4 содержат будущие технологии Java EE 7, такие как Servlet 3.1 NIO и WebSockets. Разработчики могут загрузить новейшие сборки сервера приложений с сайта glassfish.org и начать тестировать их, присылая отзывы экспертным группам.
Одной из главных возможностей новой версии Java в Oracle называют быстрое двустороннее взаимодействие серверных приложений с клиентским интерфейсом на HTML5, которое обеспечивается за счет поддержки в Java EE 7 интерфейса программирования HTML5 WebSocket.
Среди других особенностей — встроенные средства поддержки текстового формата обмена данными JSON и возможность обслуживания большего, по сравнению с предыдущей версией, количества одновременных пользователей. Улучшены быстродействие и масштабируемость Java; например, пакетные задачи можно делить на фрагменты, что обеспечивает более стабильную производительность OLTP-приложений.
Разработка на Java EE 7 поддерживается в среде NetBeans 7.3.1 и в ранних сборках Eclipse Kepler, сообщают в Oracle. В анонсе не упоминались проблемы, возникшие при работе над Java EE 7. В частности, реализация механизма кэширования, которого давно ждут программисты, была отложена до версии Java EE 8. Планировалось также добавить ряд функций для облачных вычислений, но их тоже отложили до следующей версии, чтобы не задерживать выпуск седьмой.
Примечания
Заказчик | Интегратор | Год | Проект |
---|---|---|---|
- МДМ Банк | Бакка Софт (bacca) | 2015.11 | |
- Уральские Авиалинии | Бакка Софт (bacca) | 2015.09 |
Подрядчики-лидеры по количеству проектов
Солар (ранее Ростелеком-Солар) (46)
Финансовые Информационные Системы (ФИС, FIS, Финсофт) (15)
Форсайт (11)
Бипиум (Bpium) (10)
Axiom JDK (БеллСофт) ранее Bellsoft (10)
Другие (389)
Солар (ранее Ростелеком-Солар) (8)
Финансовые Информационные Системы (ФИС, FIS, Финсофт) (4)
Консом групп, Konsom Group (КонсОМ СКС) (2)
ЛАНИТ - Би Пи Эм (Lanit BPM) (2)
IFellow (АйФэлл) (2)
Другие (30)
Солар (ранее Ростелеком-Солар) (10)
Форсайт (3)
Banks Soft Systems, BSS (Бэнкс Софт Системс, БСС) (3)
КРИТ (KRIT) (2)
Cloud.ru (Облачные технологии) ранее SberCloud (2)
Другие (13)
Распределение вендоров по количеству проектов внедрений (систем, проектов) с учётом партнёров
Солар (ранее Ростелеком-Солар) (2, 48)
Microsoft (41, 47)
Oracle (49, 26)
Hyperledger (Open Ledger Project) (1, 23)
IBM (33, 18)
Другие (595, 304)
Солар (ранее Ростелеком-Солар) (1, 8)
Финансовые Информационные Системы (ФИС, FIS, Финсофт) (1, 4)
Microsoft (4, 3)
Oracle (2, 3)
SAP SE (2, 2)
Другие (16, 19)
Солар (ранее Ростелеком-Солар) (1, 11)
Banks Soft Systems, BSS (Бэнкс Софт Системс, БСС) (1, 3)
Форсайт (1, 3)
Сбербанк (1, 2)
Cloud.ru (Облачные технологии) ранее SberCloud (1, 2)
Другие (9, 9)
Солар (ранее Ростелеком-Солар) (1, 6)
Unlimited Production (Анлимитед Продакшен, eXpress) (1, 6)
Мобильные ТелеСистемы (МТС) (1, 4)
МТС Exolve (Межрегиональный ТранзитТелеком, МТТ) (1, 4)
Форсайт (1, 3)
Другие (14, 24)
Мобильные ТелеСистемы (МТС) (2, 3)
Unlimited Production (Анлимитед Продакшен, eXpress) (1, 3)
Солар (ранее Ростелеком-Солар) (1, 3)
МТС Exolve (Межрегиональный ТранзитТелеком, МТТ) (1, 2)
Гриндата (GreenData) (1, 1)
Другие (12, 12)
Распределение базовых систем по количеству проектов, включая партнерские решения (проекты, партнерские проекты)
Solar appScreener (ранее Solar inCode) - 48 (48, 0)
Hyperledger Fabric - 23 (23, 0)
Windows Azure - 20 (20, 0)
FIS Platform - 15 (15, 0)
Форсайт. Мобильная платформа (ранее HyperHive) - 12 (12, 0)
Другие 311
Solar appScreener (ранее Solar inCode) - 8 (8, 0)
FIS Platform - 4 (4, 0)
Парадокс: MES Builder - 2 (2, 0)
Java - 2 (2, 0)
Siemens Xcelerator - 2 (2, 0)
Другие 21
Solar appScreener (ранее Solar inCode) - 11 (11, 0)
Форсайт. Мобильная платформа (ранее HyperHive) - 3 (3, 0)
BSS Digital2Go - 3 (3, 0)
Cloud ML Space - 2 (2, 0)
Турбо X - 1 (1, 0)
Другие 7
EXpress Защищенный корпоративный мессенджер - 6 (6, 0)
Solar appScreener (ранее Solar inCode) - 6 (6, 0)
МТС Exolve - 4 (4, 0)
РЖД и Робин: Облачная фабрика программных роботов - 3 (3, 0)
Форсайт. Мобильная платформа (ранее HyperHive) - 3 (3, 0)
Другие 12
EXpress Защищенный корпоративный мессенджер - 3 (3, 0)
Solar appScreener (ранее Solar inCode) - 3 (3, 0)
МТС Exolve - 2 (2, 0)
ФинПлатформа Т1 - 1 (1, 0)
Axiom JDK (ранее Liberica JDK до 2022) - 1 (1, 0)
Другие 8