주제

소개To top of page

이 가이드라인은 EJB 식별에 초점을 둡니다. EJB에 대한 추가 가이드가 가이드라인: EJB에서 제공됩니다.

EJB 식별To top of page

일반적으로 트랜잭션, 보안 및 원격 액세스의 지원을 필요로 하거나 공유 데이터에서 조작하는(계정 정보 갱신과 같이) 서버측 비즈니스 객체를 구현하는 데 EJB를 사용합니다.

대개 EJB는 설계 클래스가 분석 클래스에서 식별될 때 식별됩니다. 세션 Bean이 제어 논리를 제공하도록 조정될 때, 제어 클래스는 세션 Bean의 좋은 후보입니다. 엔티티 Bean이 지속적 데이터로 조정될 때, 엔티티 클래스는 엔티티 Bean의 좋은 후보입니다.

다음과 같은 더욱 특정한 가이드라인도 참조하십시오.

세션, 메시지 구동 및 엔티티 Bean 비교To top of page

이 테이블에서는 이전에 언급된 일부 가이드라인을 요약하여 여러 EJB에서 수행되는 역할과 EJB가 액세스되는 방식 및 상태의 본질을 식별합니다.

  세션 메시지 구동 엔티티

역할

클라이언트 특정 비즈니스 논리 구현

메시지 처리 특정 비즈니스 논리 구현

비즈니스 엔터티 특정 비즈니스 논리 구현

액세스 메소드

로컬 또는 원격 인터페이스를 통한 단일 클라이언트

JMS MessageListener 인터페이스를 통한 컨테이너, 클라이언트에서 직접 액세스할 수 없음

로컬 및 원격 인터페이스를 통한 여러 동시 클라이언트

상태

클라이언트 및 컨테이너 간의 임시 대화 상태를 유지할 수 있음

Stateless이지만 인스턴스에서 자원에 대한 처리를 유지보수할 수 있음

데이터베이스에 저장되는 지속적 상태


EJB 모델링To top of page

EJB는 스테레오타입이 포함된 클래스 세트로 모델링됩니다. 특히 Bean 클래스 및 임의의 EJB 인터페이스 클래스. EJB 인터페이스는 가이드라인: J2EE 어플리케이션의 인터페이스에 설명된 이유로 UML 인터페이스가 아닌 스테레오타입을 포함한 클래스로 모델링됩니다.

Bean 클래스 및 EJB 인터페이스 간의 관계는 Bean 클래스에서 인터페이스로의 종속성으로 모델링되며, 구현 관계로 모델링되지 않습니다. 일반적으로, Java 구현 구성체는 인터페이스 및 클래스 간의 구현으로 표시됩니다. 그러나 EJB 클래스는 인터페이스 클래스를 구현하지 않으므로 종속성이 더 적합합니다. 다음 다이어그램은 예를 표시합니다. 이 특정 예에 대한 자세한 내용은 가이드라인: J2EE 어플리케이션의 서브시스템 설계를 참조하십시오.

첨부 텍스트에 설명된 다이어그램

예: EJB 및 헬퍼 클래스

다음은 EJB 모델링에 적용 가능한 UML 스테레오타입입니다.

스테레오타입 적용 대상 정의

<<EJBSessionHomeInterface>>
<<EJBEntityHomeInterface>>

클래스 세션 또는 엔티티 홈 인터페이스를 각각 표시합니다.
<<EJBRemoteInterface>> 클래스 EJB 원격 인터페이스를 표시합니다.
<<EJBLocalInterface>> 클래스 EJB 로컬 인터페이스를 표시합니다.
     
<<EJBSession>> 클래스 EJB 세션 Bean 클래스를 표시합니다.
<<EJBEntity>> 클래스 EJB 엔티티 Bean 클래스를 표시합니다.
<<EJBMessageDriven>> 클래스 클래스가 메시지 구동 Bean임을 표시합니다.

EJB는 보통 밀접하게 관련된 클래스 및 EJB와 함께 서브시스템에서 그룹화됩니다. 이것은 설계자가 구현에서 독립적인 EJB의 스펙 보기를 제공하게 하며 다른 설계 요소와 그룹화하여 상위 레벨 추상화를 제공하게 합니다. 추가 세부사항은 가이드라인: J2EE 어플리케이션의 서브시스템 설계를 참조하십시오.

또한 EJB 구성체 표시를 위한 스테레오타입의 전체 목록은 UML/EJB 맵핑 스펙(RSC01)을 참조하십시오.

메시지 구동 Bean 모델링To top of page

메시지 구동 Bean이 등록된 주제나 대기열에 대한 모델 종속성. J2EE 어플리케이션에서 동시 요소 모델링에 대한 자세한 가이드는 가이드라인: J2EE 어플리케이션의 런타임 구조 설명을 참조하십시오.

EJB 특성 모델링To top of page

컨테이너 관리 지속성, 트랜잭션, 권한 부여 등과 같은 메커니즘의 사용은 단순히 Bean 클래스와 연관된 텍스트 설명에 포함되거나 Bean 클래스의 추가 특성으로 모델링될 수 있습니다.

이 메커니즘을 사용하는 시나리오을 고려하려면 순서 다이어그램을 사용하십시오.

EJB 객체 상호 작용 모델링To top of page

EJB의 동적 작동 및 EJB와 비EJB(웹 컴포넌트 및 외부 클라이언트 어플리케이션 포함)의 상호 작용을 표시하기 위해 상호작용 다이어그램(협업 및 순서 다이어그램)을 사용할 수 있습니다.

이 상호작용 다이어그램은 본질적으로 활동: 유스 케이스 설계에서 설명된 것과 같습니다. 상호 작용은 EJB 인터페이스와만 상호 작용하여 검은색 상자로 Bean에 표시될 수 있습니다. 또한 상호 작용은 EJB 인터페이스 및 Bean 구현 클래스 간의 상호 작용을 표시하여 Bean 구현을 표시할 수 있습니다. 컨테이너와의 상호 작용에 개입하는 것은 보통 표시되지 않음을 참고하십시오.

메시지 구동 Bean은 다른 소스에서 비동기적으로 도달하는 메시지를 소비합니다. 생산자에서 소비자로 직접 비동기 메시지 전달 플로우를 표시하도록 선택하거나, 주제 및 대기열을 모델링하여 더 정확하게 관계를 모델링할 수 있습니다.

EJB 인터페이스와의 클라이언트 클래스의 상호 작용을 표시하는 순서 다이어그램의 예가 그림 2에 표시됩니다.

첨부 텍스트에 설명된 다이어그램

그림 2: EJB 인터페이스와의 클라이언트 클래스 상호 작용

그림 3은 그림 2와 유사한 순서 다이어그램이지만, Bean 구현과의 상호 작용을 표시합니다.

첨부 텍스트에 설명된 다이어그램

그림 3: EJB 구현과의 상호 작용의 예

모델링 대안To top of page

Bean 구현 클래스와 EJB 인터페이스를 그룹화하여, EJB는 서브시스템 또는 컴포넌트로 모델링될 수 있습니다.

일부 설계자는 EJB를 클래스로 모델링하고 "로컬", "원격", 또는 "홈" 인터페이스에 속하는지를 표시하기 위해 조작을 스테레오타입핑할 수 있게 선택할 수 있습니다. 이것은 다른 대안보다 더 간결한 표기법을 제공합니다.



Rational Unified Process   2003.06.15