CS/웹

[웹] JEE (Jakarta Enterprise Edition)

pythaac 2022. 4. 19. 13:36

  JEE(Jakarta Enterprise Edition)는 오라클의 JEE(Java Enterprise Edition)의 소스코드와 거버넌스를 이클립스재단으로 이관하면서, 자바 명칭을 사용할 권리를 주지 않아 변경된 이름입니다.

 

Java EE

  Java EE는 많은 종류의 엔터프라이즈 Java application과, Spring과 같은 많은 프레임워크에서 널리 사용되는 프로젝트였습니다. 초기 썬 마이크로시스템즈가 분산 애플리케이션 개발 목적의 산업 표준 플랫폼인 J2EE(Java 2 Enterprise Edition)로 발표하였습니다.

  기업용 애플리케이션을 개발/실행하기 위한 기술과 환경을 제공하며 서블릿, JSP, EJB, JDBC, JDNI, JMX, JTA 등의 알려진 기술을 포함합니다. 주요 목적은 운영체제와 미들웨어에 종속되지 않고 정보 교환/애플리케이션 호환이 가능한 플랫폼을 제공하는 것입니다.

  Java EE는 한마디로 기술 사양, 명세이며 이를 호환 구현(Compatible Implementations, CI)한 제품이 웹 애플리케이션 서버(WAS) 입니다. JEE(Jarkarte EE) 9.1의 Web Profile에는 Servlet 5.0, Restful Web Services 3.0, WebSocket 2.0 등 다양한 기술 명세가 있습니다. 자바 웹어플리케이션과 관련된 용어는 여기서 자세하게 알아볼 수 있겠네요.

 

Jarkarta EE

  Jarkarta EE의 핵심 목표는 '클라우드 네이티브 환경을 위한 엔터프라이즈 자바 기술'로 마이크로서비스, 컨테이너 등의 최신 기술 트랜드를 반영하려합니다. 클라우드 네이티브 환경에서 JEE 플랫폼 전체를 풀스택으로 올리는 것은 비효율적이므로, 모듈화(Modularity)를 통해 컨테이너와 마이크로서비스 환경을 위해 효율적으로 동작할 수 있는 런타임을 구성해야합니다.

  스프링 프레임워크의 경량화 버전인 스프링 부트가 마이크로서비스 환경에서 좋은 반응을 얻고 있는 점도 이러한 이유입니다. 아래 글[3]에서는

 

자바EE를 기반으로 하는 스프링 프레임워크, 스프링 부트, 아파치 톰캣 등이 자카르타 EE를 채택하는 시점부터 많은 전환이 이뤄질 것으로 예상됩니다.

라고 작성되어 있는데, 아파치 톰캣에 대한 설명[6]에 다음과 같은 문장이 있습니다.

  The Apache Tomcat® software is an open source implementation of the Jakarta Servlet, Jakarta Server Pages, Jakarta Expression Language, Jakarta WebSocket, Jakarta Annotations and Jakarta Authentication specifications. These specifications are part of the Jakarta EE platform.
  The Jakarta EE platform is the evolution of the Java EE platform. Tomcat 10 and later implement specifications developed as part of Jakarta EE. Tomcat 9 and earlier implement specifications developed as part of Java EE.

정리하면, Tomcat 10부터는 Jakarta EE spec을 따르고, Tomcat 9나 이전 버전은 Java EE spec을 따른다고 되어있습니다.

  J2EE와 Spring을 비교한 글[7]에 따르면, 스프링은 J2EE를 위한 어플리케이션 개발 프레임워크이며, J2EE 개발을 쉽게 만들어준다고 합니다. 즉, JEE는 standard/specifiaction이지만, 스프링은 standard가 아닌 프레임워크입니다. 이 글[8]에 따르면, 스프링 또한 jakarta EE와의 호환성을 고려한 변경을 준비중인 듯 보이며, 현재 제가 만든 프로젝트(Spring boot 2.6.4)에서 사용하는 dependency에서는 javax가 아닌 jakarta를 볼 수 있습니다.

 

 

 

[1] https://zdnet.co.kr/view/?no=20180306132007 

 

자바EE 새 이름 '자카르타EE'

이클립스재단으로 이관된 '자바 엔터프라이즈에디션(EE)'의 오픈소스 버전이 '자카르타EE'로 이름을 바꿨다.최근 외신에 따르면, 이클립스...

zdnet.co.kr

[2] https://sejoung.github.io/2019/09/2019-09-17-jakarta-ee-8/#jakarta-ee-8-Java-EE%EC%9D%98-%EC%83%88%EB%A1%9C%EC%9A%B4-%EC%8B%9C%EB%8C%80-%EC%84%A4%EB%AA%85

 

jakarta ee 8: Java EE의 새로운 시대 설명 | 폭간의 기술블로그

jakarta ee 8: Java EE의 새로운 시대 설명 Java EE는 환상적인 프로젝트입니다. 그러나 1999 년에 J2EE라는 이름으로 만들어졌으며 20 년이 지났으므로 기업의 요구에 부응하는 데 어려움이 있습니다. 이

sejoung.github.io

[3] https://www.samsungsds.com/kr/insights/java_jakarta.html

 

Java EE에서 Jakarta EE로의 전환

Java EE에서 Jakarta EE로의 전환

www.samsungsds.com

[4] https://jakarta.ee/specifications/webprofile/9.1/jakarta-webprofile-spec-9.1.html#web-profile-definition

 

Jakarta EE WebProfile

Version 6 of this specification was created under the Java Community Process as JSR-316. The spec leads for the JSR-316 Expert Group were Bill Shannon (Sun Microsystems, Inc.) and Roberto Chinnici (Sun Microsystems, Inc.). The expert group included the fol

jakarta.ee

[5] https://jakarta.ee/specifications/servlet/5.0/jakarta-servlet-spec-5.0.html

 

Jakarta Servlet Specification

Web applications are created by Application Developers who give, sell, or otherwise transfer the application to a Deployer for installation into a runtime environment. Application Developers communicate the security requirements to the Deployers and the de

jakarta.ee

[6] https://tomcat.apache.org/

 

Apache Tomcat® - Welcome!

The Apache Tomcat® software is an open source implementation of the Jakarta Servlet, Jakarta Server Pages, Jakarta Expression Language, Jakarta WebSocket, Jakarta Annotations and Jakarta Authentication specifications. These specifications are part of the

tomcat.apache.org

[7] https://www.geeksforgeeks.org/difference-between-javaee-and-spring/

 

Difference Between JavaEE and Spring - GeeksforGeeks

A Computer Science portal for geeks. It contains well written, well thought and well explained computer science and programming articles, quizzes and practice/competitive programming/company interview Questions.

www.geeksforgeeks.org

[8] https://okky.kr/article/1044159

 

OKKY | Spring Framework 6용 Java 17 및 Jakarta EE 9 베이스라인

원문: https://spring.io/blog/2021/09/02/a-java-17-and-jakarta-ee-9-baseline-for-spring-framework-6 위르겐 홀러 2021년 9월 2일 어제 SpringOne에서 발표된 바와 같이, Spring Framework 6 및 Spring Boot 3은 2022년 4분기에

okky.kr

 

'CS > ' 카테고리의 다른 글

[웹] PG(Payment Gateway)  (0) 2022.05.05
[웹] Spring - NodeJS - Django  (0) 2022.04.19
[웹] SEO란  (0) 2022.04.18
[인프런][HTTP] URI와 웹 브라우저 요청 흐름  (0) 2022.04.07
[인프런][HTTP] 인터넷 네트워크  (0) 2022.03.30