주제

소개To top of page

J2EE 모듈은 J2EE 어플리케이션에서 독립된 가장 작은 전개 단위입니다. 개념: J2EE 개요에서 설명한 대로 여러 종류의 J2EE 모듈이 있습니다.

J2EE 모듈의 수와 크기는 J2EE 어플리케이션을 쉽게 전개하고 테스트하는 방식에 영향을 미치며, 어떤 컴포넌트를 다른 어플리케이션에 재사용할 수 있는지의 용이성에 영향을 미치며, 시스템이 다른 전개 형상에 얼마나 쉽게 적응될 수 있는지에 영향을 미칩니다.

J2EE 모듈 어셈블에 대한 자세한 정보는 가이드라인: J2EE 모듈 어셈블을 참조하십시오.

J2EE 모듈 전개에 대한 정보는 가이드라인: J2EE 모듈 및 어플리케이션 전개를 참조하십시오.

J2EE 모듈 식별To top of page

J2EE 모듈은 통합 중 작성되지만, 구현(및 실제로는 설계)에서 이루어진 결정을 반영합니다. J2EE 모듈은 일반적으로 결과물: 설계 서브시스템으로 맵핑되는 구현 서브시스템을 패키지하기 위해 사용됩니다.

J2EE 모듈은 EJB에서만 사용되는 밀접하게 관련된 EJB 및 헬퍼 클래스를 포함해야 합니다. 일반적으로 이와 같은 관계는 설계에서 식별되며 이러한 클래스는 설계 서브시스템으로 그룹화됩니다. 설계 서브시스템의 식별은 이미 다중 전개 형상을 위한 재사용, 대체 및 지원의 사안을 고려했어야 합니다. 그러나 모듈이 특정 노드로의 전개를 위해 할당되면, 설계에서의 취약성이 명확해질 수 있으며 설계 서브시스템(및/또는 구현 서브시스템)에 대한 변경이 필요할 수 있습니다.

단일 컨테이너로 대상화된 컴포넌트를 포함하려면 J2EE 모듈을 식별하십시오. 웹 컴포넌트는 웹 모듈에서 패키지되고 EJB 컴포넌트는 EJB 모듈에서 패키지되며 어플리케이션 클라이언트 컴포넌트는 어플리케이션 클라이언트 모듈에서 패키지됩니다.

다중 모듈에서 사용하는 일반 Java 클래스는 별도의 J2EE 모듈에서 패키지되어야 합니다. 결과 JAR 파일은 필요로 하는 모듈의 클래스 경로 참조(또는 그러한 클래스 경로 참조의 전이 마감)에 표시됩니다.

요약하면, J2EE 모듈 식별시 서브시스템이 여러 컨테이너로 전개되는 컴포넌트를 포함하고 각 컨테이너의 별도 모듈을 정의하는 경우를 제외하고는 각 구현 서브시스템마다 하나의 모듈을 식별하여 시작하십시오.

J2EE 모듈 모델링To top of page

J2EE 모듈은 구현 모델에서 <<EJB-JAR>>, <<JAR>> 또는 <<WAR>> 유형을 식별하는 스테레오타입을 포함한 UML 결과물로 표시됩니다.

J2EE 모듈로 컴포넌트(예: EJB 또는 servlet)를 구성하면 다음 다이어그램에 표시된 대로 포함된 컴포넌트에서 패키지된 모듈로 <<implements>> 종속성을 그려 그래픽으로 표시될 수 있습니다. 또한 아카이브에서 전체 Java 패키지의 포함을 표시하기 위해 <<JARInclude>> 종속성을 그릴 수 있습니다.

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

다른 선택사항은 다음 다이어그램에 표시된 대로 아카이브를 패키지로 표시하고 포함된 컴포넌트를 패키지 내에 표시하는 것입니다.

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

 

아카이브에 패키지된 컴포넌트를 모델링하는 것 이외에, 궁극적으로 아카이브의 전개 설명자에 문서화되는 컴포넌트의 특성을 모델링할 수도 있습니다.

일부 EJB 컴포넌트 특성을 모델링하는 방식의 예가 아래 제공됩니다.

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

위의 다이어그램은 세 개의 EJB, BankEJB, LoanEJB, CustomerEJB 및 LoanManagerEJB의 어셈블리를 동일한 모듈 EJBJARArchive1로 표시합니다. EJB 메소드 특성, 보안 역할 및 트랜잭션의 모델링에 주의하십시오. 이 예에서 CustomerEJB는 CustomerTrans에서 지정된 트랜잭션 유형(예: "Required") 아래에서 실행됩니다. 소스 코드는 전개 설명자에서 "고객" 사용자 역할로 맵핑되는 역할 이름 "user"를 사용합니다. 또한 호출하는 사용자가 다른 역할에 속할지라도 LoanEJB 및 CustomerEJB의 모든 메소드는 "고객의" 신임으로 실행됩니다. 유사하게, LoanManagerEJB 메소드는 "Admin"으로 실행됩니다. 마지막으로, BankEJB의 사용자는 어떤 메소드도 액세스할 수 없습니다.

일부 웹 컴포넌트 특성을 모델링하는 방식의 예가 아래 제공됩니다.

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

위의 다이어그램은 웹 모듈로의 servlet 어셈블리를 표시합니다. "Customer" 유형의 사용자가 showresults servlet에서 메소드를 자체적으로 실행하는 곳에서 보안 역할 및 제한조건의 모델링은 WebSecurityContraint1의 특성으로 정의된 보안 제한조건에 의해 영향을 받습니다.

J2EE 모듈을 노드로 전개하는 것은 전개 모델에 표시될 수 있습니다. 모듈에서 전개 노드로의 맵핑을 모델링하는 것에 대한 자세한 설명은 가이드라인: J2EE 어플리케이션의 분배 설명을 참조하십시오.

전개 설명자To top of page

각 J2EE 모듈은 J2EE 표준 전개 설명자와 0개 이상의 벤더 고유의 설명자를 포함합니다. 여러 종류의 전개 설명자가 개념: J2EE 개요에 설명되어 있습니다. 일반적으로 표준 J2EE 전개 설명자는 기본적으로 설계 및 구현 결정을 캡처합니다. 컴포넌트가 실행하는 노드, 컴포넌트가 특정 노드용으로 구성되는 방식과 같이 RUP가 "전개 결정"으로 나타내는 결정이 벤더 특정 전개 설명자에 캡처됩니다.

전개 설명자는 별도의 두 가지 목적으로 제공됩니다.

  • 컨테이너로 설계 결정을 통신하는 수단. 예를 들어, 세션 EJB의 전개 설명자에는 세션 EJB가 stateful 또는 stateless인지 여부를 나타내는 "session-type"이 있습니다. 이것은 설계 및 코드와 일치해야 하며, 단순히 전개 설명자에서 이를 변경할 수 없습니다.
  • 코드를 다시 컴파일하지 않고 작동을 조정하는 수단. 예를 들어, 특정 메소드를 호출하도록 권한 부여된 역할을 정의하기 위해 전개 설명자를 사용할 수 있습니다. 이것은 EJB의 코드를 변경하지 않고도 변경될 수 있습니다.

전개 설명자의 컨텐츠는 J2EE 모듈이 작성되고 J2EE 어플리케이션으로 어셈블될 때 설정됩니다. J2EE 모듈 어셈블에 대한 자세한 정보는 가이드라인: J2EE 모듈 어셈블을 참조하십시오. J2EE 어플리케이션 어셈블에 대한 자세한 정보는 가이드라인: J2EE 어플리케이션 어셈블을 참조하십시오.

 



Rational Unified Process   2003.06.15