stringtranslate.com

Джакарта ЭЭ

Jakarta EE , ранее Java Platform, Enterprise Edition ( Java EE ) и Java 2 Platform, Enterprise Edition ( J2EE ), представляет собой набор спецификаций, расширяющих Java SE [1] спецификациями для корпоративных функций, таких как распределенные вычисления и веб-сервисы . [2] Приложения Jakarta EE запускаются в эталонных средах выполнения , которые могут быть микросервисами или серверами приложений , которые обрабатывают транзакции, безопасность, масштабируемость, параллелизм и управление компонентами, которые они развертывают.

Jakarta EE определяется его спецификацией . Спецификация определяет API (интерфейс прикладного программирования) и их взаимодействие. Как и в случае с другими спецификациями Java Community Process , поставщики должны соответствовать определенным требованиям соответствия, чтобы объявить свои продукты соответствующими Jakarta EE .

Примерами контекстов, в которых используются среды выполнения ссылок Jakarta EE, являются: электронная коммерция , бухгалтерский учет , банковские информационные системы .

История

Начиная с версии 1.2 платформа была известна как Java 2 Platform, Enterprise Edition или J2EE , пока в версии 1.5 название не было изменено на Java Platform, Enterprise Edition или Java EE .

Java EE поддерживалась Oracle в рамках Java Community Process . 12 сентября 2017 года корпорация Oracle объявила, что представит Java EE в Eclipse Foundation . [3] Проект верхнего уровня Eclipse получил название Eclipse Enterprise for Java (EE4J). [4] Фонд Eclipse не смог договориться с Oracle по поводу использования товарных знаков javax и Java. [5] Oracle владеет товарным знаком «Java», и платформа была переименована из Java EE в Jakarta EE. [6] [7] Название относится к крупнейшему городу на острове Ява , а также столице Индонезии Джакарте . [8] Название не следует путать с бывшим проектом Jakarta Project , который способствовал появлению ряда текущих и бывших проектов Java в Apache Software Foundation .

Технические характеристики

Jakarta EE включает в себя несколько спецификаций, которые служат различным целям, таким как создание веб-страниц, чтение и запись в базу данных транзакционным способом, управление распределенными очередями.

API-интерфейсы Jakarta EE включают в себя несколько технологий, расширяющих функциональность базовых API-интерфейсов Java SE , таких как Jakarta Enterprise Beans , коннекторы , сервлеты , Jakarta Server Pages и несколько технологий веб-сервисов .

Веб-спецификации

Спецификации веб-сервисов

Спецификации предприятия

Другие характеристики

Веб-профиль

В попытке ограничить след веб-контейнеров, как в физическом, так и в концептуальном плане, был создан веб-профиль, подмножество спецификаций Jakarta EE. Веб-профиль Jakarta EE включает в себя следующее:

Сертифицированные среды выполнения ссылок

Хотя по определению все реализации Jakarta EE предоставляют один и тот же базовый уровень технологий (а именно, спецификацию Jakarta EE и связанные с ней API), они могут значительно различаться по дополнительным функциям (таким как коннекторы , кластеризация , отказоустойчивость , высокая доступность , безопасность и т. д.), установленному размеру, объему памяти , времени запуска и т. д.

Джакарта ЭЭ

JavaEE-версия

Пример кода

Приведенный ниже пример кода демонстрирует, как различные технологии Java EE 7 используются совместно для создания веб-формы для редактирования пользователя.

В Jakarta EE (веб) UI может быть создан с использованием Jakarta Servlet , Jakarta Server Pages ( JSP ) или Jakarta Faces ( JSF ) с Facelets . В примере ниже используются Faces и Facelets . Не показано явно, что компоненты ввода используют API Jakarta EE Bean Validation под капотом для проверки ограничений.

<html xmlns= "http://www.w3.org/1999/xhtml" xmlns:h= "http://xmlns.jcp.org/jsf/html" xmlns:f= "http://xmlns.jcp.org/jsf/core" >    <f:metadata> <f:viewParam name= "user_id" value= "#{userEdit.user}" converter= "#{userConvertor}" /> </f:metadata>       <h:тело> <h:сообщения />  <h:form> <h:panelGrid columns= "2" > <h:outputLabel for= "firstName" value= "Имя" /> <h:inputText id= "firstName" value= "#{userEdit.user.firstName}" label= "Имя" />            <h:outputLabel for= "lastName" value= "Фамилия" /> <h:inputText id= "lastName" value= "#{userEdit.user.lastName}" label= "Фамилия" />         <h:commandButton action= "#{userEdit.saveUser}" value= "Сохранить" /> </h:panelGrid> </h:form>      </h:body> </html>

