История версий 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:
- JDBC Standard Extension API 2.0
- Java Naming and Directory Interface Specification (JNDI) 1.2
- RMI-IIOP 1.1
- Java Servlet 2.2
- JavaServer Pages (JSP) 1.1
- Enterprise JavaBeans (EJB) 1.1
- Java Message Service API (JMS) 1.0
- Java Transaction API (JTA) 1.0
- JavaMail API 1.1
- JavaBeans Activation Framework (JAF) 1.0
Ссылки[править | править код]
- JavaTM 2 Enterprise Edition Developer Guide (англ.)
- Страница документации на сайте Oracle: J2EE 1.2 Documentation (англ.).
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:
- JDBC Extension 2.0
- Java Naming and Directory Interface Specification (JNDI) 1.2
- Java API for XML Processing (JAXP) 1.1
- Java Servlet 2.3
- JavaServer Pages (JSP) 1.2
- JavaServer Pages Standard Tag Library (JSTL) 1.0
- Enterprise JavaBeans (EJB) 2.0
- J2EE Connector Architecture 1.0
- Java Message Service API (JMS) 1.0
- Java Transaction API (JTA) 1.0
- JavaMail API 1.2
- JavaBeans Activation Framework (JAF) 1.0
- Java Authentication and Authorization Service (JAAS) 1.0
Ссылки[править | править код]
- JSR 58: JavaTM 2 Platform, Enterprise Edition 1.3 Specification (англ.).
- Официальное руководство Sun по использованию этой версии (англ.).
- Список часто задаваемых вопросов (англ.).
J2EE 1.4[править | править код]
11 ноября 2003 года была выпущена J2EE 1.4[5][6]. В ответ на появление веб-сервисов в версию 1.4 была добавлена поддержка веб-сервисов на основе XML. Была добавлена основанная на компонентах технология JavaServer Faces (JSF), заменяющая JSP.
Технология | Версия | Код 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 |
Ссылки[править | править код]
- JSR 151 (англ.) — спецификация JCP.
- Официальное руководство Sun по использованию этой версии (англ.)
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.
Технология | Версия | 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 (англ.) |
Ссылки[править | править код]
- JSR 244: JavaTM Platform, Enterprise Edition 5 (Java EE 5) Specification (англ.).
- Официальное руководство Oracle по использованию этой версии (англ.).
- Java EE 5 API Specifications (англ.).
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.
Технология | Версия | 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].
Ссылки[править | править код]
- JSR 316: JavaTM Platform, Enterprise Edition 6 (Java EE 6) Specification (англ.).
- Официальное руководство Oracle по использованию этой версии (англ.).
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.
Технология | Версия | 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 (англ.) |
Ссылки[править | править код]
- JSR 342: JavaTM Platform, Enterprise Edition 7 (Java EE 7) Specification (англ.).
- Официальное руководство Oracle по использованию этой версии (англ.).
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 в пространство веб и облаков.
- поддержка базового стандарта HTTP/2
- поддержка событий server-sent
- JSR 367: JavaTM API for JSON Binding (JSON-B) (англ.)
- JSR 107: JCACHE - Java Temporary Caching API (англ.)
- множество технологий для поддержки облаков (конфигурация, мультиарендность, REST-based API для управления и мониторинга)[25]
Ссылки[править | править код]
- JSR 366: Java Platform, Enterprise Edition 8 (Java EE 8) Specification (англ.).
- javaee.github.io — официальный сайт Java EE.
- Официальный репозиторий Java EE.
- Eclipse Enterprise for Java (англ.) — преемник Java EE[26].
См. также[править | править код]
Примечания[править | править код]
- ↑ Dana Gardner. Sun to open Java processes to non-licensees : [англ.] // InfoWorld. — 1998. — Т. 20, № 45 (9 November). — P. 22. — ISSN 0199-6649.
- ↑ Alex Theedom. Java EE: Past, Present, and Future (англ.). DZone (18 августа 2017). Дата обращения: 22 декабря 2017. Архивировано 5 сентября 2017 года.
- ↑ Carol Sliwa. Sun to Launch Java 2 Enterprise Edition : [англ.] // Computerworld. — 1999. — Т. 33, № 49 (6 December). — P. 12. — ISSN 0010-4841.
- ↑ Lee Copeland (2001-09-24). "Sun unveils J2EE 1.3". Computerworld (англ.). Дата обращения: 22 декабря 2017.
- ↑ Paul Krill (2003-11-14). "Sun readies J2EE 1.4, app server". Computerworld (англ.). Дата обращения: 22 декабря 2017.
- ↑ Allison Taylor (2003-11-19). "Java Community Process gives thumbs up to J2EE 1.4". ITWorld Canada (англ.). Дата обращения: 22 декабря 2017.
- ↑ Robert McMillan (2006-05-16). "Sun releases Java EE 5, promises openness". InfoWorld (англ.). Дата обращения: 22 декабря 2017.
- ↑ Java EE 5 Technologies (англ.). Oracle. Дата обращения: 22 декабря 2017. Архивировано 13 декабря 2017 года.
- ↑ "Sun Microsystems Releases Java Platform Enterprise Edition 6". Sun Microsystems (англ.). 2009-12-10. Архивировано из оригинала 14 декабря 2009. Дата обращения: 22 декабря 2017.
- ↑ "Финальная версия Java EE 6 и GlassFish 3". OpenNET. 2009-12-11. Архивировано из оригинала 12 октября 2015. Дата обращения: 22 декабря 2017.
- ↑ Paul Krill (2006-12-10). "Sun offers enterprise Java technologies but is silent on Oracle". InfoWorld (англ.). Дата обращения: 22 декабря 2017.
- ↑ Srini Penchikala (2006-12-10). "Java EE 6 Features: Dependency Injection, Bean Validation and EJB Enhancements". InfoQ (англ.). Архивировано из оригинала 18 июля 2019. Дата обращения: 22 декабря 2017.
- ↑ 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 года.
- ↑ 1 2 Java EE 6 Technologies (англ.). Oracle Technology Network. Дата обращения: 22 декабря 2017. Архивировано 5 декабря 2017 года.
- ↑ Geir Magnusson Jr. Open Letter to Sun Microsystems (англ.) (10 апреля 2007). Дата обращения: 22 декабря 2017. Архивировано 4 января 2018 года.
- ↑ Tim O'Brien. JSR 316, Java EE 6 Spec, Approved with Reservations (англ.). O'Reilly. Дата обращения: 22 декабря 2017. Архивировано из оригинала 22 февраля 2017 года.
- ↑ Марина Савинова (2013-06-17). "Oracle выпускает Java Platform Enterprise Edition 7". Oracle | Раздел новостей. Дата обращения: 22 декабря 2017.
- ↑ Paul Krill (2013-06-12). "Oracle releases HTML5-focused Java EE 7". InfoWorld (англ.). Дата обращения: 22 декабря 2017.
- ↑ "Oracle Announces Java SE 9 and Java EE 8". Oracle | Press Releases (англ.). 2017-09-21. Архивировано из оригинала 2 октября 2018. Дата обращения: 22 декабря 2017.
- ↑ "Компания Oracle выпустила Java SE 9 и Java EE 8". OpenNET. 2017-09-22. Архивировано из оригинала 22 декабря 2017. Дата обращения: 22 декабря 2017.
- ↑ Paul Krill (2017-09-21). "Java EE 8 is here: What you need to know". InfoWorld (англ.). Дата обращения: 22 декабря 2017.
- ↑ Paul Krill (2017-09-13). "Unwanted by Oracle, Java EE gets adopted by Eclipse". InfoWorld (англ.). Дата обращения: 22 декабря 2017.
- ↑ David Delabassee. Opening Up Java EE - An Update (англ.). Блог The Aquarium (12 сентября 2017). Дата обращения: 22 декабря 2017. Архивировано 26 ноября 2018 года.
- ↑ Eclipse Enterprise for Java Архивная копия от 15 декабря 2017 на Wayback Machine (англ.)
- ↑ Paul Krill (2016-07-21). "Exclusive: Oracle to reboot Java EE for the cloud". JavaWorld (англ.). Дата обращения: 22 декабря 2017.
- ↑ "Java EE successor unveiled". TechCentral.ie (англ.). 2017-11-23. Архивировано из оригинала 20 декабря 2017. Дата обращения: 22 декабря 2017.