가이드라인:
|
세션 | 메시지 구동 | 엔티티 | |
---|---|---|---|
역할 |
클라이언트 특정 비즈니스 논리 구현 |
메시지 처리 특정 비즈니스 논리 구현 |
비즈니스 엔터티 특정 비즈니스 논리 구현 |
액세스 메소드 |
로컬 또는 원격 인터페이스를 통한 단일 클라이언트 |
JMS MessageListener 인터페이스를 통한 컨테이너, 클라이언트에서 직접 액세스할 수 없음 |
로컬 및 원격 인터페이스를 통한 여러 동시 클라이언트 |
상태 |
클라이언트 및 컨테이너 간의 임시 대화 상태를 유지할 수 있음 |
Stateless이지만 인스턴스에서 자원에 대한 처리를 유지보수할 수 있음 |
데이터베이스에 저장되는 지속적 상태 |
EJB는 스테레오타입이 포함된 클래스 세트로 모델링됩니다. 특히 Bean 클래스 및 임의의 EJB 인터페이스 클래스. EJB 인터페이스는 가이드라인: J2EE 어플리케이션의 인터페이스에 설명된 이유로 UML 인터페이스가 아닌 스테레오타입을 포함한 클래스로 모델링됩니다.
Bean 클래스 및 EJB 인터페이스 간의 관계는 Bean 클래스에서 인터페이스로의 종속성으로 모델링되며, 구현 관계로 모델링되지 않습니다. 일반적으로, Java 구현 구성체는 인터페이스 및 클래스 간의 구현으로 표시됩니다. 그러나 EJB 클래스는 인터페이스 클래스를 구현하지 않으므로 종속성이 더 적합합니다. 다음 다이어그램은 예를 표시합니다. 이 특정 예에 대한 자세한 내용은 가이드라인: J2EE 어플리케이션의 서브시스템 설계를 참조하십시오.
예: EJB 및 헬퍼 클래스
다음은 EJB 모델링에 적용 가능한 UML 스테레오타입입니다.
스테레오타입 | 적용 대상 | 정의 |
---|---|---|
<<EJBSessionHomeInterface>> |
클래스 | 세션 또는 엔티티 홈 인터페이스를 각각 표시합니다. |
<<EJBRemoteInterface>> | 클래스 | EJB 원격 인터페이스를 표시합니다. |
<<EJBLocalInterface>> | 클래스 | EJB 로컬 인터페이스를 표시합니다. |
<<EJBSession>> | 클래스 | EJB 세션 Bean 클래스를 표시합니다. |
<<EJBEntity>> | 클래스 | EJB 엔티티 Bean 클래스를 표시합니다. |
<<EJBMessageDriven>> | 클래스 | 클래스가 메시지 구동 Bean임을 표시합니다. |
EJB는 보통 밀접하게 관련된 클래스 및 EJB와 함께 서브시스템에서 그룹화됩니다. 이것은 설계자가 구현에서 독립적인 EJB의 스펙 보기를 제공하게 하며 다른 설계 요소와 그룹화하여 상위 레벨 추상화를 제공하게 합니다. 추가 세부사항은 가이드라인: J2EE 어플리케이션의 서브시스템 설계를 참조하십시오.
또한 EJB 구성체 표시를 위한 스테레오타입의 전체 목록은 UML/EJB 맵핑 스펙(RSC01)을 참조하십시오.
메시지 구동 Bean이 등록된 주제나 대기열에 대한 모델 종속성. J2EE 어플리케이션에서 동시 요소 모델링에 대한 자세한 가이드는 가이드라인: J2EE 어플리케이션의 런타임 구조 설명을 참조하십시오.
컨테이너 관리 지속성, 트랜잭션, 권한 부여 등과 같은 메커니즘의 사용은 단순히 Bean 클래스와 연관된 텍스트 설명에 포함되거나 Bean 클래스의 추가 특성으로 모델링될 수 있습니다.
이 메커니즘을 사용하는 시나리오을 고려하려면 순서 다이어그램을 사용하십시오.
EJB의 동적 작동 및 EJB와 비EJB(웹 컴포넌트 및 외부 클라이언트 어플리케이션 포함)의 상호 작용을 표시하기 위해 상호작용 다이어그램(협업 및 순서 다이어그램)을 사용할 수 있습니다.
이 상호작용 다이어그램은 본질적으로 활동: 유스 케이스 설계에서 설명된 것과 같습니다. 상호 작용은 EJB 인터페이스와만 상호 작용하여 검은색 상자로 Bean에 표시될 수 있습니다. 또한 상호 작용은 EJB 인터페이스 및 Bean 구현 클래스 간의 상호 작용을 표시하여 Bean 구현을 표시할 수 있습니다. 컨테이너와의 상호 작용에 개입하는 것은 보통 표시되지 않음을 참고하십시오.
메시지 구동 Bean은 다른 소스에서 비동기적으로 도달하는 메시지를 소비합니다. 생산자에서 소비자로 직접 비동기 메시지 전달 플로우를 표시하도록 선택하거나, 주제 및 대기열을 모델링하여 더 정확하게 관계를 모델링할 수 있습니다.
EJB 인터페이스와의 클라이언트 클래스의 상호 작용을 표시하는 순서 다이어그램의 예가 그림 2에 표시됩니다.
그림 2: EJB 인터페이스와의 클라이언트 클래스 상호 작용
그림 3은 그림 2와 유사한 순서 다이어그램이지만, Bean 구현과의 상호 작용을 표시합니다.
그림 3: EJB 구현과의 상호 작용의 예
Bean 구현 클래스와 EJB 인터페이스를 그룹화하여, EJB는 서브시스템 또는 컴포넌트로 모델링될 수 있습니다.
일부 설계자는 EJB를 클래스로 모델링하고 "로컬", "원격", 또는 "홈" 인터페이스에 속하는지를 표시하기 위해 조작을 스테레오타입핑할 수 있게 선택할 수 있습니다. 이것은 다른 대안보다 더 간결한 표기법을 제공합니다.
Rational Unified Process
|