도구 사용 도움말: Rational Rose에서 J2EE 응용프로그램 디자인 모델링
이 도구 사용 도움말은 Rational Rose를 사용하여 J2EE 응용프로그램 디자인을 모델링하는 방법에 대해 설명합니다.
도구: Rational Rose
관계
관련 요소
기본 설명

목적

J2EE 컴포넌트는 J2EE 프레임워크에도 디자인할 수 있으며 이러한 컴포넌트는 Rose에 클래스 및 클래스 협업으로 표시됩니다. 

일반적으로 J2EE 응용프로그램은 관계형 데이터베이스의 서비스를 사용합니다. 데이터베이스에 대한 Data Model을 디자인하여 Rose Data Modeler를 사용하여 Rose에 표시합니다. 

Rational Rose에서 J2EE 응용프로그램을 모델링하려면 다음 단계를 수행하십시오.

J2EE에 대한 자세한 정보는 개념: J2EE(Java 2 Platform Enterprise Edition) 개요를 참조하십시오. 

J2EE 플랫폼을 사용한 컴포넌트 기반 개발 개요는 개념: 컴포넌트 솔루션 개발을 참조하십시오.

다음도 참조하십시오.

J2EE 프로젝트용 Rational Rose 설정

도구 사용 도움말: 프로젝트용 Rational Rose 설정에서 설명된 Rational Rose를 설정하십시오.

또한 Rose Java 추가 기능을 사용하고 프로젝트 특정 설정을 구성해야 합니다.

Rose Java 구성에 대한 자세한 정보는 Rational Rose 온라인 도움말의 도움말 서적 아이콘 Rose Java > 방법 > 프로젝트 특성 설정을 참조하십시오.

디자인 모델 구성

디자인 모델에서 패키지 및 계층 작성

도구 사용 도움말: Rational Rose를 사용하여 디자인 모델 관리는 Rose와 함께 제공되는 RUP 모델 템플리트로 시작하여 중간 산출물: 디자인 모델에 패키지 및 레이어를 작성하는 방법에 대해 설명합니다. 이 템플리트는 디자인 활동(타스크: 유스 케이스 디자인, 타스크: 클래스 디자인타스크: subsystem_design_real-time_design) 중에 작성되어야 하는 패키지, 서브시스템 및 다이어그램의 플레이스홀더를 포함하여 디자인 모델의 스켈레톤을 제공합니다.   

다음도 참조하십시오.

중간 산출물: 디자인 모델의 패키지 구조는 중간 산출물: 구현 모델의 패키지 구조와 일치하지 않아도 됩니다. 엔지니어에게 Java 클래스를 전달하는 경우, 생성된 Java 클래스의 패키지 구조를 결정하는 것은 구현 모델의 패키지 구조입니다.

도움말 서적 아이콘  패키지에 대한 자세한 정보는 Rational Rose 온라인 도움말에서 패키지 주제를 참조하십시오.

Java 언어 패키지 추가

시스템 레이어라고 하는 J2EE 플랫폼 서비스를 제공하려면 Java 및 J2EE용 Java 언어 패키지를 추가해야 합니다. 이 패키지는 모델에 사용자의 고유한 클래스를 작성하는 경우 사용됩니다. 예를 들어, 클래스가 Java 유형 String을 리턴하는 오퍼레이션을 정의하는 경우 String 클래스를 포함하는 Java 언어 패키지 java.lang이 모델에 필요합니다.

 세부사항은 다음 Rational Rose 온라인 도움말 주제를 참조하십시오.

  • 도움말 서적 아이콘 Rose Java > 개념 > Java 프레임워크 사용

  • 도움말 서적 아이콘  Rose Java > 방법 > 모델에 Java 클래스 라이브러리 로드

스키마 패키지 추가

스키마 패키지에는 응용프로그램의 데이터베이스 테이블 디자인이 포함됩니다.  자세한 정보는 도구 사용 도움말: Rational Rose Data Modeler를 사용하여 데이터베이스 디자인 및 모델링을 참조하십시오.

Java Bean 및 Java 클래스 모델링

이 섹션에서는 EJB를 모델링하는 방법(EJB 모델링 참조) 또는 HTML 및 JSP 페이지와 같은 프리젠테이션 클래스를 모델링하는 방법(프리젠테이션 계층 모델링 참조)에 대해 설명하지 않습니다.

