본문으로 건너뛰기

1.4 Java EE 6 표준 이해

Java EE(Enterprise Edition) 6의 표준은 새로운 프로파일 개념을 정의하고 표준의 일부로 Full Profile과 Web Profile 두 개의 프로파일을 정의하고 있다. JBoss EAP 6는 Java EE 6의 Full Profile 및 Web Profile 표준을 지원하는 대표적인 웹 애플리케이션 서버이다.

  • Java EE( Enterprise Edition )6 Web Profile
  • Java EE( Enterprise Edition )6 Full Profile

Java EE 6 Full Profile​

Java EE 6의 모든 기술들이 포함되어 있는 Java EE Full Profile은 30 가지가 넘는 기술 표준들로 구성되어 있으며, 이러한 표준기술들을 활용하여 웹 애플리케이션 서버로서의 서비스를 제공하고 있다. 데이터베이스 접속, 웹 서비스 제공, 트랜잭션 실행과 관리, 보안 정책, 메시징, 네이밍, 이메일 송신, 외부 자원에의 접속 등의 기능들을 제공하고 있다.

Full Profile은 다음 API를 지원한다. JBoss는 Java EE 6 Full Profile을 지원한다.

Java EE6 Full Profile 에서 제공하는 항목​

  • EJB 3.1(Lite 아님) (JSR 318)
  • Java EE Connector Architecture 1.6 (JSR 322)
  • Java Message Service (JMS) API 1.1 (JSR 914)
  • JavaMail 1.4 (JSR 919)
  • 웹서비스 기술
    • Jax-RS RESTful Web Services 1.1 (JSR 311)
    • Implementing Enterprise Web Services 1.3 (JSR 109)
    • JAX-WS Java API for XML-Based Web Services 2.2 (JSR 224)
    • Java Architecture for XML Binding (JAXB) 2.2 (JSR 222)
    • Web Services Metadata for the Java Platform (JSR 181)
    • Java APIs for XML-based RPC 1.1 (JSR 101)
    • Java APIs for XML Messaging 1.3 (JSR 67)
    • Java API for XML Registries (JAXR) 1.0 (JSR 93)
  • 관리 및 보안 기술
    • Java Authentication Service Provider Interface for Containers 1.0 (JSR 196)
    • Java Authentication Contract for Containers 1.3 (JSR 115)
    • Java EE Application Deployment 1.2 (JSR 88)
    • J2EE Management 1.1 (JSR 77)

Java EE6 Web Profile​

Java EE 6 표준 중에서 웹과 관련된 기술들만 포함한 프로파일이 Web Profile이다. Servlet, Java Server Pages(JSP), Java Server Faces(JSF), Contexts and Dependency Injection(CDI), Java Persistence API(JPA), EJB Lite 등 웹 개발자가 일반적으로 사용하는 Java EE중 웹 관련 기술을 포함하고 있다. EJB Lite는, EJB 3 표준의 부분집합으로 웹 개발자가 Full Profile 환경이 아니더라도 EJB중 많이 사용하는 일부 기능들을 사용할 수 있다. EJB Lite는 리모트 인터페이스나 메시지 구동형 Bean(MDB) 등의 기능은 없지만 Stateful, Stateless 세션 빈 과 엔티티 빈을 지원한다.

Java EE 6 Web Profile에서 제공하는 항목​

  • 웹 관련 기술
    • Servlet 3.0 (JSR 315)
    • JSP 2.2 및 Expression Language (EL) 1.2
    • Java Server Faces (JSF) 2.0 (JSR 314)
    • JSP 1.2을위한 Java Standard Tag Library (JSTL)
    • Debugging Support for Other Languages 1.0 (JSR 45)
  • 엔터프라이즈 애플리케이션 기술
    • Contexts and Dependency Injection (CDI) (JSR 299)
    • Dependency Injection for Java (JSR 330)
    • Enterprise JavaBeans 3.1 Lite (JSR 318)
    • Java Persistence API 2.0 (JSR 317)
    • Common Annotations for the Java Platform 1.1 (JSR 250)
    • Java Transaction API (JTA) 1.1 (JSR 907)
    • Bean Validation (JSR 303)
기능EJB LiteEJB
Stateless beans○○
Stateful beans○○
Singleton beans○○
Message driven beans○
No interfaces○○
Local interfaces○○
Remote interfaces○
Web service interfaces○
Asynchronous invocation○
Interceptors○○
Declarative security○○
Declarative transactions○○
Programmatic Transactions○○
Timer service○
EJB 2.x support○
CORBA Interoperability○

표 6. EJB 와 EJB Lite 의 기능 비교

JBoss EAP 6에서는 Java EE 6에서 처음 도입된 프로파일을 설정으로 간단하게 구분하여 사용할 수 있는 기능을 제공하고 있다.

그림 5. Java EE 6의 Web Profile 과 Full Profile 비교