История версий Java EE

Java EE (ранее известная как Java 2 Platform, Enterprise Edition, сокр. J2EE) претерпела множество изменений с первой версии.

JPE

В 1998 году компанией Sun Microsystems была анонсирована JPE (Java Platform for the Enterprise), содержащую реализацию EJB 1.0, тесты на совместимость и руководство к написанию кода[1][2].

J2EE 1.2

12 декабря 1999 года была опубликована спецификация J2EE 1.2[3].

Список спецификаций, входящих в J2EE 1.2.1:

Ссылки

J2EE 1.3

24 сентября 2001 была выпущена спецификация J2EE 1.3[4]. Был оглашён отказ от поддержки модели тяжеловесных распределённых объектов (RMI-IIOP/CORBA) в пользу XML. Добавлены JavaServer Pages Standard Tag Library (JSTL), Java Authentication and Authorization Service (JAAS) и J2EE Connector Architecture.

Список спецификаций J2EE 1.3:

Ссылки

J2EE 1.4

11 ноября 2003 года была выпущена J2EE 1.4[5][6]. В ответ на появление веб-сервисов в версию 1.4 была добавлена поддержка веб-сервисов на основе XML. Была добавлена основанная на компонентах технология JavaServer Faces (JSF), заменяющая JSP.

Список спецификаций J2EE 1.4
Технология Версия Код JSR
Технологии для веб-сервисов:
Web Services for J2EE 1.1 1.0
Java API for XML Processing (JAXP) 1.2 JSR 206  (англ.)
Java API for XML-based RPC (JAX-RPC) 1.1
Java API for XML Registries (JAXR) 1.0
Технологии для веб-приложений:
Java Servlet 2.4 JSR 154  (англ.)
JavaServer Pages (JSP) 2.0 JSR 152  (англ.)
JavaServer Pages Standard Tag Library (JSTL) 1.1 JSR 52  (англ.)
JavaServer Faces (JSF) 1.1 JSR 127  (англ.)
Технологии для корпоративных приложений:
Enterprise JavaBeans (EJB) 2.1 JSR 153  (англ.)
J2EE Connector Architecture 1.5 JSR 112  (англ.)
Java Message Service API (JMS) 1.1 JSR 914  (англ.)
Java Transaction API (JTA) 1.0 JSR 907  (англ.)
JavaMail API 1.3 JSR 919  (англ.)
JavaBeans Activation Framework[англ.] (JAF) 1.0 JSR 925  (англ.)
Технологии для безопасности и управления приложением:
Java Authorization Service Provider Contract for Containers (JACC) 1.0
Java Management Extensions (JMX) 1.2 JSR 3  (англ.)
Enterprise Edition Management API 1.0
Enterprise Edition Deployment API 1.1

Ссылки

Java EE 5

11 мая 2006 была выпущена спецификация Java EE 5[7]. На предыдущие версии спецификации были жалобы на сложное использование, в то время как существовали и использовались такие легковесные фреймворки как Spring, Struts и Hibernate, J2EE была переименована в Java EE 5 и вышла вместе с Java SE 1.5. Была предпринята попытка оптимизировать EJB, заменив Beans на JPA. Также, была добавлена поддержка Java API for XML-based Web Services (JAX-WS) и SOAP with Attachments API for Java[англ.] (SAAJ) как прежде текстовым асинхронным, а позже двоичном, текстовом синхронным, способным заменить RMI-IIOP.

Список спецификаций в Java EE 5[8]
Технология Версия JSR
Технологии для веб-сервисов:
Web Services 1.2 JSR 109  (англ.)
Java API for XML-Based Web Services (JAX-WS) 2.0 JSR 224  (англ.)
Java Architecture for XML Binding (JAXB) 2.0 JSR 222  (англ.)
Web Service Metadata for the Java Platform 2.0 JSR 181  (англ.)
Java API for XML-Based RPC (JAX-RPC) 1.1 JSR 101  (англ.)
Java API for XML Registries (JAXR) 1.0 JSR 93  (англ.)
SOAP with Attachments API for Java (SAAJ) 1.3 JSR 67  (англ.)
Streaming API for XML (StAX) 1.0 JSR 173  (англ.)
Технологии для веб-приложений:
Java Servlet 2.5 JSR 154  (англ.)
JavaServer Faces (JSF) 1.2 JSR 252  (англ.)
JavaServer Pages (JSP) 2.1 JSR 245  (англ.)
JavaServer Pages Standard Tag Library (JSTL) 1.2 JSR 52  (англ.)
Debugging Support for Other Languages 1.0 JSR 45  (англ.)
Технологии для корпоративных приложений:
Enterprise JavaBeans (EJB) 3.0 JSR 220  (англ.)
Java Persistence API (JPA) 1.0
Java EE Connector Architecture 1.5 JSR 112  (англ.)
Common Annotations for the Java Platform 1.0 JSR 250  (англ.)
Java Message Service API (JMS) 1.1 JSR 914  (англ.)
Java Transaction API (JTA) 1.1 JSR 907  (англ.)
JavaMail API 1.4 JSR 919  (англ.)
JavaBeans Activation Framework[англ.] (JAF) 1.1 JSR 925  (англ.)
Технологии для обеспечения безопасности и управления приложением:
Java Authorization Service Provider Contract for Containers (JACC) 1.1 JSR 115  (англ.)
J2EE Application Deployment 1.2 JSR 88  (англ.)
J2EE Management 1.1 JSR 77  (англ.)