Java 응용프로그램의 경우와 같이 나머지 Java Bean 및 Java 클래스(예: 유틸리티 클래스)를 모델링하는 방법에 대한 정보를 제공합니다. 세부사항은 다음을 참조하십시오.

EJB 모델링

EJB에 대한 자세한 정보는 가이드라인: EJB(Enterprise JavaBean)를 참조하십시오.

다음은 Rose에서 EJB를 모델링하기 위해 수행하는 단계에 대한 요약 설명입니다.

EJB용 디자인 서브시스템 작성

일반적으로 EJB는 디자인 서브시스템으로 분류됩니다. 

디자인 서브시스템은 명시적인 공식 인터페이스를 제공하며 규칙에 의해 해당 내부 컨텐츠를 표시하지 않는 동작을 "패키지" 내부에 캡슐화하는 데 사용합니다.  

디자인 서브시스템을 작성하는 방법에 대한 자세한 정보는 도구 사용 도움말: Rational Rose를 사용하여 서브시스템 관리를 참조하십시오.

EJB 유형 및 해당 지속성 메커니즘 결정

Rose에서 EJB를 작성하려면 엔티티 Bean, 세션 Bean 또는 메시지 구동 Bean의 EJB 유형을 결정해야 합니다. 엔티티 Bean의 경우, 컨테이너 관리 지속성 및 Bean 관리 지속성 중 하나를 선택해야 합니다. 세션 Bean의 경우, Bean이 Stateful 또는 Stateless인지 여부를 선택해야 합니다.

가이드라인: EJB(Enterprise JavaBean)를 참조하십시오.

Rose Java를 사용하여 EJB 클래스 작성

Rose Java는 Rose로 EJB 클래스를 작성 및 유지보수하기 위한 대화 상자 세트를 제공합니다.

  도움말 서적 아이콘  자세한 정보는 Rational Rose 온라인 도움말의 Rose Java > 방법 > EJB 및 Servlet 작업을 참조하십시오. 

Rose Java를 사용하면 다음 기능을 수행할 수 있습니다.

  • 처음부터 새 EJB를 작성합니다.

  • Java가 기존 클래스를 EJB 원격 인터페이스로 변환하며 홈 인터페이스 및 Bean 클래스에 대한 새 클래스를 작성하는 EJB-Rose로 모델의 기존 클래스를 변환합니다. 

  • EJB에 파인더 메소드를 추가합니다.

  • Bean 구현 클래스에 정의된 파인더 메소드 또는 라이프사이클로 홈 인터페이스를 갱신합니다.

  • EJB 클래스 특성(예: 홈 인터페이스 이름), 지속성 특성(예: Bean 관리 또는 컨테이너 관리 여부) 및 배치 설명자 특성(예: 컨테이너 관리 필드 또는 환경 항목)을 갱신합니다.

Rose Java를 사용하여 작성되는 엔티티 또는 세션 Bean의 구성은 다음과 같습니다.

  • 홈 인터페이스 클래스

  • 원격 인터페이스 클래스

  • Bean 클래스

  • EJB Bean 클래스의 특성으로 저장되는 일반 EJB 배치 설명자 ejb-jar.xml을 정의하는 특성

  • EJB 스펙에서 필요한 오퍼레이션 및 속성(예: 콜백 메소드)은 홈 인터페이스, 원격 인터페이스 및 Bean 클래스에서 작성됩니다.

Rose Java EJB 유틸리티에서 작성한 클래스는 Sun 표준 JSR-000026 UML/EJB 맵핑 스펙에 정의된 맵핑에 따라 모델링됩니다.  도움말 서적 아이콘 자세한 정보는 Rational Rose 온라인 도움말의 Rose Java > 개념 > J2EE(2 Platform, Enterprise Edition)에 대한 지원 정보 주제를 참조하십시오. 

EJB 1.1 또는 2.0 스펙에 대한 자세한 정보는 http://java.sun.com/Docs & Training > Java 2 Platform, Enterprise Edition > Enterprise JavaBeans Specification 링크를 참조하십시오.

오퍼레이션 및 속성 정의

EJB 클래스를 작성하면 원하는 대로 오퍼레이션(예: 비즈니스 메소드) 및 속성을 추가할 수 있습니다.

