Java EE 란 정확히 무엇입니까?


162

나는 몇 년 동안 Java SE를 해왔으며 Java EE로 넘어 갔다. 그러나 Java EE의 일부 측면을 이해하는 데 어려움이 있습니다.

  1. Java EE는 단지 사양입니까? 내 말은 EJB EJB EE인가?

  2. EJB / Spring은 Java EE의 다른 구현입니까?

죄송하지만 Java EE가 무엇인지 이해하는 데 어려움이 있습니다.

누군가 Java EE가 무엇인지 설명 할 수 있습니까? 그리고 EJB?



2
이 질문을 두 가지 질문으로 잘라야합니다. 하나는 중복이며 다른 하나는 링크에서 대답하지 않습니다.
Kheldar

2
실제로, [java-ee] 태그 위키 를 읽었 습니까?
Paŭlo Ebermann


답변:


187

Java EE는 단지 사양입니까? 내 말은 EJB EJB EE인가?

Java EE는 실제로 추상 사양입니다. 누구나 사양을 개발하고 구현할 수 있습니다. 콘크리트 구현은 소위 애플리케이션 서버이며, 같은 제이보스 , TomEE , 글래스 피쉬 , 자유 , 웹 로직 등과 같은 거대한 자바 EE API 만 JSP / 서블릿 일부 구현 서블릿 컨테이너도있다 톰캣 , 부두가 , 기타

우리는 자바 EE 개발자, 코드 사양을 활용하여 작성해야 (예를 가져올 단지 javax.* 같은 구현 고유의 클래스 대신에 우리의 코드에 클래스를 org.jboss.wildfly.*, com.sun.glassfish.*등) 그리고 우리는에 따라서 어떤 구현 (우리의 코드를 실행할 수 있습니다 응용 프로그램 서버). JDBC에 익숙하다면 기본적으로 JDBC 드라이버 작동 방식과 동일한 개념입니다. ao 가장 간단한 용어로, 공장이란 무엇입니까?

자바 EE SDK 다운로드 Oracle.com에서 기본적으로 문서와 예제 및 선택적으로 또한 넷빈즈 IDE의 무리를 따라 글래스 피쉬 서버가 포함되어 있습니다. 다른 서버 및 / 또는 IDE를 원한다면 필요하지 않습니다.

EJB는 Java EE 사양의 일부입니다. 이봐, 그것은 자바 EE API에 있어요 . 본격적인 Java EE 애플리케이션 서버는 즉시 지원하지만 간단한 JSP / 서블릿 컨테이너는 지원하지 않습니다.

또한보십시오:


EJB / Spring은 Java EE의 다른 구현입니까?

아니요, EJB는 Java EE의 일부입니다. Spring은 Java EE의 많은 부분을 대체하고 개선하는 독립형 프레임 워크입니다. Spring은 반드시 Java EE를 실행할 필요는 없습니다. Tomcat과 같은 베어 본 서블릿 컨테이너는 이미 충분합니다. 간단히 말해서 Spring은 Java EE의 경쟁자입니다. 예를 들어 "Spring"(독립형)은 EJB / JTA와 경쟁하고, Spring MVC는 JSF / JAX-RS와 경쟁하고, Spring DI / IoC / AOP는 CDI와 경쟁하고, Spring Security는 JAAS / JASPIC과 경쟁합니다.

이전 J2EE / EJB2 시간 동안 EJB2 API는 구현 및 유지 관리가 끔찍했습니다. Spring은 EJB2에 대한 훨씬 더 나은 대안이었습니다. 그러나 EJB3 (Java EE 5) 이후 EJB API는 Spring에서 배운 교훈을 바탕으로 훨씬 향상되었습니다. CDI (Java EE 6) 이후 개발자가 다른 서비스 계층을보다 쉽게 ​​개발할 수 있도록 Spring과 같은 다른 프레임 워크 를 다시 살펴볼 이유가 없습니다 .

Tomcat과 같은 베어 본 서블릿 컨테이너를 사용하고 Java EE 서버로 이동할 수없는 경우에만 Spring은 Tomcat에 Spring을 설치하기가 더 쉬워서 더 매력적입니다. 서버 자체를 수정하지 않고 Tomcat에 EJB 컨테이너를 설치할 수는 없습니다. 기본적으로 TomEE를 재창조하는 것입니다.

또한보십시오:


2
그렇다면 Java EE는 일반적인 JEE 응용 프로그램을 실행하기 위해 어떤 지원이 존재해야하는지 정의한다고 말할 수 있습니까?
James P.

4
@ 제임스 : 예. Java EE API의 대부분은 추상적입니다. Java SE API에는 JDBC, JAXP, JAXB 등 여러 가지 추상적 인 부분도 있습니다.
BalusC

3
"개발자를보다 쉽게 ​​만들기 위해 Spring과 같은 다른 프레임 워크를 다시 살펴볼 이유가 없다"고 그는 덧붙였다. -> 정말 귀중한 정보.
jacktrades

@BalusC : 안녕하세요, 공식 Sun Java EE .... 링크가 끊어졌습니다. 비슷한 링크를 제공하면 누군가에게 도움이됩니다.
Abdul Rahman

완전한 Spring 프레임 워크를 실행하려면 서블릿 컨테이너로 충분합니다. 서블릿 컨테이너는 [웹 서버 + 웹 컨테이너 (구현 서블릿 API)]이며 Java EE를 실행하려면 Glassfish와 같은 응용 프로그램 서버가 필요합니다. 서블릿 컨테이너로는 충분하지 않습니다. 서블릿 컨테이너는 응용 프로그램 서버의 하위 집합입니다. 이것을 어떻게 이해합니까?
overexchange

11

Java EE (Java Enterprise Edition)는 여러 가지 더 자세한 사양을 참조하는 포괄적 인 사양으로, EJB (Enterprise JavaBeans)가 더 중요한 사양 중 하나입니다.

이것을 읽으십시오 -Java EE와 Spring의 차이점을 설명합니다.

감사...


4
  • 소스 -Java 2 Platform, Enterprise Edition (J2EE)은 구성 요소 기반 멀티 티어 엔터프라이즈 응용 프로그램 개발을위한 표준을 정의합니다. J2EE는 이식 가능하고 확장 가능하며 레거시 애플리케이션 및 데이터와 쉽게 통합되는 엔터프라이즈 애플리케이션 구축을 단순화합니다.

  • 소스 -EJB (Enterprise JavaBeans) 기술은 Java EE (Java Platform, Enterprise Edition)의 서버 측 구성 요소 아키텍처입니다. EJB 기술을 사용하면 Java 기술을 기반으로하는 분산 트랜잭션 보안 및 휴대용 응용 프로그램을 빠르고 간단하게 개발할 수 있습니다.

  • Java EE는 단지 사양입니까? 내 말은 EJB EJB EE인가?

    • Java EE는 사양입니다.

    • EJB는 Java EE를위한 서버 측 컴포넌트 아키텍처입니다

  • EJB / Spring은 Java EE의 다른 구현입니까?

    • EJB와 Spring은 모두 Java EE에 따라 다른 프레임 워크입니다.

6
고대 버전의 사양 (J2EE)에서 고대 텍스트 (2005)를 인용하는 것은 그리 유용하지 않을 수 있습니다. OP는 특히 현대 J2EE의 화신 인 Java EE를 요청했습니다.
Arjan Tijms

-5

간단히 말해 JavaEE는 플랫폼입니다.

API 인 많은 사양으로 구성되어 있습니다. 이러한 API의 구체적인 구현은 소위 '참조 구현'입니다.

  1. EJB는 JavaEE 플랫폼 내에서 하나의 사양 일뿐입니다
  2. 아니요, Spring은 JavaEE 애플리케이션 개발을 지원 / 지원할 수있는 애플리케이션 프레임 워크입니다.

EJB는 Enterprise Java Beans입니다


4
이 답변은 이전 답변에 아무것도 추가하지 않습니다. 또한 정확하지 않습니다. 구체적인 구현은 하나만 참조이고 나머지는 그렇지 않습니다. 사소한 일 : Spring은 JavaEE와 통합되지만 아무 문제없이 작동 할 수 있습니다.
Tair

@tair 예, 1 개의 구체적인 구현은 '참조'로 간주됩니다. 예를 들어 JPA에는 많은 구현이 있지만 EclipseLink 만 RI입니다. RI를 언급했을 때 다른 API에서 의미가있었습니다. 나는 당신이 위의 내 대답을 오해했다고 생각합니다. 또한 Spring은 위에서 언급 한 JavaEE와 통합됩니다.
SoftwareDeveloper
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.