Пример класса Backing Bean

Для облегчения представления Jakarta EE использует концепцию, называемую «Backing Bean». В примере ниже используются Contexts and Dependency Injection (CDI) и Jakarta Enterprise Beans ( EJB ).

@Named @ViewScoped открытый класс UserEdit {    частный Пользователь пользователь ;   @Inject частный UserDAO userDAO ;    public String saveUser ( ) { userDAO.save ( this.user ) ; addFlashMessage ( " Пользователь " + this.user.getId ( ) + " сохранено " ) ;          вернуть "users.xhtml?faces-redirect=true" ; }   public void setUser ( Пользователь пользователь ) { this.user = пользователь ; }         public User getUser () { return user ; } }      

Пример класса объекта доступа к данным

Для реализации бизнес-логики Jakarta Enterprise Beans ( EJB ) — это специализированная технология в Jakarta EE. Для фактического сохранения можно использовать JDBC или Jakarta Persistence (JPA). В примере ниже используются EJB и JPA. Не показано явно, что JTA используется под прикрытием EJB для управления транзакционным поведением.

@Stateless публичный класс UserDAO {    @PersistenceContext частный EntityManager entityManager ;    public void save ( Пользователь пользователь ) { entityManager . persist ( пользователь ); }       public void update ( Пользователь пользователь ) { entityManager . merge ( пользователь ); }       public List < User > getAll ( ) { return entityManager.createNamedQuery ( " User.getAll " , User.class ) .getResultList ( ) ; }        }

Пример класса сущности

Для определения классов сущностей/моделей Jakarta EE предоставляет Jakarta Persistence ( JPA ), а для выражения ограничений на эти сущности — Bean Validation API. В примере ниже используются обе эти технологии.

@Entity открытый класс Пользователь {    @Id @GeneratedValue ( strategy = IDENTITY ) частный целочисленный идентификатор ;       @Size ( min = 2 , message = "Имя слишком короткое" ) private String firstName ;       @Size ( min = 2 , message = "Фамилия слишком короткая" ) private String lastName ;       public Integer getId () { return id ; }       public void setId ( Integer id ) { this.id = id ; }         public String getFirstName () { return firstName ; }       public void setFirstName ( String firstName ) { this.firstName = firstName ; }         public String getLastName () { return lastName ; }       public void setLastName ( String lastName ) { this . lastName = lastName ; }        }

Смотрите также