Rose Java는 Rose로 EJB 클래스를 작성 및 유지보수하기 위한 대화 상자 세트를 제공합니다.

  도움말 서적 아이콘  Rational Rose 온라인 도움말의 Rose Java > 방법 > EJB 및 Servlet 작업 > Bean 클래스에 메소드 추가 주제를 참조하십시오.

오퍼레이션 및 속성 정의에 대한 자세한 정보는 다음을 참조하십시오.

클래스 모델링:  관계

클래스 간 관계(예: 연관, 종속성 및 상속 관계)를 모델링하는 타스크: 클래스 디자인의 일부로 클래스 다이어그램을 작성합니다.

Rose와 함께 제공되는 Rational Unified Process Rose 모델 템플리트는 작성해야 하는 클래스 다이어그램의 시작 위치로서의 기본 정보를 제공합니다.

클래스 간 관계 모델링에 대한 자세한 정보는 타스크: 클래스 디자인을 참조하십시오.

클래스 모델링:  상호작용

타스크: 유스 케이스 디자인의 일부로 시퀀스 다이어그램에 대한 메시지를 작성한 다음 이 메시지를 사용하여 디자인 오브젝트 간 상호작용에 대해 설명합니다. 시퀀스 다이어그램 세트를 작성하여 모델 디자인의 각 유스 케이스 구현에 대한 기본 및 대체 이벤트 플로우에 대해 설명하십시오.  

EJB 디자이너는 시퀀스 다이어그램을 사용하여 다음 역할을 수행할 수 있습니다.

  • 상호작용과 관련된 클래스의 오퍼레이션 및 오퍼레이션 인수 판별

  • 상호작용 시 클래스에서 호출할 오퍼레이션 설명

  • 예를 들어 메시지에 스크립트를 첨부하여, 오브젝트가 메시지를 수신할 때 수행하는 기능 설명. 도움말 서적 아이콘  자세한 정보는 Rational Rose > 방법 > 모델 작성 및 작업 > 시퀀스 다이어그램의 스크립트 사용 도움말 주제를 참조하십시오.

다음도 참조하십시오.

EJB 지속성 모델링

엔티티 EJB는 응용프로그램의 지속 데이터에 대한 객체 지향 보기를 나타냅니다. EJB 클래스를 엔티티로 모델링하고 클래스를 지속적으로 표시하는 것은 역할: 데이터베이스 디자이너타스크: 데이터베이스 디자인에서 EJB 오브젝트를 데이터 모델로 맵핑해야 함을 의미합니다.

역할: 데이터베이스 디자이너는 응용프로그램의 데이터 모델을 타스크: 데이터베이스 디자인의 일부로 작성합니다.

Rose는 Rational Rose Data Modeler 도구를 사용하는 데이터베이스 디자인에 대한 지원을 제공하여 사용자가 오브젝트 모델의 지속 클래스를 데이터 모델로 또는 그 반대로 변환할 수 있습니다.

오브젝트 모델의 클래스를 데이터 모델의 테이블로 맵핑하는 작업은 데이터 모델 테이블의 Rose 스펙의 맵핑 원본 필드에서 설명합니다.

또한 중간 산출물: 데이터 모델가이드라인: 데이터 모델을 참조하십시오.

Rose Data Modeler에 대한 자세한 정보는 도구 사용 도움말: Rational Rose Data Modeler를 사용하여 데이터베이스 디자인 및 모델링을 참조하십시오.

세션 EJB에 대한 모델링 고려사항

세션 Bean은 지속 데이터를 읽거나 쓸 수 있습니다. 가이드라인: EJB(Enterprise JavaBean) 디자인 - 직접 액세스 대 엔티티 EJB를 참조하십시오.  

이 경우, DAO(Data Access Object) 클래스를 사용하여 EJB 데이터베이스 연결의 세부사항을 분리시키고 javax.sql 인터페이스를 사용하여 액세스해야 합니다. 

Bean 관리 엔티티 EJB에 대한 모델링 고려사항

Bean 관리 엔티티 Bean은 JDBC API를 사용하여 데이터베이스 테이블을 읽고 씁니다. DAO 클래스를 사용하여 EJB 데이터베이스 연결의 세부사항을 분리시키고 javax.sql 인터페이스를 사용하여 액세스하십시오.  

컨테이너 관리 엔티티 EJB에 대한 모델링 고려사항