Ссылки

Java EE 6

10 декабря 2009 была выпущена спецификация Java EE 6[9][10][11][12]. В этой версии были предприняты попытки включить и стандартизировать концепции и функции из Spring Framework. SOAP with Attachments API for Java (SAAJ) с этой версии является полноценной частью Java SE 6[13]. Java API for RESTful Web Services[англ.] (JAX-RS) с этой версии теперь является полноценной частью Java EE[14]. Были также стандартизованы DI, AOP и другие концепции из Spring, стандартизованы Contexts and Dependency Injection (CDI), Dependency Injection (DI), Bean Validation[англ.], Managed Beans, и Interceptors.

В Java EE 6 был представлен концепт профиля, который включает в себя конфигурацию платформы в зависимости от конкретного класса или приложения. Web Profile, также, предполагает в себе полный стек технологий, предназначенных для представления и управления состояниями (JSF и JSP), ядро функциональности веб-контейнера (сервлет), бизнес-логику (EJB Lite), транзакции (JTA), хранение состояния (JPA) и другое.

В Java EE 6 начался процесс очистки от устаревшего кода и неиспользуемых API.

Список спецификаций, включённых в Java EE 6[14]
Технология Версия JSR Включена в Web Profile
Технологии веб-сервисов:
Java API for RESTful Web Services (JAX-RS) 1.1 JSR 311  (англ.)
Web Services 1.3 JSR 109  (англ.)
Java API for XML Based Web Services (JAX-WS) 2.2 JSR 224  (англ.)
Java Architecture for XML Binding (JAXB) 2.2 JSR 222  (англ.)
Web Services Metadata for Java[англ.] 2.1 JSR 181  (англ.)
Java API for XML-based RPC[англ.] (JAX-RPC) 1.1 JSR 101  (англ.)
Java APIs for XML Messaging[англ.] (JAXM) 1.3 JSR 67  (англ.)
Java API for XML Registries[англ.] (JAXR) 1.0 JSR 93  (англ.)
Технологии для веб-приложений:
Java Servlet 3.0 JSR 315  (англ.) Да
JavaServer Faces (JSF) 2.0 JSR 314  (англ.) Да
JavaServer Pages (JSP) 2.2 JSR 245  (англ.) Да
Expression Language (EL) 2.2 Да
JavaServer Pages Standard Tag Library (JSTL) 1.2 JSR 52  (англ.) Да
Debugging Support for Other Languages 1.0 JSR 45  (англ.) Да
Технологии для корпоративных приложений:
Enterprise JavaBeans (EJB) 3.1 JSR 318  (англ.) Lite
Java Persistence API (JPA) 2.0 JSR 317  (англ.) Да
Contexts and Dependency Injection for Java (CDI) 1.0 JSR 299  (англ.) Да
Dependency Injection for Java 1.0 JSR 330  (англ.) Да
Bean Validation[англ.] 1.0 JSR 303  (англ.) Да
Managed Beans 1.0 JSR 316  (англ.) Да
Interceptors 1.1 JSR 318  (англ.) Да
Java EE Connector Architecture 1.6 JSR 322  (англ.)
Common Annotations for the Java Platform 1.1 JSR 250  (англ.) Да
Java Message Service API (JMS) 1.1 JSR 914  (англ.)
Java Transaction API (JTA) 1.1 JSR 907  (англ.) Да
JavaMail API 1.4 JSR 919  (англ.)
Технологии для обеспечения безопасности и управления приложением:
Java Authentication Service Provider Interface for Containers (JASPIC) 1.0 JSR 196  (англ.)
Java Authorization Service Provider Contract for Containers (JACC) 1.4 JSR 115  (англ.)
Java EE Application Deployment 1.2 JSR 88  (англ.)
J2EE Management[англ.] 1.1 JSR 77  (англ.)

Сначала спецификация должна была проходить под номером JSR 313  (англ.), однако была отменена; позже была начала разработка спецификации под текущим номером JSR 316  (англ.).

