티스토리 뷰

Java EE와 Jakarta EE로의 변화

  • Java EE는 엔터프라이즈 환경에서의 서버 애플리케이션 개발을 위한 명세이다. 1999년 처음 발표되었으니 2018년 기준으로 20살이 된다. Java EE 기술은 과거 다른 플랫폼 대비 독보적인 경쟁력을 가졌으나 최근에는 Node.js, Phython, Go의 등장으로 입지를 많이 뺏기는 중에 있다. 또한, 같은 플랫폼 내에서도 Spring Framework의 절대적인 인기로 인해 Servlet, JPA를 제외한 CDI, JAX-RS, JSF와 같은 Java EE에 포함된 기술들이 높은 완성도에도 불구하고 외면 받는 형국이다. (특히, 한국에서 유독 Spring Framework에 대한 의존도가 심한 편이다.)
  • 이런 변화 속에 Oracle은 보다 능동적이고 민첩한 Java EE의 발전이 필요하다고 판단하여 2017년 자신들이 독점적으로 소유하던 Java EEEclipse 재단에 기부하기로 결정했다. 이에 따라 Eclipse 재단에서는 새로운 엔터프라이즈 자바의 이름으로 Jakarta EE를 투표를 통해 최종 채택했다. (Java EE 자체는 Oracle이 소유권을 가지므로 다른 이름을 채택)
  • Jakarta EE가 추구하는 방향성과 목적은 최근의 트렌드를 따르는 클라우드 네이티브 애플리케이션의 개발이다. 이는 기존의 전통적인 엔터프라이즈 애플리케이션과 대비되는 개념으로 컨테이너 기반의 지속적인 배포와 통합이 가능한 마이크로서비스의 개발을 의미한다.

Eclipse MicroProfile

  • Eclipse MicroProfile은 클라우드 환경에서 배포 가능한 마이크로서비스 개발에 특화된 명세이다. Jakarta EE에 명시된 기술 중 마이크로서비스 제작에 필요한 것만 선별한 것이 특징이다. 선별된 기술은 아래와 같다. 최근 몇년간 Java 플랫폼에서의 마이크로서비스 개발을 주도한 Spring Boot, Dropwizard의 대안으로서 공식적인 Jakarta EE의 마이크로서비스 명세라고 말할 수 있다. 이 중 가장 핵심이 되는 기술은 CDI, JAX-RS, JSON-P라고 할 수 있다.
Java SE 8
CDI 2.0
JAX-RS 2.1
JSON-P 1.1
JSON-B 1.0
Common Annotaion for Java Platform 1.3
Eclipse MicroProfile Config 1.3
Eclipse MicroProfile Fault Tolerance 1.1
Eclipse MicroProfile Health Check 1.0
Eclipse MicroProfile JWT Authentication 1.1
Eclipse MicroProfile Metrics 1.1
Eclipse MicroProfile OpenAPI 1.0
Eclipse MicroProfile OpenTracing 1.1
Eclipse MicroProfile Rest Client 1.1
  • PayaraJakarta EE의 완전한 구현체로서 마이크로서비스 개발을 가능하게 해준다. Payara Server, Payara Micro로 구분되며 앞서 언급한 Eclispe MicroProfile 명세가 요구하는 TCK를 완전히 통과한 것이 특징이다. 특히 Payara Micro가 흥미로운데 약 70MB의 작은 용량으로 .war 파일을 상호 클러스터링이 가능한 마이크로서비스로 배포할 수 있다. Jakarta EE가 추구하는 클라우드 네이티브 애플리케이션 개발에 최적이라고 말할 수 있다.

  • HelidonOracle이 개발한 마이크로서비스 개발 도구이다. Eclipse MicroProfile을 지원하며 Netty 기반의 리엑티브 마이크로서비스 개발이 가능하다.

참고 글

댓글
댓글쓰기 폼