SeamFramework.orgCommunity Documentation

부 I. ì»¨í…ìŠ¤íŠ¸ 객체 사용

Web Beans (JSR-299) 사양은 애플리케이션을 보다 쉽게 개발하기 위한 Java EE 환경에 대한 서비스 모음을 정의합니다. Web Beans는 JavaBeans 및 Enterprise Java Bean을 포함하여 기존의 Java 구성 요소 유형을 통해 향상된 수명 주기 및 상호 작용 모델을 계층화합니다. 전통적인 Java EE 프로그래밍 모델의 구성 요소로서, Web Beans는 다음과 같은 서비스를 제공합니다:

컨텍스트 수명 주기 관리와 함께 의존성 주입은 다음과 같은 질문을 묻고 대답하는 것에서 생소한 API 사용자를 보호합니다:

Web Bean은 의존하는 다른 Web Beans의 유형 및 시멘틱 만을 지정합니다. 이는 의존하는 다른 Web Bean 클라이언트 또는 스레딩 모델, 실제적인 수명 주기, 구체적 구현 방식을 인식할 필요가 없습니다. 더 나아가 의존하는 Web Bean의 스레딩 모델, 수명 주기, 구체적 구현 방식은 클라이언트에게 영향을 미치지 않고 운용 방식에 따라 달라질 수 있습니다.

이벤트, 인터셉터 및 데코레이터는 이러한 모델에 내제된 느슨하게 연결하는 (loose-coupling) 기능을 강화합니다:

가장 중요하게 Web Beans는 이러한 모든 기능을 타입 안정적 (typesafe) 방식으로 제공합니다. Web Beans는 협력적 객체를 갖추기 위한 방법을 결정하기 위해 문자열 기반의 식별자를 사용하지 않습니다. XML은 옵션으로 남아있어도 거의 사용되지 않습니다. 대신 Web Beans는 바인딩 어노테이션 (binding annotations)이라는 새로운 패턴과 함께 Java 객체 모델에서 이미 사용 가능한 타이핑 정보를 사용하여 Web Beans 및 Web Beans의 의존성, 인터셉터, 데코레이터 및 이벤트 소비자를 함께 묶습니다.

Web Beans 서비스는 일반적으로 Java EE 환경에 있는 다음과 같은 구성 요소의 유형에 적용됩니다:

Web Beans는 통합 지점을 제공하여 차후 Java EE 사양이나 또는 비표준 프레임워크에 의해 지정된 다른 종류의 구성 요소가 Web Beans과 통합되어 Web Beans 서비스의 장점을 취하고 다른 종류의 Web Bean과 상호 작용합니다.

Web Beans는 Seam, Guice, Spring을 포함하여 다수의 기존 Java 프레임워크에 의해 영향을 받았지만 Web Beans은 자체적으로 다음과 같은 고유한 기능을 소유하고 있습니다: Seam 보다 더 타입 안정적, 보다 더 상태 기반적, Spring 보다 덜 XML-중심, Guice 보다 더 웹 및 엔터프라이즈-애플리케이션 사용 가능

보다 중요하게 Web Beans는 Java EE 및 내장 가능한 EJB Lite를 사용할 수 있는 Java SE 환경과 통합된 JCP 표준입니다.