Лучшие вопросы
Таймлайн
Чат
Перспективы
Jakarta EE
набор спецификации и соответствующей документации для языка Java Из Википедии, свободной энциклопедии
Remove ads
Jakarta EE (ранее — Java Platform, Enterprise Edition, сокр. Java EE, до версии 5.0 — Java 2 Enterprise Edition или J2EE). В 2018 Eclipse Foundation переименовала Java EE в Jakarta EE — набор спецификаций и соответствующей документации для языка Java, описывающей архитектуру серверной платформы для задач средних и крупных предприятий.
Remove ads
Спецификации детализированы настолько, чтобы обеспечить переносимость программ с одной реализации платформы на другую. Основная цель спецификаций — обеспечить масштабируемость приложений и целостность данных во время работы системы. Java EE во многом ориентирована на использование её через веб, как в интернете, так и в локальных сетях. Вся спецификация создаётся и утверждается через JCP (Java Community Process) в рамках инициативы Sun Microsystems Inc.
Java EE является промышленной технологией и в основном используется в высокопроизводительных проектах, в которых необходима надежность, масштабируемость, гибкость.
Популярности Java EE также способствует то, что Sun предлагает бесплатный комплект разработки, SDK, позволяющий предприятиям разрабатывать свои системы, не тратя больших средств. В этот комплект входит сервер приложений GlassFish с лицензией для разработки.
Remove ads
Версии
Актуальная версия 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ː].
Remove ads
Технологии
Суммиров вкратце
Перспектива
Java EE включает в себя стандарты следующих технологий:
Remove ads
API в Java EE
Суммиров вкратце
Перспектива
Java EE API включает в себя несколько технологий, которые расширяют функциональность базовых Java SE API-интерфейсов.
javax.servlet. *
Спецификация сервлетов определяет набор программных интерфейсов для обслуживания HTTP-запросов. Она включает в себя спецификации JavaServer Pages.
javax.websocket. *
Спецификация Java API для WebSocket определяет набор программных интерфейсов для обслуживания WebSocket-соединений.
javax.faces. *
Этот пакет является корнем JavaServer Faces API. JSF — это технология для построения пользовательских интерфейсов из компонентов.
javax.faces.component. *
Этот пакет — составная часть JavaServer Faces (JSF) API.
javax.el. *
Этот пакет определяет классы и интерфейсы для языка выражений в Java EE. Expression Language (EL) — это простой язык, изначально предназначенный для удовлетворения конкретных потребностей разработчиков веб-приложений. Он используется, в частности, в JSF для связывания компонентов (backing) beans и в CDI name beans, но может быть использован для других платформ.
javax.enterprise.inject. *
Эти пакеты определяют аннотации вложения для (CDI) API (англ.).
javax.enterprise.context. *
Эти пакеты определяют контекст аннотации и интерфейсы для (CDI) API (англ.).
javax.ejb. *
Enterprise JavaBean (EJB) определяет набор API-интерфейсов удалённого вызова процедур (с использованием RMI или RMI-IIOP), управление параллелизмом, инъекции зависимости и контроля доступа для бизнес-объектов. Этот пакет содержит классы и интерфейсы, определяющие связь между корпоративным компонентом и его клиентом, а также между корпоративным компонентом и EJB-контейнером.
javax.validation. *
Этот пакет содержит аннотации и интерфейсы для поддержки декларативной проверки Bean Validation[англ.] API. Bean Validation обеспечивает единый способ обеспечения ограничения на bean (например, классов JPA модели), что может быть реализовано с помощью cross-layer.
javax.persistence. *
Этот пакет содержит классы и интерфейсы, которые определяют связь между поставщиком, управляемым классом и клиентом Java Persistence API (JPA).
javax.transaction. *
Этот пакет предоставляет Java Transaction API (JTA), который содержит интерфейсы и аннотации для взаимодействия с поддержкой транзакций, предлагаемой Java EE.
javax.security.auth.message. *
Этот пакет предоставляет Java SPI (JASPIC), который содержит интерфейсы и классы для создания модулей аутентификации для безопасных "Java EE"-приложений.
javax.enterprise.concurrent. *
Этот пакет предоставляет интерфейсы для взаимодействия непосредственно с платформой Java EE, по умолчанию управляет запуском потоков.
javax.jms. *
Этот пакет определяет Java Message Server (JMS) API (Application Programming Interface). JMS API предоставляет для программ Java распространенный способ создавать, отправлять, получать и читать сообщения системы корпоративного обмена сообщениями.
javax.batch.api. *
Этот пакет определяет вступление AP для Java EE batch applications. Batch applications API предоставляет средства для запуска длительных фоновых задач, которые, возможно, связаны с большим объёмом данных.
javax.resource. *
Этот пакет определяет Java EE Connector Architecture[англ.]. Java EE Connector Architecture (JCA) является Java-технологией для решения проблем подключения серверов приложений к их корпоративным информационным системам (КИС) в рамках интеграции корпоративных приложений (EAI).
Remove ads
Сервер приложений
Суммиров вкратце
Перспектива
Сервер приложений J2EE (часто называемый J2EE-контейнер) — это реализация системы в соответствии со спецификацией J2EE, обеспечивающая работу модулей с логикой конкретного приложения. Включает в себя как минимум следующие сервисы:
- EJB-контейнер, который поддерживает автоматическую синхронизацию Java-объектов с базой данных (CMP — container managed persistence, BMP — bean managed persistence);
- JMS — сервис доставки сообщений между компонентами и серверами;
- управление ресурсами (доступ к СУБД, файловой системе, почтовому серверу и т. д.);
- безопасность и защита данных;
- поддержка транзакций (в том числе и распределённых, двухфазных). См. Java Transaction API.
- веб-сервер и сервлет-сервер;
- поддержка веб-сервисов.
- JSF
Разработчики J2EE-приложений также пишут свои программы в соответствии с спецификациями J2EE, что обеспечивает их работу внутри таких серверов.
Технологию J2EE рационально использовать для реализации крупных проектов, например, для организации сложных веб-порталов и предоставления услуг онлайн, особенно если необходимо обеспечить бесперебойную работу многих тысяч пользователей.
Свободные серверы с открытым исходным кодом
- GlassFish
- JBoss Application Server (Apache Tomcat optional)
- WildFly (наследник JBoss с поддержкой JavaEE7)
- Apache Geronimo (использует Apache Tomcat или Jetty)
- Apache TomEE и TomEE Plus (основан на Tomcat с использованием других технологий Apache, нет поддержки JavaEE Full Profile)
- Enhydra Enterprise (использует Apache Tomcat)
- JOnAS (использует Apache Tomcat)
- Resin (собственный Servlet- и EJB-контейнеры)
- Oracle Glassfish Server (Эталонная реализация на основе GlassFish)
Коммерческие серверы
- ATG Dynamo Application Server (DAS)
- IBM WebSphere
- SAP NetWeaver Application Server
- TmaxSoft JEUS
- Oracle WebLogic (BEA)
- Oracle Application Server
- Orion Application Server
- Borland Application Server
- Oracle iPlanet
Отдельные Servlet/JSP-контейнеры
- Apache Tomcat — Open Source
- Caucho Technology Resin — Open Source
- Enhydra Server — Open Source
- Jetty — Open Source
Отдельные EJB-контейнеры
- Apache OpenEJB — Open Source
Remove ads
См. также
Примечания
Ссылки
Литература
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads