Что такое Java EE?

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

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

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

Прошу прощения, но у меня есть некоторые трудности, чтобы понять, что такое Java EE.

Может кто-нибудь объяснить, что такое Java EE? А EJB?

Ответ 1

Является ли 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. См. Также a.o. Проще говоря, что такое factory?

Загрузка 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 Безопасность конкурирует с JAAS/JASPIC и т.д.

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

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

См. также:

Ответ 2

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

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

Спасибо...

Ответ 3

  • Источник - 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.

Ответ 4

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

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

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

EJB - это Enterprise Java Beans