Разработка была начата после противоречивого голосования: 14 голосов за (87.5 %), 1 — против (6.25 %, Apache)[15] и 1 — воздержался (6.25 %, Borland). Участники затронули проблемы, связанные с условиями лицензирования Sun Microsystems[16].

Ссылки

Java EE 7

12 июня 2013 была выпущена спецификация Java EE 7[17][18]. В связи с трендом на HTML5, в спецификацию была добавлена технология Java API for WebSocket, Java API for JSON Processing, асинхронные сервлеты и неблокирующий NIO, который стал причиной создания Play. В связи с трендом на большие данные, в Java EE было добавлено решение Batch Applications for the Java.

Список спецификаций, включённых в Java EE 7
Технология Версия JSR Включена в Web Profile
Технологии для веб-приложений:
Java API for WebSocket JSR 356  (англ.) Да
Java API for JSON Processing JSR 353  (англ.) Да
Java Servlet 3.1 JSR 340  (англ.) Да
JavaServer Faces (JSF) 2.2 JSR 344  (англ.) Да
Unified Expression Language[англ.] (EL) 3.0 JSR 341  (англ.) Да
JavaServer Pages (JSP) 2.3 JSR 245  (англ.) Да
JavaServer Pages Standard Tag Library (JSTL) 1.2 JSR 52  (англ.) Да
Технологии для корпоративных приложений:
Batch Applications for Java JSR 352  (англ.)
Concurrency Utilities for Java EE 1.0 JSR 236  (англ.)
Contexts and Dependency Injection for Java (CDI) 1.1 JSR 346  (англ.) Да
Dependency Injection for Java 1.0 JSR 330  (англ.) Да
Bean Validation[англ.] 1.1 JSR 349  (англ.) Да
Managed Beans 1.0 JSR 316  (англ.) Да
Enterprise JavaBeans (EJB) 3.2 JSR 345  (англ.) Да
Interceptors 1.2 JSR 318  (англ.) Да
Java EE Connector Architecture 1.7 JSR 322  (англ.)
Java Persistence API (JPA) 2.1 JSR 338  (англ.) Да
Common Annotations for the Java Platform 1.2 JSR 250  (англ.) Да
Java Message Service API (JMS) 2.0 JSR 343  (англ.)
Java Transaction API (JTA) 1.2 JSR 907  (англ.) Да
JavaMail API 1.5 JSR 919  (англ.)
Технологии веб-сервисов:
Java API for RESTful Web Services[англ.] (JAX-RS) 2.0 JSR 339  (англ.) Да
Реализация Enterprise Web Services 1.4 JSR 109  (англ.)
Java API for XML Based Web Services (JAX-WS) 2.2 JSR 224  (англ.)
Web Services Metadata for Java[англ.] JSR 181  (англ.)
Java API for XML-based RPC[англ.] (JAX-RPC; опционально) 1.1 JSR 101  (англ.)
Java Architecture for XML Binding (JAXB) 2.2 JSR 222  (англ.)
Java API for XML Registries[англ.] (JAXR) 1.0 JSR 93  (англ.)
Технологии обеспечения безопасности и управления приложением:
Java Authentication Service Provider Interface for Containers (JASPIC) 1.1 JSR 196  (англ.)
Java Authorization Service Provider Contract for Containers (JASPCC) 1.5 JSR 115  (англ.)
Java EE Application Deployment (опционально) 1.2 JSR 88  (англ.)
Java EE Management[англ.] 1.1 JSR 77  (англ.)
Debugging Support for Other Languages 1.0 JSR 45  (англ.) Да
Спецификации из Java EE, перенесённые в Java SE:
Java Architecture for XML Binding (JAXB) 2.2 JSR 222  (англ.)
Java API for XML Processing (JAXP) 1.3 JSR 206  (англ.)
Java Database Connectivity 4.0 JSR 221  (англ.)
Java Management Extensions (JMX) 2.0 JSR 3  (англ.)
JavaBeans Activation Framework[англ.] (JAF) 1.1 JSR 925  (англ.)
Java APIs for XML Messaging[англ.] 1.3 JSR 67  (англ.)
Streaming API for XML[англ.] (StAX) 1.0 JSR 173  (англ.)

Ссылки

Java EE 8

21 сентября 2017 была выпущена спецификация Java EE 8[19][20][21]. Java EE перешла под контроль Eclipse Foundation,[22] а также был открыт исходный код[23]. Eclipse основала на Java EE Eclipse Enterprise for Java (EE4J)[24]. Эта версия направлена на улучшение поддержки HTML5 и базовую поддержку HTTP/2, упрощена интеграция Managed Beans, улучшена инфраструктура для приложений в облаке, а также расширение диапазона технологий Java EE в пространство веб и облаков.

Ссылки

См. также