컨테이너 관리 엔티티 EJB의 지속성은 EJB 컨테이너가 관리하므로 해당 DAO 클래스를 디자인하지 않아도 됩니다.

모델 트랜잭션

트랜잭션은 원자(atomic) 오퍼레이션 호출 세트를 정의합니다. 이러한 호출은 모두 수행되거나 모두 수행되지 않습니다. 트랜잭션은 지속성 컨텍스트에서 다시 모두 수행되거나 모두 수행되지 않는 오브젝트 세트에 대한 일련의 변경사항을 정의합니다. 트랜잭션은 일관성을 제공하여 오브젝트 세트가 하나의 일치된 상태에서 다른 상태로 이동하도록 합니다.

트랜잭션 관리에 대한 개요는 개념: J2EE(Java 2 Platform Enterprise Edition) 개요 - 트랜잭션 관리를 참조하십시오.

타스크: 유스 케이스 디자인 - 트랜잭션 모델링에서 설명하는 대로 EJB 트랜잭션을 모델링하십시오. 구현 작업 시 디자인 모델에 따라, EJB 메소드의 속성을 Required, RequiresNew, NotSupported, Supports, Mandatory 또는 Never로 정의하거나 프로그램 방식으로 Java 트랜잭션 API를 사용하여 배치 설명자에서 트랜잭션을 명확하게 구분할지 여부를 결정해야 합니다.

모델 보안

디자인의 일부로, EJB 배치 설명자의 보안 역할 및 메소드 권한을 사용하거나 J2EE 보안 API를 프로그램 방식으로 사용하여 응용프로그램 보안을 명확하게 처리할 수 있는지 여부를 결정하십시오.

시퀀스 다이어그램을 사용하여 보안 시나리오를 고려하십시오. 필요한 경우, 시퀀스 다이어그램에 주석을 표시하여 보안 요구사항에 대해 설명하십시오.

보안 관리에 대한 개요는 개념: J2EE(Java 2 Platform Enterprise Edition) 개요 - 보안 관리를 참조하십시오.

EJB 컴포넌트 포워드 엔지니어

도구 사용 도움말: Rational Rose를 사용하여 모델에서 요소 생성에서 설명하는 대로 Rose Java를 사용하여 포워드 엔지니어링으로 EJB의 Java 클래스를 생성합니다. EJB 배치 설명자 ejb-jar.xml은 EJB Bean 클래스를 포워드 엔지니어링하면 자동으로 생성됩니다.

EJB 리버스 엔지니어링

도구 사용 도움말: Rational Rose를 사용하여 코드 역 엔지니어에서 설명하는 대로 Rose Java를 사용하여 기존 EJB를 리버스 엔지니어링할 수 있습니다. EJB 클래스 및 배치 설명자를 포함하는 .jar 파일은 역으로 엔지니어해야 Rose Java가 현재 리버스 엔지니어링 중인 클래스(홈 인터페이스 클래스) 간의 관계를 판별할 수 있습니다. 

사용자 인터페이스 계층 모델링

웹 응용프로그램과 같이 J2EE 응용프로그램의 사용자 인터페이스 레이어를 모델링하십시오. 일반적으로 <<boundary>> 스테레오타입의 분석 클래스가 사용자 인터페이스 레이어의 클래스 및 공동 클래스의 후보가 됩니다. 경계 클래스는 디자인에 따라 JSP 페이지, Servlet, HTML 페이지 또는 독립형 Java 클라이언트와 같이 구현될 수 있습니다.

자세한 정보는 다음을 참조하십시오. 

관련 활동:

다음도 참조하십시오.

프리젠테이션 클래스의 포워드 및 리버스 엔지니어링

프리젠테이션 클래스를 포워드 및 리버스 엔지니어링할 수 있습니다. Rose Java에서 지원하는 내용은 다음과 같습니다.

  • 웹 응용프로그램의 리버스 엔지니어링(.war). 도움말 서적 아이콘 자세한 정보는 Rational Rose 온라인 도움말의 Rose Java > 방법 > Java 소스에서 Rose로  리버스 엔지니어링 주제를 참조하십시오.

  • 해당 메소드로 완성되는 새 Servlet 클래스 작성. 도움말 서적 아이콘 자세한 정보는 Rational Rose 온라인 도움말의 Rose Java > 방법 > EJB 및 Servlet 작업을 참조하십시오.