Продължете към съдържанието
Начало » Блог » Какво представлява Jakarta EE

Какво представлява Jakarta EE

Какво представлява Jakarta EE?

Jakarta EE (преди: Java EE – Java Enterprise Edition) е стандартна платформа за изграждане на корпоративни (enterprise) Java приложения. Тя включва спецификации и API-та, които разработчиците използват за създаване на уеб приложения, микросървиси, REST API, сигурни транзакции, бизнес логика, и др.


История накратко:

Платформа Година Забележка
J2EE 1999 Java 2 Enterprise Edition – началото
Java EE 2006 Преименуване и еволюция
Jakarta EE 2018 След прехвърляне от Oracle към Eclipse Foundation

Поради лицензионни причини, името Java EE бе сменено на Jakarta EE.


Какво съдържа Jakarta EE?

Jakarta EE включва набор от спецификации, които дефинират как трябва да работят различни компоненти в едно корпоративно приложение:

Основни спецификации:

API Описание
Jakarta Servlet Обработка на HTTP заявки и уеб интерфейси
Jakarta RESTful Web Services (JAX-RS) Създаване на REST API
Jakarta Persistence (JPA) Работа с бази данни чрез обекти
Jakarta Enterprise Beans (EJB) Бизнес логика и транзакции
Jakarta Contexts and Dependency Injection (CDI) Инжектиране на зависимости
Jakarta Faces (JSF) Компонентно уеб програмиране
Jakarta Security Достъп, роли, сигурност
Jakarta Messaging (JMS) Асинхронна комуникация чрез съобщения

Архитектура:

Jakarta EE приложения обикновено се разгръщат (deploy) върху апликейшън сървъри, като:

  • WildFly
  • Payara
  • GlassFish
  • Open Liberty

Тези сървъри реализират спецификациите и предлагат среди за работа на Jakarta приложенията.


Примерен Jakarta EE проект:

javaCopyEdit@Path("/hello")
@RequestScoped
public class HelloService {

    @GET
    @Produces(MediaType.TEXT_PLAIN)
    public String sayHello() {
        return "Здравей от Jakarta EE!";
    }
}

Това е пример на REST ресурс с JAX-RS.


Сравнение: Jakarta EE vs Spring

Характеристика Jakarta EE Spring Framework
Стандартизиран Да Не (но де факто стандарт)
Сървър Изисква съвместим сървър Работи и самостоятелно (Spring Boot)
Microservices Поддържа чрез MicroProfile Поддържа чрез Spring Cloud
Сложност По-структурирана По-гъвкава и лесна за стартиране

Защо да избереш Jakarta EE?

  • Стандартизация и дългосрочна поддръжка
  • Подходяща за големи корпоративни проекти
  • Поддържа транзакции, сигурност, обектно-релационно моделиране и др.