Примечания

  1. Dana Gardner. Sun to open Java processes to non-licensees : [англ.] // InfoWorld. — 1998. — Т. 20, № 45 (9 November). — P. 22. — ISSN 0199-6649.
  2. Alex Theedom. Java EE: Past, Present, and Future (англ.). DZone (18 августа 2017). Дата обращения: 22 декабря 2017. Архивировано 5 сентября 2017 года.
  3. Carol Sliwa. Sun to Launch Java 2 Enterprise Edition : [англ.] // Computerworld. — 1999. — Т. 33, № 49 (6 December). — P. 12. — ISSN 0010-4841.
  4. Lee Copeland (2001-09-24). "Sun unveils J2EE 1.3". Computerworld (англ.). Дата обращения: 22 декабря 2017.
  5. Paul Krill (2003-11-14). "Sun readies J2EE 1.4, app server". Computerworld (англ.). Дата обращения: 22 декабря 2017.
  6. Allison Taylor (2003-11-19). "Java Community Process gives thumbs up to J2EE 1.4". ITWorld Canada (англ.). Дата обращения: 22 декабря 2017.
  7. Robert McMillan (2006-05-16). "Sun releases Java EE 5, promises openness". InfoWorld (англ.). Дата обращения: 22 декабря 2017.
  8. Java EE 5 Technologies (англ.). Oracle. Дата обращения: 22 декабря 2017. Архивировано 13 декабря 2017 года.
  9. "Sun Microsystems Releases Java Platform Enterprise Edition 6". Sun Microsystems (англ.). 2009-12-10. Архивировано из оригинала 14 декабря 2009. Дата обращения: 22 декабря 2017.
  10. "Финальная версия Java EE 6 и GlassFish 3". OpenNET. 2009-12-11. Архивировано 12 октября 2015. Дата обращения: 22 декабря 2017.
  11. Paul Krill (2006-12-10). "Sun offers enterprise Java technologies but is silent on Oracle". InfoWorld (англ.). Дата обращения: 22 декабря 2017.
  12. Srini Penchikala (2006-12-10). "Java EE 6 Features: Dependency Injection, Bean Validation and EJB Enhancements". InfoQ (англ.). Архивировано 18 июля 2019. Дата обращения: 22 декабря 2017.
  13. Robert Eckstein, Rajiv Mordani. Introducing JAX-WS 2.0 With the Java SE 6 Platform, Part 1 (англ.). Oracle Technology Network (сентябрь 2006). Дата обращения: 22 декабря 2017. Архивировано 6 декабря 2017 года.
  14. 1 2 Java EE 6 Technologies (англ.). Oracle Technology Network. Дата обращения: 22 декабря 2017. Архивировано 5 декабря 2017 года.
  15. Geir Magnusson Jr. Open Letter to Sun Microsystems (англ.) (10 апреля 2007). Дата обращения: 22 декабря 2017. Архивировано 4 января 2018 года.
  16. Tim O'Brien. JSR 316, Java EE 6 Spec, Approved with Reservations (англ.). O'Reilly. Дата обращения: 22 декабря 2017. Архивировано из оригинала 22 февраля 2017 года.
  17. Марина Савинова (2013-06-17). "Oracle выпускает Java Platform Enterprise Edition 7". Oracle | Раздел новостей. Дата обращения: 22 декабря 2017.
  18. Paul Krill (2013-06-12). "Oracle releases HTML5-focused Java EE 7". InfoWorld (англ.). Дата обращения: 22 декабря 2017.
  19. "Oracle Announces Java SE 9 and Java EE 8". Oracle | Press Releases (англ.). 2017-09-21. Архивировано 2 октября 2018. Дата обращения: 22 декабря 2017.
  20. "Компания Oracle выпустила Java SE 9 и Java EE 8". OpenNET. 2017-09-22. Архивировано 22 декабря 2017. Дата обращения: 22 декабря 2017.
  21. Paul Krill (2017-09-21). "Java EE 8 is here: What you need to know". InfoWorld (англ.). Дата обращения: 22 декабря 2017.
  22. Paul Krill (2017-09-13). "Unwanted by Oracle, Java EE gets adopted by Eclipse". InfoWorld (англ.). Дата обращения: 22 декабря 2017.
  23. David Delabassee. Opening Up Java EE - An Update (англ.). Блог The Aquarium (12 сентября 2017). Дата обращения: 22 декабря 2017. Архивировано 26 ноября 2018 года.
  24. Eclipse Enterprise for Java Архивная копия от 15 декабря 2017 на Wayback Machine (англ.)
  25. Paul Krill (2016-07-21). "Exclusive: Oracle to reboot Java EE for the cloud". JavaWorld (англ.). Дата обращения: 22 декабря 2017.
  26. "Java EE successor unveiled". TechCentral.ie (англ.). 2017-11-23. Архивировано 20 декабря 2017. Дата обращения: 22 декабря 2017.