Ссылки

  1. ^ "Различия между Java EE и Java SE - Ваша первая чашка: Введение в платформу Java EE". Docs.oracle.com. 2012-04-01 . Получено 2012-07-18 .
  2. ^ "Обзор Java EE". Oracle Corporation . Получено 26 февраля 2017 г.
  3. ^ Уотерс, Джон К. (12 сентября 2017 г.). «Java EE переходит в Eclipse Foundation». ADTmag . Получено 13 сентября 2017 г.
  4. ^ Битон, Уэйн. "EE4J FAQ". Eclipse Foundation .
  5. ^ Милинкович, Майк (3 мая 2019 г.). «Обновление о правах Jakarta EE на товарные знаки Java». Блог. Жизнь в Eclipse . Получено 25 июля 2024 г.
  6. ^ Чиргвин, Ричард (4 марта 2018 г.). «Java EE переименована в «Jakarta EE» после ссоры с Big Red». Программное обеспечение. The Register . Получено 19 марта 2018 г.
  7. ^ Vaughan-Nichols, Steven J. (5 марта 2018 г.). «Прощай, JEE, здравствуй, Jakarta EE». Linux и открытый исходный код. ZDNet . Получено 10 июля 2020 г.
  8. ^ Таймс, Арьян (27 февраля 2020 г.). «Переход с Java EE на Jakarta EE». Журнал Ява. blogs.oracle.com . Проверено 25 июля 2024 г.
  9. ^ "Релизы Джакарты EE" . Джакарта EE . Фонд Эклипс . Проверено 17 июля 2024 г.
  10. ^ Обрадович, Таня; Гримстад, Ивар (22.09.2022). «Рабочая группа Jakarta EE Фонда Eclipse выпускает Jakarta EE 10, чтобы возвестить о начале эры облачной Java». Новости. Jakarta EE (пресс-релиз). Фонд Eclipse . Получено 17.07.2024 .
  11. ^ Обрадович, Таня; Гримстад, Ивар (2021-05-25). «Рабочая группа Jakarta EE выпускает Jakarta EE 9.1, поскольку индустрия продолжает внедрять Open Source Enterprise Java». Новости. Jakarta EE (пресс-релиз). Eclipse Foundation . Получено 2022-03-05 .
  12. ^ Ммайель, Шабнам; Обрадович, Таня (08.12.2020). «Выпущена Jakarta EE 9!». Новости. Джакарта Э.Э. (Пресс-релиз). Фонд Эклипс . Проверено 5 марта 2022 г.
  13. ^ Ммайель, Шабнам; Обрадович, Таня (10 сентября 2019 г.). «Выпущена Jakarta EE 8!». Новости. Джакарта Э.Э. (Пресс-релиз). Фонд Эклипс . Проверено 5 марта 2022 г.
  14. ^ Крилл, Пол (21 ноября 2003 г.). «Сертифицировано по спецификации J2EE 1.4». Разработка программного обеспечения. InfoWorld . Получено 05.03.2022 .
  15. ^ Коупленд, Ли (24 сентября 2001 г.). "Sun представляет J2EE 1.3". Разработка программного обеспечения. Computerworld . Получено 05.03.2022 .
  16. ^ "JSR 316: Java Platform, Enterprise Edition 6 (Java EE 6) Specification". Процесс сообщества Java . Корпорация Oracle . Получено 2022-03-05 .
  17. ^ "JSR 342: Java Platform, Enterprise Edition 7 (Java EE 7) Specification". Процесс сообщества Java . Корпорация Oracle . Получено 2022-03-05 .
  18. ^ "Java Platform, Enterprise Edition 8 (Java EE 8) Web Profile Specification" (PDF) . GitHub . Oracle Corporation . Архивировано (PDF) из оригинала 2022-10-09 . Получено 2022-02-05 .
  19. ^ "Определение веб-профиля". Jakarta EE WebProfile . 8. Jakarta EE. Eclipse Foundation . Получено 2022-03-05 .
  20. ^ "Определение веб-профиля". Jakarta EE WebProfile . 9. Jakarta EE. Eclipse Foundation . Получено 2022-03-05 .
  21. ^ "Определение веб-профиля". Jakarta EE WebProfile . 9.1. Jakarta EE. Eclipse Foundation . Получено 2022-03-05 .
  22. ^ "Определение веб-профиля". Jakarta EE WebProfile . 10. Jakarta EE. Eclipse Foundation . Получено 27.09.2022 .
  23. ^ "Продукты, совместимые с Jakarta EE". Jakarta.ee .
  24. ^ "Продукты, совместимые с Jakarta EE 9". Jakarta.ee .
  25. ^ "Продукты, совместимые с Jakarta EE 8". Jakarta.ee .
  26. ^ "Платформа Jakarta EE 10 и MicroProfile 6 в Open Liberty 23.0.0.1-beta". openliberty.io .
  27. ^ ab "Поддержка Jakarta EE 10, MicroProfile 6 и Java SE 20 в Open Liberty 23.0.0.3". openliberty.io .
  28. ^ "Apache TomEE" . tomee.apache.org . Проверено 8 января 2024 г.
  29. ^ abcdefg "Совместимость с Java EE". www.oracle.com . Получено 05.08.2018 .
  30. ^ abcdefg «Совместимость с Java EE».
  31. ^ ab "Сравнение GlassFish Open Source Edition версий 2.x и 3.0.x". Архивировано из оригинала 20.12.2012.
  32. ^ "Совместимость Java EE". Java.sun.com. 2010-09-07 . Получено 2012-07-18 .
  33. ^ "Oracle Weblogic Server 14.1.1". www.oracle.com .
  34. ^ "Oracle Weblogic Server 12.1.1". www.oracle.com .
  35. ^ Lyons, Will; Humphrey, Pieter (2011). "Oracle Web Logic Server 12c: Разработка современных, легких приложений Java EE 6" (PDF) . Архивировано из оригинала (PDF) 2011-12-15 . Получено 2011-12-03 .
  36. ^ «Совместимость с Java EE». www.oracle.com .
  37. ^ "JBoss AS 7.1.0.Final "Thunder" выпущен - сертифицирован Java EE 6 Full Profile! | My Wiki | Planet JBoss Community". Planet.jboss.org. 2012-02-17 . Получено 2012-07-18 .
  38. ^ «Сервер приложений JBoss — Сообщество JBoss».
  39. ^ «Сервер приложений JBoss — Сообщество JBoss».
  40. ^ «Совместимость с Java EE».
  41. ^ "JBoss AS теперь сертифицирован EE5!". 15 сентября 2008 г. Архивировано из оригинала 20 сентября 2008 г. Получено 7 августа 2016 г.
  42. ^ «Доступность платформы приложений Red Hat JBoss Enterprise 7.2».
  43. ^ Business Wire (2012-06-20). "Red Hat запускает JBoss Enterprise Application Platform 6, чтобы помочь предприятиям перенести разработку и развертывание приложений в облако". Business Wire . Получено 2012-07-18 . {{cite web}}: |author=имеет общее название ( помощь )
  44. ^ "Что нового в WebSphere Application Server V8". IBM.com . Получено 2012-07-18 .
  45. ^ ab "IBM WebSphere Application Server Liberty предоставляет первый готовый к использованию сервер приложений, совместимый с Java EE 8, и расширяет поддержку приложений Spring Boot". IBM . 10 июля 2018 г. . Получено 12 июля 2018 г. .
  46. ^ "Java EE 7 - Протестированные конфигурации - IBM WebSphere Application Server Liberty Profile". Oracle.com .
  47. ^ "Java EE 7 появилась в WAS Liberty - WASdev". 25 июня 2015 г.
  48. ^ «Протестированные конфигурации IBM Java EE 6 Web Profile».
  49. ^ "Apache Geronimo: Индекс". geronimo.apache.org . 25 января 2010 г.
  50. ^ "Apache Geronimo полностью сертифицирован для Java EE 6 - The H Open: новости и возможности". H-online.com. 2011-11-14. Архивировано из оригинала 20 апреля 2012 года . Получено 2012-07-18 .
  51. ^ "Проверенные конфигурации, Java EE 6 - TMAX JEUS 7". Oracle.com. 2010-09-07 . Получено 2012-07-18 .
  52. ^ "Java EE6 Web Application Server, WAS Software". Us.tmaxsoft.com. Архивировано из оригинала 2012-07-02 . Получено 2012-07-18 .
  53. ^ «Java EE 6 — Протестированные конфигурации, Java EE 6 — Hitachi uCosminexus Application Server v9.0». Oracle.com.
  54. ^ "Fujitsu Interstage Application Server powered by Windows Azure". Архивировано из оригинала 10 августа 2011 г.
  55. ^ "Протестированные конфигурации, Java EE6 - Fujitsu Interstage". Oracle.com. 2010-09-07 . Получено 2012-07-18 .
  56. ^ "Fujitsu выпускает Interstage Application Server V10.1". Fujitsu.
  57. ^ «Сертификация сервера приложений NEC WebOTX V9.x».
  58. ^ "Apache TomEE" . Openejb.apache.org . Проверено 18 июля 2012 г.
  59. ^ "MarketWatch.com". MarketWatch.com . Получено 2012-07-18 .
  60. ^ TomEE, Апач. «Апач ТомEE 7.0.1».
  61. ^ "Resin Application Server Java EE 6 Web Profile" (PDF) . caucho.com . 2011. Архивировано (PDF) из оригинала 2022-10-09.
  62. ^ «Пожалуйста, приветствуйте Siwpas как сертифицированную опцию Java EE!». Oracle.com . Получено 2015-12-07 .
  63. ^ "JOnAS 5.3.0 RC1 выпущен". jonas.ow2.org . 2013-01-07. Архивировано из оригинала 2013-10-15 . Получено 2014-02-25 .
  64. ^ «SAP NetWeaver Cloud Java EE 6 Web Profile сертифицирован! (Аквариум)».
  65. ^ "SAP Software Solutions - Business Applications and Technology". Архивировано из оригинала 2009-12-07 . Получено 2010-05-03 .

Внешние ссылки