Что такое Java EE?

Я занимаюсь Java SE уже несколько лет и перехожу к Java EE. Однако у меня есть некоторые проблемы с пониманием некоторых аспектов Java EE.

  1. Java EE - это просто спецификация? Что я имею в виду: EJB Java EE?

  2. Являются ли EJB/Spring различными реализациями Java EE?

Прошу прощения, но у меня есть некоторые трудности, чтобы понять, что такое Java EE. Может кто-нибудь объяснить, что такое Java EE? А EJB?

6 ответов

Java EE - это просто спецификация? Что я имею в виду: EJB Java EE?

Java EE действительно абстрактная спецификация. Любой желающий может разработать и предоставить рабочую реализацию спецификации. Конкретными реализациями являются так называемые серверы приложений, такие как WildFly, TomEE, GlassFish, Liberty, WebLogic и т. Д. Есть также контейнеры сервлетов, которые реализуют только часть JSP/Servlet огромного API Java EE, такие как Tomcat, Jetty, и т.п.

Мы, разработчики Java EE, должны писать код, используя спецификацию (т.е. только импорт javax.* классы в нашем коде вместо конкретных классов реализации, таких как org.jboss.wildfly.*, com.sun.glassfish.* и т. д.) и тогда мы сможем запустить наш код в любой реализации (например, на любом сервере приложений). Если вы знакомы с JDBC, это в основном та же концепция, что и как работают драйверы JDBC. Смотрите также ao. Проще говоря, что такое фабрика?

Загружаемый Java EE SDK с Oracle.com содержит в основном сервер GlassFish, а также множество документации и примеров, а также, по желанию, среду IDE NetBeans. Вам это не нужно, если вы хотите другой сервер и / или IDE.

EJB является частью спецификации Java EE. Посмотрите, это в API Java EE. Полноценные серверы приложений Java EE поддерживают его "из коробки", а простые контейнеры JSP/Servlet - нет.

Смотрите также:


Являются ли EJB/Spring различными реализациями Java EE?

Нет, как уже говорилось, EJB является частью Java EE. Spring - это автономный фреймворк, который заменяет и улучшает многие части Java EE. Spring не обязательно требует Java EE для запуска. Баскетбольный сервлет-контейнер типа Tomcat уже достаточен. Проще говоря, Spring является конкурентом Java EE. Например, Spring (автономный) конкурирует с EJB/JTA, Spring MVC конкурирует с JSF/JAX-RS, Spring DI/IoC/AOP конкурирует с CDI, Spring Security конкурирует с JAAS/JASPIC и т. Д.

В прежние времена J2EE/ EJB2 API EJB2 было ужасно реализовать и поддерживать. Spring был тогда намного лучшей альтернативой EJB2. Но начиная с EJB3 (Java EE 5), EJB API был значительно улучшен на основе уроков, извлеченных из Spring. Начиная с CDI (Java EE 6), на самом деле нет причин снова рассматривать другую инфраструктуру, такую ​​как Spring, чтобы упростить разработчикам разработку, среди прочего, уровня обслуживания.

Только когда вы используете простой сервлет-контейнер, такой как Tomcat, и не можете перейти на сервер Java EE, Spring становится более привлекательным, так как его проще установить на Tomcat. Невозможно установить, например, контейнер EJB и Tomcat без изменения самого сервера, вы, по сути, будете заново изобретать TomEE.

Смотрите также:

Java Enterprise Edition (Java EE) - это общая спецификация, которая ссылается на ряд других более подробных спецификаций, среди которых Enterprise JavaBeans (EJB) является одной из наиболее важных.

Прочитайте это - это объясняет разницу между Java EE и Spring

Спасибо...

  • Источник - Java 2 Platform, Enterprise Edition (J2EE) определяет стандарт для разработки многоуровневых корпоративных приложений на основе компонентов. J2EE упрощает создание корпоративных приложений, которые являются переносимыми, масштабируемыми и которые легко интегрируются с устаревшими приложениями и данными.

  • Источник - технология Enterprise JavaBeans (EJB) - это серверная компонентная архитектура для платформы Java Enterprise Edition (Java EE). Технология EJB обеспечивает быструю и упрощенную разработку распределенных, транзакционных, безопасных и переносимых приложений на основе технологии Java.

  • Java EE - это просто спецификация? Что я имею в виду: EJB Java EE?

    • Java EE - это спецификация.

    • EJB - это серверная компонентная архитектура для Java EE

  • Являются ли EJB/Spring различными реализациями Java EE?

    • И EJB, и Spring - разные фреймворки, следующие Java EE.

J2EE / JEE / Jakarta EE

  • Java Enterprise Edition (JEE) используется для разработки распределенных приложений и веб-сервисов.
  • Это компонентный подход к разработке веб-приложений.
  • Веб-приложения JEE считаются трехуровневыми приложениями, поскольку они разделены на 3
    разных компьютера / уровня.
    • Клиент (презентация)
    • J2EE-сервер (приложение / бизнес)
    • База данных (доступ к данным)

Все, что вам нужно знать о Java EE, можно найти, в частности, на официальном веб-сайте @ Oracle . Вам также может быть интересно прочитать спецификацию API для версии 8 . Стоит потратить время на изучение учебника по Java EE 8 . Возможно, вы захотите начать именно с него, потому что он дает очень хороший обзор всей платформы.

Проще говоря - JavaEE - это платформа.

Он состоит из множества спецификаций, которые являются просто API. Конкретные конкретные реализации этих API-интерфейсов - это так называемая "ссылочная реализация".

  1. EJB - это всего лишь одна спецификация в платформе JavaEE
  2. Нет, Spring - это инфраструктура приложений, которая может позволить вам иметь поддержку разработки приложений JavaEE.

EJB - это корпоративный Java-бин

Другие вопросы по тегам