개발/자바

J2EE, Java EE, Jakarta EE의 변천사와 개요

피터JK 2025. 2. 12. 14:58
728x90

1. J2EE (Java 2 Platform, Enterprise Edition)

J2EE(Java 2 Platform, Enterprise Edition)는 1999년 Sun Microsystems에서 발표한 엔터프라이즈 애플리케이션 개발을 위한 표준입니다. 이 표준은 웹 애플리케이션 및 대규모 기업 환경에서 사용하는 서버 측 기술들을 정의합니다.

J2EE의 주요 특징

  • 서블릿(Servlet), JSP(JavaServer Pages), EJB(Enterprise JavaBeans) 등의 핵심 기술 포함
  • XML을 사용한 배포 설정 지원
  • 멀티 계층 아키텍처(클라이언트, 웹, 비즈니스 로직, 데이터 계층)
  • JDBC, JNDI, JMS 등의 API 제공

J2EE는 당시 대기업 및 엔터프라이즈 환경에서 중요한 역할을 했으며, 이후 발전을 거듭하며 Java EE로 변경되었습니다.


2. Java EE (Java Platform, Enterprise Edition)

2006년 Sun Microsystems가 Oracle에 인수된 이후, J2EE는 "Java EE"로 이름이 변경되었습니다. Java EE는 기업 애플리케이션 개발을 위한 더 효율적인 표준과 기능을 제공하며, 오픈소스 및 벤더들이 쉽게 구현할 수 있도록 개선되었습니다.

Java EE의 발전

  • EJB의 간소화 및 CDI(Contexts and Dependency Injection) 추가
  • JPA(Java Persistence API) 도입으로 객체-관계 매핑(ORM) 표준 제공
  • RESTful 웹 서비스 지원 강화(JAX-RS)
  • JSF(JavaServer Faces) 기반 UI 프레임워크 발전
  • JSON 처리 기능 추가

Java EE는 많은 대기업 및 개발자가 사용했으며, 오픈소스 커뮤니티에서도 활발히 개발되었습니다. 하지만 이후 Oracle이 Java EE의 개발을 종료하고, Eclipse 재단으로 이전하면서 Jakarta EE로 발전하게 됩니다.


3. Jakarta EE

Java EE는 2017년 Eclipse Foundation으로 이관되면서 "Jakarta EE"로 다시 이름이 변경되었습니다. 이 변화는 오픈소스 커뮤니티 중심의 개발과 현대적인 엔터프라이즈 Java 기술의 지속적인 개선을 목표로 합니다.

Jakarta EE의 특징

  • Java EE의 기능을 그대로 유지하면서도, 빠른 표준화 및 업데이트 가능
  • 최신 클라우드 및 마이크로서비스 아키텍처 지원 강화
  • Jakarta EE 8은 Java EE 8과 동일한 API를 유지하지만, 이후 Jakarta EE 9부터는 네임스페이스 변경(javax -> jakarta)
  • Jakarta EE 10에서는 새로운 기능 추가 및 기존 API의 발전

Jakarta EE의 주요 변화

버전 주요 변화
Jakarta EE 8 Java EE 8과 동일, 네임스페이스 유지
Jakarta EE 9 javax 패키지를 jakarta로 변경
Jakarta EE 10 클라우드 네이티브 및 모던 애플리케이션 지원 강화

4. J2EE, Java EE, Jakarta EE 비교

항목  J2EE  Java EE  Jakarta EE
출시 연도 1999년 2006년 2018년
주관 Sun Microsystems Oracle Eclipse Foundation
패키지 네임스페이스 javax.* javax.* jakarta.* (EE 9부터)
주요 변화 EJB 중심의 구조 경량화 및 ORM 도입 클라우드 및 마이크로서비스 지원 강화

5. 개발자가 고려해야 할 점

Jakarta EE는 최신 클라우드 및 마이크로서비스 아키텍처를 지원하는 방향으로 발전하고 있습니다. 따라서, 기존 Java EE를 사용하고 있는 경우 다음을 고려해야 합니다:

  • 기존 Java EE 애플리케이션 마이그레이션: javax 네임스페이스를 jakarta로 변경하는 작업 필요
  • 클라우드 네이티브 개발: Jakarta EE는 Kubernetes, Docker 등의 환경을 지원하는 방향으로 발전 중
  • 스프링과의 관계: Jakarta EE는 스프링(Spring)과 함께 사용할 수 있으며, 필요에 따라 선택 가능

결론

J2EE에서 시작된 엔터프라이즈 Java 기술은 Java EE를 거쳐 현재 Jakarta EE로 진화했습니다. 최신 Jakarta EE는 클라우드, 마이크로서비스, 컨테이너 기반 애플리케이션에 적합하게 설계되고 있으며, 오픈소스 커뮤니티 주도의 빠른 업데이트가 가능해졌습니다.

기존 Java EE를 사용 중이라면, 향후 Jakarta EE로의 전환을 고려하는 것이 좋습니다. 또한, Spring Boot와 같은 다른 프레임워크와의 조합을 고민하면서 최적의 기술 스택을 선택하는 것이 중요합니다.

728x90