
Spring Boot로 프로젝트를 진행다가 Java EE와 Jakarta EE라는 것을 흔히 볼 수 있었다. 하지만 정확히 어떤 역할을 하는지 알기 위해 기록을 한다.

Java EE (Java Platform, Enterprise Edition)는 Sun Microsystems가 처음 개발한 엔터프라이즈 애플리케이션 개발 표준이다. 대규모 기업 애플리케이션에 필요한 다양한 API(Servlet, JSP, EJB, JPA 등)와 런타임 환경을 제공한다.
2010년 Sun이 Oracle에 인수되면서 Oracle이 Java EE 개발을 주도했지만 2017년 Java EE 8이 마지막 버전이 되었다.
Java EE는 JCP 프로세스가 복잡하고 시간이 많이 소요되는 단점을 가지고 있었다.
JCP(Java Community Process)
: Java 기술의 표준을 정의하고 유지하는 공식적인 표준화 프로세스

Java EE의 진화된 형태로, 2017년 Oracle이 Java EE의 관리를 Eclipse Foundation으로 이관하면서 이름이 변경되었다. (사실상 Java EE 8이후 버전)
Jakarta EE 9부터는 Oracle의 상표권 문제로
javax.* 패키지가
jakarta.* 로 사용된다.

Java EE는 전통적인 엔터프라이즈 애플리케이션에 초점을 맞췄고, Jakarta EE는 클라우드 네이티브 개발, 마이크로서비스 아키텍처, 컨테이너화 등 현대적인 개발 트렌드를 더 적극적으로 수용한다.
하지만 Java EE와 Jakarta EE는 아직 대체되지 않았고 서로 공존하고 있다.
그 이유는 새로운 플랫폼으로 확장된 Jakarta EE는 Java EE와 호환되지 않기 때문이다.
Spring Boot의 경우 아파치 톰캣(Apache Tomcat)을 주로 사용하는데 톰캣 별로 구현되는 버전이 다르다.
Java EE, Jakarta EE
[ Concept ] Jakarta 란?
Java EE에서 Jakarta EE로의 전환