본문으로 건너뛰기

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 비교