Подтвердить что ты не робот

Веб-профиль Java EE vs Java EE Full Platform

В чем разница между сертифицированным сервером Java EE Web Profile (например, JOnAS) и сервером сертифицированной Java EE Full Platform (например, JBoss AS)?

4b9b3361

Ответ 1

Вот хороший образ, который объясняет это. Веб-профиль является подмножеством Java EE, и он позволяет разработчикам создавать более легкие приложения, которые можно использовать в простом контейнере сервлетов (например, Tomcat или Jetty).

enter image description here

Ответ 2

Будущее

В конце 2017 года Oracle передала ответственность за Java EE Фонду Eclipse. Будущие версии после Java EE 8 будут называться Eclipse Enterprise For Java (EE4J). Или проект EE4J. Или, может быть, EE.next. Или Джакарта Э. Брендинг изменился в последние месяцы.

В рамках перехода от Oracle команда Eclipse переиздаст Java EE 8 как Jakarta EE 8, используя свою новую инфраструктуру для кодирования жилья и создания сборок. Такое же поведение EE, то же внутреннее именование и структура пакета. Таким образом, вопросы, обсуждаемые ниже о веб-профиле Java EE в сравнении с полной платформой Java EE, будут по-прежнему применимы.

Однако следующая версия с новыми функциями (Jakarta EE 9), вероятно, потребует нового именования пакетов и, возможно, именования различных API, составляющих EE. Таким образом, даже при том, что вы, вероятно, сможете ожидать восходящей совместимости в поведении, изменения имен будут означать версию 9 и позже не будет заменой двоичного кода. Не конец света. Это может означать так же мало, как и изменение имен пакетов import в файлах различных классов. Прочитайте это и это для деталей и ссылок.

Кроме того, команда Eclipse и сообщество EE в Джакарте могут свободно пересматривать или реорганизовывать различные части EE. Поэтому веб-профиль Java EE и полная платформа Java EE, приведенные ниже, могут не относиться непосредственно к Jakarta EE 9 и более поздним версиям.

Еще одно замечание, если вы используете более свежие версии Java SE, лежащие в основе EE... В Java SE 11 некоторые модули отбрасываются. Части, связанные с Java EE, переносятся в новый дом в проекте Jakarta EE. Другие, такие как CORBA, были предложены для принятия любой заинтересованной организацией. Смотри JEP 320.

Java EE 8

Java EE 8 была выпущена в 2017 году. Смотрите историю версий.

Подробности см. В спецификации JSR 366. Java Platform, Enterprise Edition 8 (Java EE 8).

Java EE - это расширенный набор Java Standard Edition (Java SE). Любая реализация Java EE 8 также является реализацией Java SE 8 или более поздней версии.

См. Список технологий Java EE 8, опубликованных Oracle, со ссылками на JSR и спецификации.

Все профили

Следующие технологии должны присутствовать во всех профилях Java EE:

Java SE версии 8 (или выше)

• Аннотации жизненного цикла ресурса и компонента, определенные в спецификации Common Annotations (Ресурс, Ресурсы, PostConstruct, PreDestroy)

JNDI "java:" контекст именования

• API транзакций Java (JTA)

Веб-профиль

Веб-профиль - это специфическое подмножество полной платформы Java EE, ориентированное на часто используемые элементы. Реализуется такими продуктами, как Apache TomEE или почти с помощью дополнений Eclipse Jetty plus.

• Элементы базового уровня, необходимые для всех профилей Java EE (перечислены выше: Java SE 8, аннотации жизненного цикла, JNDI java: context и JTA)

• Сервлет 4.0 (JSR 369)

• JavaServer Pages (JSP) 2.3

• Язык выражений (EL) 3.0 (JSR 341)

• Поддержка отладки для других языков (JSR-45) 1.0

• Стандартная библиотека тегов для страниц JavaServer (JSTL) 1.2

• JavaServer Faces (JSF) 2.3 (JSR 372)

• Java API для веб-сервисов RESTful (JAX-RS) 2.1

• Java API для WebSocket (WebSocket) 1.1 (JSR 356)

• Java API для обработки JSON (JSON-P) 1.1 (JSR 374)

• Java API для привязки JSON (JSON-B) 1.0 (JSR 367)

• Общие аннотации для платформы Java (JSR-250) 1.3 • Enterprise JavaBeans (EJB) 3.2 Lite

