Ответ
Jakarta EE (ранее Java Platform, Enterprise Edition — Java EE) — это набор стандартных спецификаций (API) для создания масштабируемых, надежных и безопасных серверных enterprise-приложений на языке Java.
Ключевые особенности:
- Стандарт, а не реализация: Jakarta EE определяет API, а реализации предоставляются серверами приложений (WildFly, TomEE, Payara, OpenLiberty) и фреймворками.
- Набор технологий: Включает спецификации для различных задач:
- Веб-слой: Jakarta Servlet, Jakarta Faces, Jakarta RESTful Web Services.
- Бизнес-логика: Jakarta Enterprise Beans (EJB), Jakarta Contexts and Dependency Injection (CDI).
- Данные: Jakarta Persistence (JPA), Jakarta Transactions.
- Безопасность: Jakarta Security.
- Открытое развитие: После передачи от Oracle проект теперь развивается под управлением Eclipse Foundation.
Пример простого REST-сервиса с использованием Jakarta EE (Jakarta REST):
import jakarta.ws.rs.GET;
import jakarta.ws.rs.Path;
import jakarta.ws.rs.Produces;
import jakarta.ws.rs.core.MediaType;
@Path("/hello") // Базовый путь к ресурсу
public class HelloResource {
@GET // Обрабатывает HTTP GET запросы
@Produces(MediaType.TEXT_PLAIN) // Определяет тип ответа
public String sayHello() {
return "Hello from Jakarta EE!";
}
}
Сравнение с другими технологиями:
- Spring Framework: Популярный фреймворк, который также реализует многие паттерны enterprise-разработки, но не является формальным стандартом.
- Микросервисы: Современные версии Jakarta EE (9+) ориентированы на модульность и облачную разработку, что позволяет создавать микросервисные архитектуры.
Jakarta EE используется для построения крупных корпоративных систем, таких как банковские приложения, системы управления цепочками поставок и внутренние порталы.