Ответ
Java EE (теперь Jakarta EE) — это платформа для создания корпоративных приложений, предоставляющая набор стандартных API.
Основные используемые технологии/спецификации:
- Jakarta Servlet & JSP: Основа для веб-слоя.
- Jakarta Persistence API (JPA): Стандарт ORM (реализуется Hibernate, EclipseLink).
- Jakarta Enterprise Beans (EJB): Для распределенных транзакций и безопасности.
- Jakarta RESTful Web Services (JAX-RS): Для создания REST API.
- Jakarta Contexts and Dependency Injection (CDI): Для управления зависимостями.
- Jakarta Messaging (JMS): Для асинхронного обмена сообщениями.
Пример простого сервлета:
@WebServlet("/api/status")
public class StatusServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) {
resp.setContentType("application/json");
resp.getWriter().write("{"status": "OK"}");
}
}
Современная роль и сравнение со Spring:
- Наследие: Многие крупные корпоративные системы построены на Java EE.
- Стандартизация: Jakarta EE — это стандарт, что обеспечивает переносимость между разными серверами приложений (WildFly, TomEE, IBM WebSphere).
- Эволюция: Современные версии Jakarta EE (9+) стали более модульными и удобными.
- Конкуренция: Фреймворк Spring Boot стал де-факто стандартом для новых проектов благодаря своей автоконфигурации, обширной экосистеме и более простой модели разработки. Spring часто предоставляет более гибкие и удобные абстракции поверх тех же стандартов (например, Spring Data JPA поверх JPA).
Вывод: Знание Jakarta EE важно для поддержки legacy-систем и понимания корней enterprise-разработки на Java, хотя для новых проектов часто выбирают Spring Boot.