주제

소개페이지 맨 위

이 가이드라인은 메시지 구동 Bean 식별에 초점을 둡니다. 메시지 구동 Bean에 대한 추가 가이드가 가이드라인: 메시지 구동 Bean에서 제공됩니다. EJB에 대한 일반 가이드가 가이드라인: EJB에서 제공됩니다.

메시지 구동 Bean의 특성은 다음과 같습니다.

  • stateless입니다.
  • 값이나 예외를 클라이언트로 리턴하지 않습니다.
  • 클라이언트가 메시지 구동 Bean을 직접 액세스하지 않지만 간접적으로 메시지를 Bean에서 서비스하는 목적지(또는 엔드포인트)로 전송하여 액세스하므로 인터페이스가 없습니다. 일반적으로 임의의 메시지를 처리하는 하나의 리스너 메소드(JMS 메시지 구동 Bean의 경우 "onMessage()")가 있습니다. 이것은 수신되는 메시지 유형을 판별하기 위해 "instanceOf()" 조작을 사용하여 유형 검사를 런타임에 수행해야 함을 의미합니다.

기타 EJB, 웹 컴포넌트 및 어플리케이션 클라이언트를 포함하여 어디에서든 컨테이너로 메시지를 송신할 수 있습니다. 컨테이너는 필요할 때 메시지 구동 EJB를 호출하여 들어오는 메시지 이벤트를 처리합니다. 메시지 구동 EJB는 기타 세션이나 엔티티 EJB 또는 EIS 층에 직접 액세스하여 메시지를 처리할 수 있습니다.

메시지 구동 Bean 식별페이지 맨 위

메시지 구동 Bean은 비동기적으로 메시지를 처리하는 방식을 제공합니다. 세션 및 엔티티 Bean은 동기적으로만 호출될 수 있습니다. 메시지 구동 Bean은 전체 시스템의 동시성을 정의하는 파트로 식별됩니다. 호출자 및 호출된 코드를 분리하는 설계 패턴과 같은 동시성에 대한 일반 가이드라인은 가이드라인: 동시성을 참조하십시오. 메시지 구동 Bean은 보통 EJB 컨테이너에서 동시성을 제공하는 수단으로 활동: 런타임 구조 설명의 일부분으로 식별됩니다. 이와 같이, 메시지 구동 Bean은 보통 분석 클래스로부터 직접 식별되지는 않지만, 성능 및 결합 관련사항과 같은 특정 설계 사안을 해결하기 위해 식별됩니다.

메시지 구동 Bean을 도입하는 몇 가지 이유에는 다음이 포함됩니다.

  • 소프트웨어의 다른 영역 간의 별도의 관련사항은 메시지 수신자와 결합되지 않고도 대기열로 메시지를 보낼 수 있습니다. 또한 다중 송신측 및 수신측을 지원할 수 있습니다.
  • 동기 호출(예:엔티티 또는 세션 Bean의 호출에서 발생)에서 차단하는 대신 메시지 송신측에서 처리를 수행할 수 있게 하여 성능을 증가시킵니다.
  • 메시지 수신자가 오프라인 상태일지라도 메시지 송신측이 계속 기능하게 하여 신뢰성이 증가되었습니다.
  • 보증된 메시지 전달과 같이 메시지 전달 인터페이스 이면의 MOM(Message-Oriented Middleware)에서 다른 장점을 제공할 수 있습니다.
  • 통신하기 위해 메시지 전달을 사용하는 기존의 설계 요소(예: 레거시 시스템)가 있습니다.

메시지 구동 Bean 모델링페이지 맨 위

EJB 모델링에 대한 일반 가이드는 가이드라인: EJB 식별을 참조하십시오. 그러나 메시지 구동 Bean은 보통 프로세스 보기의 일부분으로 모델링됨에 주의하십시오. 프로세스 보기에서 메시지 구동 Bean을 모델링하는 것에 대한 특정 가이드는 가이드라인: J2EE 어플리케이션의 런타임 구조 설명을 참조하십시오.

결과를 메시지 송신측으로 리턴 페이지 맨 위

메시지 구동 Bean은 직접 응답을 메시지 송신측으로 보낼 수 없습니다.

일반적인 응답 전송 전략은 응답을 위한 다른 목적지나 엔드포인트를 소개하는 것입니다. 이 전략에 대한 추가 세부사항은 [ROM02]를 참조하십시오.



Rational Unified Process   2003.06.15