Apache Jakarta Project
- 1 year ago
- 0
- 0
Jakarta EE (ранее — Java Platform, Enterprise Edition , сокр. Java EE , до версии 5.0 — Java 2 Enterprise Edition или J2EE ). В 2018 Eclipse Foundation переименовала Java EE в Jakarta EE — набор спецификаций и соответствующей документации для языка Java , описывающей архитектуру серверной платформы для задач средних и крупных предприятий.
Спецификации детализированы настолько, чтобы обеспечить переносимость программ с одной реализации платформы на другую. Основная цель спецификаций — обеспечить масштабируемость приложений и целостность данных во время работы системы. Java EE во многом ориентирована на использование её через веб, как в интернете , так и в локальных сетях . Вся спецификация создаётся и утверждается через JCP (Java Community Process) в рамках инициативы Sun Microsystems Inc .
Java EE является промышленной технологией и в основном используется в высокопроизводительных проектах, в которых необходима надежность, масштабируемость, гибкость.
Популярности Java EE также способствует то, что Sun предлагает бесплатный комплект разработки, SDK , позволяющий предприятиям разрабатывать свои системы, не тратя больших средств. В этот комплект входит сервер приложений GlassFish с лицензией для разработки.
Актуальная версия Java EE имеет номер 8.0. Развитие технологии Java EE отображено на странице истории версий .
При переходе на версию 5.0 изменилось и название спецификации с J2EE [ ˌdʒeɪˈtuː ˌiːˈiː ] ( Java 2 Platform, Enterprise Edition ), на Java Platform, Enterprise Edition , сокращённо Java EE [ ˈdʒɑːvə ˌiːˈiː ].
Версия | Полное имя | Дата публикации |
---|---|---|
1.0 | Java 2 Platform Enterprise Edition, v 1.0 | декабрь 1999 |
1.2 | Java 2 Platform Enterprise Edition, v 1.2 | 2000 |
1.2.1 | Java 2 Platform Enterprise Edition, v 1.2.1 | 23 мая 2000 |
1.3 | Java 2 Platform Enterprise Edition, v 1.3 | 24 сентября 2001 |
1.4 | Java 2 Platform Enterprise Edition, v 1.4 | 24 ноября 2003 |
5.0 | Java Platform, Enterprise Edition, v 5 | 11 мая 2006 |
6.0 | Java Platform, Enterprise Edition, v 6 | 6 декабря 2009 |
7.0 | Java Platform, Enterprise Edition, v 7 | 12 июня 2013 |
8.0 | Java Platform, Enterprise Edition, v 8 | 18 сентября 2017 |
9.0 | Java Platform, Enterprise Edition, v 9 | ~ 2019 |
Java EE включает в себя стандарты следующих технологий:
Описание | Использованная версия | |||||
---|---|---|---|---|---|---|
J2EE 1.4 | Java EE 5 | Java EE 6 | Java EE 7 | Java EE 8 | ||
2003 г. | 2006 г. | 2009 г. | 2013 г. | 2018 г. | ||
EJB | Enterprise JavaBeans — спецификация технологии серверных компонентов, содержащих бизнес-логику | 2.1 | 3.0 | 3.1 | 3.2 | 3.2 |
JPA | Java Persistence API — управление постоянством и объектно-реляционное отображение | Нет | 1.0 | 2.0 | 2.1 | 2.2 |
Servlet | Обслуживание запросов веб-клиентов | 2.4 | 2.5 | 3.0 | 3.1 | 4.0 |
JSP | JavaServer Pages — динамическая генерация веб-страниц на стороне сервера | 2.0 | 2.1 | 2.2 | 2.3 | 2.3 |
JSTL | JavaServer Pages Standard Tag Library | Нет | 1.2 | 1.2 | 1.2 | 1.2 |
JSF | JavaServer Faces — компонентный серверный фреймворк для разработки веб-приложений на технологии Java | Нет | 1.2 | 2.0 | 2.2 | 2.3 |
JAX-WS | Java API for XML Web Services — создание веб-сервисов | 1.0 | 1.2 | 1.2 | 2.2 | 2.2 |
JAX-RS | Java API for RESTful Web Services — создание RESTful веб-сервисов | Нет | Нет | 1.1 | 2.0 | 2.1 |
WebSocket | Java API for WebSocket | Нет | Нет | Нет | 1.0 | 1.1 |
Java API for JSON Processing — разбор и генерация JSON | Нет | Нет | Нет | 1.0 | 1.1 | |
Java API for JSON Binding — преобразование Java объектов в/из JSON | Нет | Нет | Нет | Нет | 1.0 | |
JNDI | Java Naming and Directory Interface — служба каталогов | 1.2 | 1.2 | 1.2 | 1.2 | 1.2 |
JMS | Java Message Service — обмен сообщениями | 1.1 | 1.1 | 1.1 | 2.0 | 2.0 |
JTA | Java Transaction API — управление транзакциями | 1.0.1B | 1.1 | 1.1 | 1.2 | 1.2 |
JAAS | Java Authentication and Authorization Service — Java-реализация PAM | 1.0 | 1.0 | 1.0 | ||
JavaMail | Получение и отправка электронной почты | 1.2 | 1.4 | 1.4 | 1.5 | 1.6 |
Java Authorization Contract for Containers | 1.0 | 1.1 | 1.1 | 1.4 | 1.5 | |
J2EE Connector Architecture | 1.5 | 1.5 | 1.6 | 1.6 | 1.7 | |
JavaBeans Activation Framework | 1.0 | 1.1 | 1.1 | 1.1 | 1.1 | |
Streaming API for XML | Нет | 1.0 | 1.0 | 1.0 | 1.0 | |
Context and Dependency Injection | Нет | Нет | 1.0 | 1.1 | 2.0 | |
Bean Validation | Нет | Нет | 1.0 | 1.1 | 2.0 | |
Java EE Security API | Нет | Нет | Нет | Нет | 1.0 |
Java EE API включает в себя несколько технологий, которые расширяют функциональность базовых Java SE API-интерфейсов.
Спецификация сервлетов определяет набор программных интерфейсов для обслуживания HTTP -запросов. Она включает в себя спецификации JavaServer Pages .
Спецификация Java API для WebSocket определяет набор программных интерфейсов для обслуживания WebSocket-соединений.
Этот пакет является корнем JavaServer Faces API . JSF — это технология для построения пользовательских интерфейсов из компонентов.
Этот пакет — составная часть JavaServer Faces (JSF) API .
Этот пакет определяет классы и интерфейсы для языка выражений в Java EE. Expression Language (EL) — это простой язык, изначально предназначенный для удовлетворения конкретных потребностей разработчиков веб-приложений. Он используется, в частности, в JSF для связывания компонентов (backing) beans и в CDI name beans, но может быть использован для других платформ.
Эти пакеты определяют аннотации вложения для (англ.) .
Эти пакеты определяют контекст аннотации и интерфейсы для (англ.) .
Enterprise JavaBean (EJB) определяет набор API-интерфейсов удалённого вызова процедур (с использованием RMI или RMI- IIOP ), управление параллелизмом, инъекции зависимости и контроля доступа для бизнес-объектов. Этот пакет содержит классы и интерфейсы, определяющие связь между корпоративным компонентом и его клиентом, а также между корпоративным компонентом и EJB-контейнером.
Этот пакет содержит аннотации и интерфейсы для поддержки декларативной проверки API. Bean Validation обеспечивает единый способ обеспечения ограничения на bean (например, классов JPA модели), что может быть реализовано с помощью cross-layer.
Этот пакет содержит классы и интерфейсы, которые определяют связь между поставщиком, управляемым классом и клиентом Java Persistence API (JPA) .
Этот пакет предоставляет Java Transaction API (JTA) , который содержит интерфейсы и аннотации для взаимодействия с поддержкой транзакций, предлагаемой Java EE.
Этот пакет предоставляет Java SPI (JASPIC), который содержит интерфейсы и классы для создания модулей аутентификации для безопасных "Java EE"-приложений.
Этот пакет предоставляет интерфейсы для взаимодействия непосредственно с платформой Java EE, по умолчанию управляет запуском потоков .
Этот пакет определяет Java Message Server (JMS) API (Application Programming Interface). JMS API предоставляет для программ Java распространенный способ создавать, отправлять, получать и читать сообщения системы корпоративного обмена сообщениями.
Этот пакет определяет вступление AP для Java EE batch applications . Batch applications API предоставляет средства для запуска длительных фоновых задач, которые, возможно, связаны с большим объёмом данных.
Этот пакет определяет . Java EE Connector Architecture (JCA) является Java-технологией для решения проблем подключения серверов приложений к их корпоративным информационным системам (КИС) в рамках интеграции корпоративных приложений (EAI).
Сервер приложений J2EE (часто называемый J2EE-контейнер) — это реализация системы в соответствии со спецификацией J2EE, обеспечивающая работу модулей с логикой конкретного приложения. Включает в себя как минимум следующие сервисы:
Разработчики J2EE-приложений также пишут свои программы в соответствии с спецификациями J2EE, что обеспечивает их работу внутри таких серверов.
Технологию J2EE рационально использовать для реализации крупных проектов, например, для организации сложных веб-порталов и предоставления услуг онлайн , особенно если необходимо обеспечить бесперебойную работу многих тысяч пользователей.