• Java Transaction API (JTA) 1.2

• Java Persistence API (JPA) 2.2

Проверка бобов 2.0 (JSR 380)

• Управляемые бобы 1.0

• перехватчики 1.2

• Контексты и внедрение зависимостей для платформы Java EE 2.0

• Внедрение зависимостей для Java 1.0

• API безопасности Java EE 1.0

• Интерфейс поставщика услуг аутентификации Java для контейнеров (JASPIC) 1.1

Servlet только

В качестве более легкой альтернативы использованию реализации Web Profile вы можете начать с реализации Java Servlet/JSP, такой как Apache Tomcat или Eclipse Jetty. Хотя этот подход не является официальным, он очень популярен. Иногда известный как веб-контейнер.

HTTP веб-сервер

• Сервлет

• JavaServer Pages (JSP)

• язык выражений (EL)

WebSocket

• JNDI

При использовании этой настройки вы можете выборочно добавлять независимые библиотеки, чтобы избирательно извлекать выгоду из различных технологий Java EE. Например, для моей собственной работы по созданию веб-приложений с использованием Vaadin Framework я использую Java SE, а не EE, с Tomcat и добавляю библиотеку реализации Bean Validation вручную, поскольку это все, что мне нужно из списка технологий Java EE.

Полная Java EE

Требуются следующие технологии:

• Все элементы в веб-профиле

• EJB 3.2 (за исключением объектов EJB-компонентов и связанных EJBQL, которые были сделаны необязательными)

• JMS 2.0

• JavaMail 1.6

• Разъем 1.7

• Веб-сервисы 1.4

• Параллельные утилиты 1.0

• Пакет 1.0

• Java EE Management 1.1

• JACC 1.5

• JSP Debugging 1.0

• Метаданные веб-сервисов 2.1

Следующие технологии являются необязательными:

• EJB 3.2 и более ранние бины сущностей и связанный с ними EJB QL

• JAX-RPC 1.1

• JAXR 1.0

• Java EE Deployment 1.2

схема

Вот диаграмма, чтобы показать вложенные группы требований.

diagram of nested groups of various technologies required by Java SE 8, web containers, Java EE 8 Web Profile, Java EE 8 Required, and Java EE 8 Optional

Список выше этой диаграммы может быть более точным; эта диаграмма не была перепроверена.

Ответ 3

Спецификация Java EE 6 (JSR 316) содержит следующие списки:

Полные требования к продукту Java EE

Требуются следующие технологии:

  • EJB 3.1
  • Сервлет 3.0
  • JSP 2.2
  • EL 2.2
  • JMS 1.1
  • JTA 1.1
  • JavaMail 1.4
  • Коннектор 1.6
  • Веб-сервисы 1.3
  • JAX-RPC 1.1
  • JAX-WS 2.2
  • JAX-RS 1.1
  • JAXB 2.2
  • JAXR 1.0
  • Java EE Management 1.1
  • Java EE Deployment 1.2
  • JACC 1.4
  • JASPIC 1.0
  • JSP Debugging 1.0
  • JSTL 1.2
  • Метаданные веб-сервисов 2.1
  • JSF 2.0
  • Общие аннотации 1.1
  • Java Persistence 2.0
  • Bean Validation 1.0
  • Управляемые Бобы 1.0
  • Контексты и внедрение зависимостей для Java EE 1.0
  • Внедрение зависимостей для Java 1.0

Там нет дополнительных технологий.

Определение веб-профиля

Следующие технологии являются обязательными компонентами веб-профиля:

  • Сервлет 3.0
  • JavaServer Pages (JSP) 2.2
  • Язык выражений (EL) 2.2
  • Поддержка отладки для других языков (JSR-45) 1.0
  • Стандартная библиотека тегов для страниц JavaServer (JSTL) 1.2
  • JavaServer Faces (JSF) 2.0
  • Общие аннотации для Java-платформы (JSR-250) 1.1
  • Enterprise JavaBeans (EJB) 3.1 Lite
  • API транзакций Java (JTA) 1.1
  • Java Persistence API (JPA) 2.0
  • Bean Validation 1.0
  • Управляемые Бобы 1.0
  • Перехватчики 1.1
  • Контексты и внедрение зависимостей для Java EE Platform 1.0
  • Внедрение зависимостей для Java 1.06

В веб-профиле нет дополнительных компонентов.

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