stringtranslate.com

Джакарта, EE

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, являются: электронная коммерция , бухгалтерский учет , банковские информационные системы .

История

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

Java EE поддерживалась Oracle в рамках процесса сообщества Java . 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 и несколько технологий веб-сервисов .

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

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

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

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

Веб-профиль

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

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

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

Джакарта, EE [22] [23] [24]

Java EE

Пример кода

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

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

<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:form> <h:panelGrid columns= "2" > <h:outputLabel for= "firstName" value= "First name" /> <h:inputText id= "firstName" value= "#{userEdit.user. firstName}" label= "Имя" />            <h:outputLabel for= "lastName" value= "LastName" /> <h:inputText id= "lastName" value= "#{userEdit.user.lastName}" label= "Lastname" />         <h:commandButton action= "#{userEdit.saveUser}" value= "Сохранить" /> </h:panelGrid> </h:form>      </h:body> </html>

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

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

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

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

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

@Stateless публичный класс UserDAO {    @PersistenceContext частный EntityManagerentityManager ;    public void save ( Пользователь- пользователь ) { entityManager . сохраняться ( пользователь ); }       общественное недействительное обновление ( пользователь пользователя ) { entityManager . объединить ( пользователь ); }       общедоступный список < Пользователь > getAll ( ) { returnententManager . createNamedQuery ( " User.getAll " , User.class ) . ПолучитьСписокРезультатов (); }        }

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

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

Пользователь публичного класса @Entity {    @Id @GeneratedValue ( стратегия = IDENTITY ) частный целочисленный идентификатор ;       @Size ( min = 2 , message = «Имя слишком короткое» ) Private String firstName ;       @Size ( min = 2 , message = «Фамилия слишком короткая» ) Private String LastName ;       public Integer getId () { возвращаемый идентификатор ; }       public void setId ( Целый идентификатор ) { this . идентификатор = идентификатор ; }         public String getFirstName () { return firstName ; }       public void setFirstName ( String firstName ) { this . ПервоеИмя = ПервоеИмя ; }         общественная строка getLastName () { return LastName ; }       public void setLastName ( String LastName ) { this . Фамилия = Фамилия ; }        }

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

Рекомендации

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

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