UML에서 EJB로 변환 시 UML(Unified Modeling Language) 모델 요소가 엔터프라이즈 Bean 및 Java 코드로 변환됩니다. UML에서 EJB로 변환은 UML에 Java로 변환과 동일하지만 EJB 변환 프로파일에서 스테레오타입으로 표시되는 UML 요소에서 엔터프라이즈 Bean을 생성할 수도 있습니다.
UML에서 EJB로 변환을 사용하려면 먼저 UML에서 Java로 변환에 대해 알고 있어야 합니다.
UML 요소와 시각화 엔터프라이즈 Bean 또는 Java 클래스 간 관계 프로세스 지원
모델 탐색기 보기에서 하나 또는 여러 개의 항목을 UML에서 EJB로 변환하기 위한 소스로 선택할 수 있습니다. 다음 표에는 변환 시 올바른 소스로 승인되는 항목이 나열되어 있습니다.
소스 |
결과 |
UML 모델 |
모델의 모든 패키지, 클래스 및 인터페이스를 변환합니다. |
UML 패키지 |
패키지와 해당 패키지의 모든 클래스 및 인터페이스를 변환합니다. |
UML 클래스 |
클래스와 해당 클래스가 포함하는 모든 속성, 오퍼레이션, 클래스 및 인터페이스를 변환합니다. 참조: 클래스의 상위는 UML 패키지여야 합니다. |
UML 인터페이스 |
인터페이스와 해당 인터페이스가 포함하는 모든 속성, 오퍼레이션, 클래스 및 인터페이스를 변환합니다. 참조: 인터페이스의 상위는 UML 패키지여야 합니다. |
UML 열거 |
열거 및 모든 열거 리터럴을 변환합니다. 참조: 열거의 상위는 UML 패키지여야 합니다. |
소스 모델에서 엔터프라이즈 Bean을 생성하려면, 소스 모델에 적용되는 EJB 변환 프로파일이 있어야 하고 모델 요소는 EJB 변환 프로파일의 스테레오타입을 가지고 있는 것으로 표시되어야 합니다.
UML에서 EJB로 변환은 단일 EJB 프로젝트를 대상으로 허용합니다. EJB 프로젝트는 클라이언트 프로젝트 유무에 관계없이 작성할 수 있습니다. 변환 시 EJB 프로젝트에서 발견되는 첫 번째 소스 폴더(일반적으로 ejbModule)와 클라이언트 프로젝트가 있는 경우 클라이언트 프로젝트에서 발견되는 첫 번째 소스 폴더(일반적으로 src)에 코드가 생성됩니다.
EJB 프로젝트와 연관되는 EJB 컨테이너 버전은 UML에서 EJB로 변환에 영향을 줍니다. EJB 컨테이너의 각 버전에는 UML에서 EJB로 변환이 적절히 동작하고 처리되도록 하기 위해 따라야 하는 다양한 규칙이 있습니다. 다음 표에는 서로 다른 EJB 컨테이너 버전과 연관되는 규칙이 나열되어 있습니다.
EJB 컨테이너 버전 |
변환에 영향을 주는 규칙 |
2.1 |
CMP(Container-managed persistence) 1.1 Bean은 원격 인터페이스 전용으로 생성되어야 함 |
2.0 |
CMP 1.1 Bean은 원격 인터페이스 전용으로 생성되어야 함 |
1.1 |
|
변환 실행 이전에 위의 규칙을 따르지 않으면 EJB 변환 시 소스 모델이 처리되지 않아서 아무 것도 변환되지 않습니다.
EJB 변환 프로파일은 UML에서 EJB로 변환 시 엔터프라이즈 Bean을 생성하도록 해석하는 스테레오타입을 정의합니다. 다음 표에는 EJB 변환 프로파일이 정의하는 스테레오타입이 나열되어 있습니다.
스테레오타입 |
대상 요소 |
UML에서 EJB로 변환 해석 |
<<entity>> |
UML 클래스 |
엔티티 Bean을 나타냅니다. |
<<service>> |
UML 클래스 |
초기에 false(세션 Bean이 Stateless임을 표시함)로 설정되는 "hasState" 스테레오타입 특성이 있는 세션 Bean을 나타냅니다. |
<<messageprocessor>> |
UML 클래스 |
메시지 구동 Bean을 나타냅니다. |
<<id>> |
UML 속성 |
엔티티 Bean의 1차 키 일부로 사용되는 CMP 또는 BMP 필드를 나타냅니다. |
<<query>> |
UML 오퍼레이션 |
엔티티 Bean에서 조회 메소드를 나타냅니다. |
EJB 변환 프로파일은 다음 제한조건도 정의합니다.
EJB 변환 프로파일을 사용하여 모델 유효성을 검증할 때 이러한 제한조건으로 인해 경고가 생성됩니다. UML에서 EJB로 변환을 실행하기 전에 경고를 생성하는 문제를 정정해야 합니다. 그러나 경고가 발생해도 변환은 실행됩니다.
EJB 변환 구성 창에는 대상, 엔티티, 세션, 고급, 맵핑 및 공통의 6개 탭이 있습니다. 이 절에서는 처음 세 개의 탭이 EJB 변환에 어떻게 영향을 주는지 설명합니다.
대상 탭을 사용하여 EJB 변환 시 출력 파일이 생성되는 대상 EJB 프로젝트를 선택할 수 있습니다. EJB 프로젝트가 사용 가능해도 새 대상 컨테이너를 작성할 수 있습니다. 각 프로젝트는 단일 EJB 컨테이너와 연관됩니다. EJB 변환은 EJB 프로젝트 마법사가 제공하는 사용 가능한 모든 EJB 컨테이너 버전을 지원합니다.
대상 EJB 프로젝트 컨테이너 버전에 따라 엔티티 및 세션 탭에서 사용 가능한 옵션이 제한될 수 있습니다. 각 EJB 컨테이너 유형의 제한사항에 대한 자세한 정보는 대상 EJB 컨테이너 절을 참조하십시오.
엔티티 탭을 사용하여 새로 생성되는 엔티티 Bean을 사용자 정의할 수 있습니다. 엔티티 탭에서 서로 다른 두 개의 옵션인 엔티티 Bean 유형 및 엔티티 Bean 인터페이스를 구성할 수 있습니다. 다음 그림은 EJB 변환 구성 창의 엔티티 탭을 보여줍니다.
프로젝트의 EJB 컨테이너 버전에 따라, EJB 변환을 실행하기 전에 특정한 특성 조합만 선택할 수 있습니다. 다음 표는 변환 시 지원되는 엔티티 Bean 유형, 엔티티 Bean에서 지원되는 인터페이스 및 기본 인터페이스 선택사항을 나열한 것입니다.
EJB 컨테이너 버전 |
엔티티 Bean 유형 |
엔티티 Bean에 대해 지원되는 인터페이스 |
기본 선택사항 |
2.x |
CMP 2.x |
로컬 및 원격 |
로컬 인터페이스 전용 |
2.x |
CMP 1.1 |
원격 |
원격 인터페이스 전용 |
2.x |
BMP |
로컬 및 원격 |
로컬 인터페이스 전용 |
1.1 |
CMP 2.x |
없음 |
N/A |
1.1 |
CMP 1.1 |
원격 |
원격 인터페이스 전용 |
1.1 |
BMP |
원격 |
원격 인터페이스 전용 |
표에서 기본 선택사항은 엔티티 Bean 작성 마법사의 기본 동작을 반영합니다.
유효하지 않은 옵션 조합을 선택하는 경우, EJB 변환 구성 창의 맨 위에 오류 메시지가 표시되고 변환을 실행하는 실행 단추를 사용할 수 없습니다. 올바른 옵션 조합을 선택하면 실행 단추가 사용 가능하게 되고 오류 메시지는 없어집니다.
세션 탭을 사용하여 새로 생성된 세션 Bean에 대한 인터페이스 생성을 사용자 정의할 수 있습니다. 다음 그림은 EJB 변환 구성 창에서 세션 탭을 보여줍니다.
프로젝트의 EJB 컨테이너 버전에 따라, EJB 변환을 실행하기 전에 특정한 특성 조합만 선택할 수 있습니다. 다음 표는 변환 시 EJB 컨테이너 버전에 따라 세션 Bean에 대해 지원되는 인터페이스와 기본 인터페이스 선택사항을 나열한 것입니다.
EJB 컨테이너 버전 |
세션 Bean에 대해 지원되는 인터페이스 |
기본 선택사항 |
1.1 |
원격 |
원격 인터페이스 전용 |
2.0 |
로컬 및 원격 |
원격 인터페이스 전용 |
2.1 |
로컬 및 원격 |
원격 인터페이스 전용 |
유효하지 않은 옵션 조합을 선택하는 경우, EJB 변환 구성 창의 맨 위에 오류 메시지가 표시되고 변환을 실행하는 실행 단추를 사용할 수 없습니다. 올바른 옵션 조합을 선택하면 실행 단추가 사용 가능하게 되고 오류 메시지는 없어집니다.
고급 탭에 대한 정보는 UML에서 Java로 변환 문서를 참조하십시오.
이 절에서는 UML에서 EJB로 변환 시 UML 모델의 요소를 해석하는 방법과 변환 시 생성되는 아티팩트에 대해 설명합니다.
UML에서 EJB로 변환은 UML에서 Java로 변환과 동일한 방법으로 기본 유형을 해석합니다. 자세한 정보는 UML에서 Java로 변환 문서를 참조하십시오.
UML에서 EJB로 변환은 UML에서 Java로 변환과 동일한 방법으로 패키지를 해석하고 이 패키지를 Java 패키지로 변환합니다. 자세한 정보는 UML에서 Java로 변환 문서를 참조하십시오.
UML에서 EJB로 변환은 UML에서 Java로 변환과 동일한 방법으로 표시되지 않은 클래스를 해석하고 해당 클래스를 Java 클래스로 변환합니다. 자세한 정보는 UML에서 Java로 변환 문서를 참조하십시오.
표시되지 않은 클래스에 <<entity>>, <<service>> 또는 <<messageprocessor>> 스테레오타입을 갖는 클래스 유형인 속성이 있을 경우, 변환 시 속성이 생성되지 않습니다. 대신, 변환 시 소스 속성이 변환되지 않음을 알리는 메시지가 로그 파일에 기록됩니다.
UML에서 EJB로 변환은 UML에서 Java로 변환과 동일한 방법으로 표시되지 않은 인터페이스를 해석하고 해당 인터페이스를 Java 인터페이스로 변환합니다. 자세한 정보는 UML에서 Java로 변환 문서를 참조하십시오.
표시되지 않은 인터페이스에 <<entity>>, <<service>> 또는 <<messageprocessor>> 스테레오타입을 갖는 클래스 유형인 속성이 있을 경우, 변환 시 속성이 생성되지 않습니다. 대신, 변환 시 소스 속성이 변환되지 않음을 알리는 메시지가 로그 파일에 기록됩니다.
UML에서 EJB로 변환은 UML에서 Java로 변환과 동일한 방법으로 표시되지 않은 열거를 해석하고 해당 열거를 Java 열거로 변환합니다. 자세한 정보는 UML에서 Java로 변환 문서를 참조하십시오.
UML에서 EJB로 변환 시 <<entity>> 스테레오타입으로 표시되는 클래스가 Bean 이름이 소스 UML 클래스의 이름과 동일한 CMP 2.x, CMP 1.1 또는 BMP 엔티티 Bean으로 변환됩니다. 생성된 엔티티 Bean의 유형은 EJB 변환 구성 창의 엔티티 탭에서 사용자가 선택하는 옵션에 해당됩니다.
변환 시 항상 엔티티 Bean에 대해 다음 Java 클래스가 생성됩니다.
변환 시 엔티티 탭에서 원격 인터페이스 전용을 누를 경우 다음 Java 클래스가 생성됩니다.
변환 시 엔티티 탭에서 원격 인터페이스 전용을 누를 경우 다음 Java 클래스가 생성됩니다.
변환 시 엔티티 탭에서 로컬 및 원격 인터페이스를 누를 경우 다음 Java 클래스가 생성됩니다.
변환 시 소스 UML 클래스의 상위 패키지에 대해 생성되는 패키지 폴더에 모든 클래스가 생성됩니다. 패키지 없이 UML 모델을 작성할 경우, 변환 시 이름이 ejbs로 지정된 기본 패키지가 생성됩니다.
변환 시 대상 EJB 프로젝트의 소스 트리에 Bean 클래스 및 키 클래스 파일을 생성합니다.
변환 시 대상 EJB 프로젝트의 클라이언트 프로젝트 소스 트리에 네 개의 인터페이스 파일이 생성됩니다. 클라이언트 프로젝트가 없는 경우, 변환 시 대상 EJB 프로젝트에 인터페이스 파일이 생성됩니다.
변환 시 엔티티 Bean을 정의하는 데이터를 배치 설명자(ejb-jar.xml)에 추가합니다.
일반화 관계
엔티티 Bean의 소스 UML 클래스가 <<entity>> 스테레오타입의 다른 UML 클래스와 일반화 관계(예: 확장 관계)가 있는 경우, 클래스가 나타내는 엔티티 Bean은 생성될 엔티티 Bean의 EJB 수퍼클래스가 됩니다.
두 엔티티 Bean 모두 동일 유형이어야 합니다. 따라서 두 엔티티 Bean은 모두 CMP 2.x, CMP 1.1 또는 BMP여야 합니다. 예를 들어, 수퍼 Bean이 CMP 2.x 엔티티 Bean이면 모든 하위 Bean은 CMP 2.x 엔티티 Bean이어야 합니다. 수퍼 Bean이 예상한 하위 Bean의 유형과 같지 않으면 변환 시 일반화 관계가 없는 하위 Bean이 생성됩니다.
실현(realization) 관계
엔티티 Bean의 소스 UML 클래스가 인터페이스 요소와 실현(realization) 관계(예: 구현(implements) 관계)가 있는 경우, 소스 인터페이스가 나타내는 인터페이스는 4가지의 인터페이스(원격, 홈, 로컬, 로컬 홈)로 구현됩니다.
표시되지 않은 속성 - CMP 2.x
변환 시 소스 UML 클래스의 속성이 다음 표에 나열된 특성을 갖는 엔티티 Bean의 CMP 필드로 변환됩니다.
CMP 2.x 필드 특성 |
CMP 필드 값 |
이름 |
UML 속성 이름(필드 이름의 첫 문자가 소문자로 변경됨) |
유형 |
속성 유형에서 판별된 유형(유형 맵 표 참조) |
키 필드 |
False |
Bean 구현 클래스에서 필드 생성 |
False |
getter 및 setter 생성 |
True |
getter 및 setter를 로컬 인터페이스로 승격 |
True(로컬 인터페이스가 존재할 경우) |
getter 및 setter를 원격 인터페이스로 승격 |
True(원격 인터페이스가 존재할 경우) |
IsArray |
UML 속성이 유한 상위 값을 갖는 경우 True |
속성 유형이 다른 CMP 2.x 엔티티 Bean의 속성 유형인 경우, 변환 시 속성이 CMP 필드로 변환되지 않지만 속성이 EJB 관계로 변환되어야 하는 연관의 일부로 간주됩니다. 그러나 속성 유형이 CMP 2.x 엔티티 Bean이 아닌 다른 엔터프라이즈 Bean의 유형일 경우, 변환 시 속성이 CMP 필드나 연관으로 변환되지 않습니다. 대신, 변환 시 소스 속성이 변환되지 않음을 알리는 메시지가 로그 파일에 기록됩니다.
표시되지 않은 속성 - CMP 1.1
변환 시 소스 UML 클래스의 속성이 다음 표에 나열된 특성을 갖는 엔티티 Bean의 CMP 필드로 변환됩니다.
CMP 1.1 필드 특성 |
CMP 필드 값 |
이름 |
UML 속성 이름(필드 이름의 첫 문자가 소문자로 변경됨) |
유형 |
속성 유형에서 판별된 유형(유형 맵 표 참조) |
키 필드 |
False |
Bean 구현 클래스에서 필드 생성 |
False |
getter 및 setter 생성 |
True |
getter 및 setter를 로컬 인터페이스로 승격 |
False |
getter 및 setter를 원격 인터페이스로 승격 |
True(항상) |
IsArray |
UML 속성이 유한 상위 값을 갖는 경우 True |
속성 유형이 다른 엔티티 Bean 또는 엔터프라이즈 Bean의 속성 유형인 경우, 변환 시 속성이 CMP 필드나 연관으로 변환되지 않습니다. 대신, 변환 시 소스 속성이 변환되지 않음을 알리는 메시지가 로그 파일에 기록됩니다.
표시되지 않은 속성 - BMP
변환 시 소스 UML 클래스의 속성이 다음 표에 나열된 특성을 갖는 엔티티 Bean의 BMP 필드로 변환됩니다.
BMP 필드 특성 |
BMP 필드 값 |
이름 |
UML 속성 이름(필드 이름의 첫 문자가 소문자로 변경됨) |
유형 |
속성 유형에서 판별된 유형(유형 맵 표 참조) |
키 필드 |
False |
Bean 구현 클래스에서 필드 생성 |
True |
getter 및 setter 생성 |
True |
getter 및 setter를 로컬 인터페이스로 승격 |
True(로컬 인터페이스가 존재할 경우) |
getter 및 setter를 원격 인터페이스로 승격 |
True(원격 인터페이스가 존재할 경우) |
IsArray |
UML 속성이 유한 상위 값을 갖는 경우 True |
속성 유형이 다른 엔티티 Bean 또는 EJB의 속성 유형인 경우, 변환 시 속성이 BMP 필드나 연관으로 변환되지 않습니다. 대신, 변환 시 소스 속성이 변환되지 않음을 알리는 메시지가 로그 파일에 기록됩니다.
<<id>> 속성 - CMP 2.x 및 CMP 1.1
변환 시 소스 UML 클래스에서 <<id>> 속성으로 표시된 속성이 CMP 필드로 변환되지만 다음 표에 나열된 것처럼 다른 특성 값을 갖습니다. 이 CMP 필드는 1차 키를 구성하는 데 도움이 됩니다.
CMP 2.x 및 CMP 1.1 필드 특성 |
CMP 필드 값 |
이름 |
UML 속성 이름(필드 이름의 첫 문자가 소문자로 변경됨) |
유형 |
속성 유형에서 판별된 유형(유형 맵 표 참조) |
키 필드 |
True |
Bean 구현 클래스에서 필드 생성 |
False |
getter 및 setter 생성 |
True |
getter 및 setter를 로컬 인터페이스로 승격 |
False |
getter 및 setter를 원격 인터페이스로 승격 |
False |
IsArray |
UML 속성이 유한 상위 값을 갖는 경우 True |
속성 유형이 다른 엔티티 Bean 또는 엔터프라이즈 Bean의 속성 유형인 경우, 변환 시 속성이 CMP 키 필드나 연관으로 변환되지 않습니다. 대신, 변환 시 소스 속성이 변환되지 않음을 알리는 메시지가 로그 파일에 기록됩니다.
<<id>> 속성 - BMP
변환 시 소스 UML 클래스에서 <<id>>로 표시된 속성이 BMP 필드로 변환되지만 다음 표에 나열된 것처럼 다른 특성 값을 갖습니다. 이 BMP 필드는 1차 키를 구성하는 데 도움이 됩니다.
BMP 필드 특성 |
BMP 필드 값 |
이름 |
UML 속성 이름(필드 이름의 첫 문자가 소문자로 변경됨) |
유형 |
속성 유형에서 판별된 유형(유형 맵 표 참조) |
키 필드 |
True |
Bean 구현 클래스에서 필드 생성 |
True |
getter 및 setter 생성 |
True |
getter 및 setter를 로컬 인터페이스로 승격 |
False |
getter 및 setter를 원격 인터페이스로 승격 |
False |
IsArray |
UML 속성이 유한 상위 값을 갖는 경우 True |
속성 유형이 다른 엔티티 Bean 또는 엔터프라이즈 Bean의 속성 유형인 경우, 변환 시 속성이 BMP 키 필드나 연관으로 변환되지 않습니다. 대신, 변환 시 소스 속성이 변환되지 않음을 알리는 메시지가 로그 파일에 기록됩니다.
다음 표에 나와 있는 것처럼, 변환 시 소스 속성 유형을 기초로 하는 유형을 가지고 있는 CMP 및 BMP 필드가 생성됩니다.
UML 속성 유형 |
CMP/BMP 필드 유형 |
boolean |
boolean |
byte |
byte |
char |
char |
float |
float |
int |
int |
long |
long |
short |
short |
Boolean |
java.lang.Boolean |
Byte |
java.lang.Byte |
Char |
java.lang.Char |
Float |
java.lang.Float |
Integer |
java.lang.Integer |
Long |
java.lang.Long |
Short |
java.lang.Short |
문자열 |
java.lang.String |
기타 |
완전한 이름 |
표시되지 않은 오퍼레이션
변환 시 소스 UML에 대한 표시되지 않은 오퍼레이션이 엔티티 Bean의 비즈니스 메소드로 변환됩니다. 초기에 오퍼레이션은 표시되지 않은 UML 클래스에서의 오퍼레이션과 같은 방식으로 변환됩니다. 변환 시 메소드 이름이 올바른 대문자인 경우 해당 메소드 이름의 첫 문자를 소문자로 작성하여 소문자 이름 체계를 적용합니다. 변환된 오퍼레이션은 약간의 수정과 함께 다음 표에 나열된 클래스에 추가됩니다.
클래스 |
메소드 수정사항 |
Bean 클래스 |
변경사항 없음 |
로컬 인터페이스 |
인터페이스 메소드 |
원격 인터페이스 |
인터페이스 메소드, java.rmi.RemoteException 발생 |
<<query>> 오퍼레이션 - CMP 2.x
변환 시 소스 UML 클래스에 대한 <<query>> 오퍼레이션을 두 가지 유형의 조회 메소드(파인더 메소드 및 선택 메소드) 중 하나로 변환합니다. 선택 메소드는 CMP 2.x 엔티티 Bean에만 존재합니다.
변환 시 약간의 수정과 함께 다음 표에 나열된 클래스에서 파인더 메소드가 생성됩니다.
클래스 |
메소드 수정사항 |
로컬 홈 인터페이스 (로컬 인터페이스가 존재할 경우) |
|
원격 홈 인터페이스 (원격 인터페이스가 존재할 경우) |
|
UML 오퍼레이션 이름 |
파인더 메소드 이름 |
xxx |
findXxx |
findXxx |
findXxx |
FindXxx |
findXxx |
Java 변환의 구문 분석된 리턴 유형 |
파인더 메소드 리턴 유형 |
맵핑된 콜렉션(예: 콜렉션, 목록, 세트 등) |
java.util.Collection |
<소스 클래스 이름>[] |
java.util.Collection |
<소스 클래스 이름> 또는 공백 |
|
<사용자 정의 유형 이름>[] |
java.util.Collection |
<소스가 아닌 클래스 이름(예: String, Integer 등)>[] |
java.util.Collection |
<사용자 정의 유형 이름> |
파인더 메소드 대신 선택 메소드 생성 |
<소스가 아닌 클래스 이름(예: String, Integer 등)> |
파인더 메소드 대신 선택 메소드 생성 |
EJB 변환은 생성되는 파인더 메소드마다 배치 설명자에 조회를 수동으로 추가해야 함을 표시하는 타스크를 작성합니다.
변환 시 오퍼레이션에 대한 가시성이 개인용이거나 리턴 유형이 소스 UML 클래스의 이름과 다르고 엔티티 Bean 유형이 CMP 2.x인 경우 조회 오퍼레이션이 선택 메소드로 변환됩니다.
오퍼레이션 가시성 |
리턴 유형 |
메소드 유형 |
개인용 |
소스 클래스 이름과 동일 |
선택 메소드 |
개인용이 아님 |
소스 클래스 이름과 동일 |
파인더 메소드 |
개인용 |
소스 클래스 이름이 아님 |
선택 메소드 |
개인용이 아님 |
소스 클래스 이름이 아님 |
선택 메소드 |
변환 시 다음과 같이 수정되어 Bean 클래스에 선택 메소드가 생성됩니다.
UML 오퍼레이션 이름 |
선택메소드 이름 |
xxx |
ejbSelectXxx |
selectXxx |
ejbSelectXxx |
SelectXxx |
ejbSelectXxx |
ejbSelectXxx |
ejbSelectXxx |
Java 변환의 구문 분석된 리턴 유형 |
선택 메소드 리턴 유형 |
맵핑된 콜렉션(예: 콜렉션, 목록, 세트 등) |
콜렉션 유형의 규정된 이름(예: java.util.Collection) |
<소스 클래스 이름>[] |
java.util.Collection |
<소스 클래스 이름> 또는 공백 |
로컬 인터페이스 이름 |
<사용자 정의 유형 이름>[] |
java.util.Collection |
<소스가 아닌 클래스 이름(예: String, Integer 등)>[] |
java.util.Collection |
<사용자 정의 유형 이름> |
사용자 정의 유형 이름 |
<소스가 아닌 클래스 이름(예: String, Integer 등)> |
소스가 아닌 클래스 이름 |
EJB 변환은 생성되는 선택 메소드마다 배치 설명자에 조회를 수동으로 추가해야 함을 표시하는 타스크를 작성합니다.
<<query>> 오퍼레이션 - CMP 1.1
변환 시 소스 UML 클래스에 대한 <<query>> 오퍼레이션이 조회 메소드의 한 유형인 파인더 메소드로 변환됩니다. CMP 1.1 엔티티 Bean은 선택 메소드를 지원하지 않습니다. 이 엔티티 Bean은 CMP 2.x 엔티티 Bean에 대해서만 사용 가능합니다. 따라서 <<query>> 오퍼레이션의 리턴 유형과 가시성에 관계없이 변환 시 항상 엔티티 Bean의 원격 홈 인터페이스에서 파인더 메소드가 생성됩니다.
다음 표에 나와 있는 것처럼, 변환 시 약간의 수정과 함께 항상 원격 홈 인터페이스에서 파인더 메소드가 생성됩니다.
클래스 |
메소드 수정사항 |
원격 홈 인터페이스 |
|
UML 오퍼레이션 이름 |
파인더 메소드 이름 |
xxx |
findXxx |
findXxx |
findXxx |
FindXxx |
findXxx |
Java 변환의 구문 분석된 리턴 유형 |
파인더 메소드 리턴 유형 |
맵핑된 콜렉션(예: 콜렉션, 목록, 세트 등) |
java.util.Collection |
<소스 클래스 이름>[] |
java.util.Collection |
<소스 클래스 이름> 또는 공백 |
원격 인터페이스 이름 |
<사용자 정의 유형 이름>[] |
java.util.Collection |
<소스가 아닌 클래스 이름(예: String, Integer 등)>[] |
java.util.Collection |
<사용자 정의 유형 이름> |
원격 인터페이스 이름 |
<소스가 아닌 클래스 이름(예: String, Integer 등)> |
원격 인터페이스 이름 |
EJB 변환은 생성되는 파인더 메소드마다 배치 설명자에 조회를 수동으로 추가해야 함을 표시하는 타스크를 작성합니다.
<<query>> 오퍼레이션 - BMP
변환 시 소스 UML 클래스에 대한 <<query>> 오퍼레이션이 조회 메소드의 한 유형인 파인더 메소드로 변환됩니다. 모든 버전의 BMP 엔티티 Bean은 선택 메소드를 지원하지 않습니다. 이 엔티티 Bean은 CMP 2.x 엔티티 Bean에 대해서만 사용 가능합니다. 따라서 <<query>> 오퍼레이션의 리턴 유형과 가시성에 관계없이 변환은 항상 Bean 구현 클래스에서 파인더 메소드를 생성합니다. 그런 다음 엔티티 Bean의 기존 인터페이스에서 파인더 메소드를 생성합니다.
다음 표에 나와 있는 것처럼, 변환 시 약간의 수정과 함께 다음 클래스에서 파인더 메소드가 생성됩니다.
클래스 |
메소드 수정사항 |
로컬 홈 인터페이스 |
|
원격 홈 인터페이스 (원격 인터페이스가 존재할 경우) |
|
Bean 구현 클래스 |
|
UML 오퍼레이션 이름 |
파인더 메소드 이름 |
xxx |
findXxx |
findXxx |
findXxx |
FindXxx |
findXxx |
ejbFindXxx |
findEjbFindXxx |
EjbFindXxx |
findEjbFindXxx |
UML 오퍼레이션 이름 |
파인더 메소드 이름 |
xxx |
ejbFindXxx |
findXxx |
ejbFindXxx |
FindXxx |
ejbFindXxx |
ejbFindXxx |
ejbFindEjbFindXxx |
EjbFindXxx |
ejbFindEjbFindXxx |
Java 변환의 구문 분석된 리턴 유형 |
파인더 메소드 리턴 유형 |
맵핑된 콜렉션(예: 콜렉션, 목록, 세트 등) |
java.util.Collection |
<소스 클래스 이름>[] |
java.util.Collection |
<소스 클래스 이름> 또는 공백 |
|
<사용자 정의 유형 이름>[] |
java.util.Collection |
<소스가 아닌 클래스 이름(예: String, Integer 등)>[] |
java.util.Collection |
<사용자 정의 유형 이름> |
|
<소스가 아닌 클래스 이름(예: String, Integer 등)> |
|
Java 변환의 구문 분석된 리턴 유형 |
파인더 메소드 리턴 유형 |
맵핑된 콜렉션(예: 콜렉션, 목록, 세트 등) |
java.util.Collection |
<클래스 이름>[] |
java.util.Collection |
<클래스 이름> 또는 무효 |
키 클래스 이름 |
내부 클래스
무시합니다.
내부 인터페이스
무시합니다.
UML에서 EJB로 변환은 <<service>> 스테레오타입을 갖는 클래스를 소스 UML 클래스와 이름이 동일한 Bean 이름을 가지고 있는 컨테이너 관리, Stateless 또는 Stateful 세션 Bean으로 변환합니다. 변환 시 항상 세션 Bean에 대해 다음 Java 클래스가 생성됩니다.
변환 시 세션 탭에서 원격 인터페이스 전용을 누를 경우 다음 Java 클래스가 생성됩니다.
변환 시 세션 탭에서 로컬 인터페이스 전용을 누를 경우 다음 Java 클래스가 생성됩니다.
변환 시 세션 탭에서 로컬 및 원격 인터페이스를 누를 경우 다음 Java 클래스가 생성됩니다.
변환 시 소스 UML 클래스의 상위 패키지에 대해 생성되는 패키지 폴더에 모든 클래스가 생성됩니다. 패키지 없이 UML 모델을 작성할 경우, 변환 시 ejbs라고 하는 기본 패키지가 작성됩니다.
변환 시 대상 EJB 프로젝트의 소스 트리에 Bean 클래스 파일이 생성됩니다.
변환 시 대상 EJB 프로젝트의 클라이언트 프로젝트 소스 트리에 네 개의 인터페이스 파일이 생성됩니다. 클라이언트 프로젝트가 없는 경우, 변환 시 대상 EJB 프로젝트에 인터페이스 파일이 생성됩니다.
변환 시 세션 Bean을 정의하는 데이터를 배치 설명자(ejb-jar.xml)에 추가합니다.
스테레오타입 특성 - hasState
<<service>> 스테레오타입의 UML 클래스마다 hasState라는 스테레오타입 특성이 있습니다. hasState의 값이 false일 경우, 변환 시 해당 UML 클래스가 Stateless 세션 Bean으로 생성됩니다. 반대로, hasState의 값이 true일 경우, 변환 시 UML 클래스가 Stateful 세션 Bean으로 생성됩니다.
참조: 스테레오타입 특성은 변환 시 새 세션 Bean으로 생성되는 UML 클래스에만 영향을 줍니다.
세션 Bean 작성 마법사의 기본 설정에 따라 hasState 특성의 기본값은 false입니다.
일반화 관계
세션 Bean의 소스 UML 클래스가 <<service>> 스테레오타입의 다른 UML 클래스에 대해 일반화 관계(예: 확장 관계)를 가지고 있고, 스테레오타입이 동일한 hasState 특성 값을 갖는 경우, 클래스가 나타내는 세션 Bean은 생성될 세션 Bean의 EJB 수퍼클래스가 됩니다.
실현(realization) 관계
세션 Bean의 소스 UML 클래스에 인터페이스 요소와의 실현(realization) 관계(예: 구현 관계)가 있는 경우, 소스 인터페이스가 나타내는 인터페이스는 4개의 인터페이스(원격, 홈, 로컬, 로컬 홈)로 구현됩니다.
속성
변환 시 소스 UML 클래스에 대한 속성이 Bean 클래스의 Java 특성으로 변환됩니다. 속성 변환 방법에 대한 자세한 정보는 UML에서 Java로 변환 문서를 참조하십시오. 변환 시 특성 이름이 올바른 대문자인 경우 해당 특성 이름의 첫 문자를 소문자로 작성하여 소문자 이름 체계를 적용합니다.
속성 유형이 다른 엔터프라이즈 Bean의 속성 유형일 경우, EJB 변환은 세션 Bean에 대해 필드 및 연관을 생성하지 않습니다. 대신, 변환 시 소스 속성이 변환되지 않음을 알리는 메시지가 로그 파일에 기록됩니다.
오퍼레이션
변환 시 소스 UML 클래스에 대한 오퍼레이션이 세션 Bean의 비즈니스 메소드로 변환됩니다. 초기에 오퍼레이션은 표시되지 않은 UML 클래스에서의 오퍼레이션과 같은 방식으로 변환됩니다. 변환 시 메소드 이름이 올바른 대문자인 경우 해당 메소드 이름의 첫 문자를 소문자로 작성하여 소문자 이름 체계를 적용합니다. 변환된 오퍼레이션은 약간의 수정과 함께 다음 표에 나열된 클래스에 추가됩니다.
클래스 |
메소드 수정사항 |
Bean 클래스 |
변경사항 없음 |
로컬 인터페이스 |
인터페이스 메소드 |
원격 인터페이스 |
인터페이스 메소드, java.rmi.RemoteException 발생 |
변환은 다음 룰을 적용하여 오퍼레이션 매개변수에 따라 오퍼레이션 리턴 유형을 판별합니다.
o 오퍼레이션에 리턴 및 출력 매개변수를 포함함
o 오퍼레이션에 두 개 이상의 출력 매개변수를 포함함
내부 클래스
무시합니다.
내부 인터페이스
무시합니다.
UML에서 EJB로 변환은 <<messageprocessor>> 스테레오타입을 갖는 클래스를 소스 UML 클래스와 Bean 이름이 동일하고 기본 데이터가 있는 메시지 구동 Bean으로 변환합니다. 변환 시 다음 Java 클래스가 생성됩니다.
변환 시 소스 UML 클래스의 상위 패키지에 대해 생성되는 패키지 폴더에 클래스가 생성됩니다. 패키지 없이 UML 모델을 작성할 경우, 변환 시 ejbs라고 하는 기본 패키지가 작성됩니다.
변환 시 대상 EJB 프로젝트의 소스 트리에 Bean 클래스 파일이 생성됩니다.
변환 시 메시지 구동 Bean을 정의하는 데이터를 배치 설명자(ejb-jar.xml)에 추가합니다.
일반화 관계
매시지 구동 Bean의 소스 UML 클래스가 <<messageprocessor>> 스테레오타입의 다른 UML 클래스와 일반화 관계(예: 확장 관계)가 있는 경우, 클래스가 나타내는 메시지 구동 Bean은 생성될 엔티티 Bean의 EJB 수퍼클래스가 됩니다.
실현(realization) 관계
무시합니다.
속성
변환 시 소스 UML 클래스에 대한 속성이 Bean 클래스의 Java 특성으로 변환됩니다. 속성 변환 방법에 대한 자세한 정보는 UML에서 Java로 변환 문서를 참조하십시오. 속성 유형이 다른 엔터프라이즈 Bean의 속성 유형일 경우, EJB 변환은 세션 Bean에 대해 필드 및 연관을 생성하지 않습니다. 대신, 변환 시 소스 속성이 변환되지 않음을 알리는 메시지가 로그 파일에 기록됩니다.
오퍼레이션
메시지 구동 Bean이 Java 클래스였던 것처럼, 변환 시 소스 UML 클래스에 대한 오퍼레이션은 일반 Java 메소드로 변환됩니다.
내부 클래스
무시합니다.
내부 인터페이스
무시합니다.
일반적으로, 변환 시 UML에서 Java로 변환과 같은 방식으로 연관이 변환됩니다. 즉, 엔드포인트 속성을 Java 특성으로 변환합니다.
연관된 엔드포인트가 <<entity>>, <<service>> 또는 <<messageprocessor>> 스테레오타입을 갖는 클래스일 경우 변환 시 해당 엔드포인트가 변환되지 않습니다. 대신, 변환 시 메타데이터 디렉토리의 로그 파일에 엔드포인트 특성이 변환되지 않았음을 알리는 메시지가 기록됩니다. <<entity>> 스테레오타입을 가지고 있는 두 클래스 사이에 연관이 있으며 두 클래스 모두 CMP 2.x Bean으로 생성된 경우에는 제외됩니다. 이 경우, 변환 시 UML 연관이 EJB 2.0 관계(CMR(container-managed relationship)이라고도 함)로 변환됩니다. 다음 표는 연관 특성과 EJB 관계 특성 사이의 맵핑을 보여줍니다.
연관 특성 |
EJB 관계 특성 |
End1 |
BeanA |
End2 |
BeanB |
End1 이름 |
BeanB CMR 이름 |
End2 이름 |
BeanA CMR 이름 |
End1 탐색성 |
BeanB 탐색성 |
End2 탐색성 |
BeanA 탐색성 |
|
|
|
|
다음 그림은 <<entity>> 스테레오타입을 갖는 두 UML 클래스를 보여줍니다. 클래스 사이의 연관은 변환이 두 엔티티 클래스 모두를 CMP 2.x 엔티티 Bean으로 생성할 경우 CMR에 생성됩니다.
변환 발생 후, 배치 설명자에는 AEntity와 BEntity 사이의 CMR을 설명하기 위한 항목이 있습니다. 다음 그림에서와 같이, 프로젝트의 배치 설명자는 두 CMP 2.x 엔티티 Bean 사이의 연관을 표시할 수 있습니다.
다음 표는 변환 시 종속성 변환 방법의 목록을 표시하고 <<entity>>, <<service>> 또는 <<messageprocessor>> 스테레오타입을 갖는 클래스에 대한 EJB 참조를 생성합니다.
UML 종속성 소스 |
UML 종속성 대상 |
EJB 대상 |
<<entity>> 클래스 |
<<entity>> 클래스 |
EJB 참조 |
<<entity>> 클래스 |
<<service>> 클래스 |
EJB 참조 |
<<messageprocessor>> 클래스 |
<<entity>> 클래스 |
EJB 참조 |
<<messageprocessor>> 클래스 |
<<service>> 클래스 |
EJB 참조 |
<<service>> 클래스 |
<<entity>> 클래스 |
EJB 참조 |
<<service>> 클래스 |
<<service>> 클래스 |
EJB 참조 |
대상 J2EE(Java 2 Platform, Enterprise Edition) 프로젝트에 변환의 UML 클래스와 동일한 이름 및 이름 공간을 가지고 있는 Bean이 하나 이상 포함되어 있는 경우, 재적용 시나리오가 발생할 수 있습니다. 재적용 시나리오는 기존 엔터프라이즈 Bean의 유형이 UML 모델에서 해당 클래스에 대해 생성될 엔터프라이즈 Bean의 유형과 일치하는 경우를 말합니다.
생성될 엔터프라이즈 Bean의 유형이 기존 엔터프라이즈 Bean의 유형과 호환되지 않을 경우, 충돌 시나리오가 발생합니다. 충돌 시나리오에서는 UML에서 EJB로 변환 시 기존 Bean이 갱신되지 않으며 새 엔터프라이즈 Bean이 생성되지도 않습니다.
다음 표에는 CMP 2.x 엔티티 Bean에 재적용 가능한 시나리오에 대한 변환의 예상 응답 목록이 표시됩니다.
생성될 엔터프라이즈 Bean |
기존 엔터프라이즈 Bean |
예상 시나리오 |
변환 응답 |
CMP 2.x |
CMP 2.x |
재적용 |
CMP 필드 및 메소드 갱신 |
CMP 2.x |
CMP 1.1 |
재적용 |
일반 CMP 1.1 대 CMP 1.1 재적용 시나리오와 같이 CMP 필드 및 메소드 갱신 |
CMP 2.x |
BMP |
재적용 |
일반 BMP 대 BMP 재적용 시나리오와 같이 BMP 필드 및 메소드 갱신 |
CMP 2.x |
세션(Stateful 또는 Stateless) |
충돌 |
세션 Bean을 변경하지 않음 |
CMP 2.x |
메시지 구동 |
충돌 |
메시지 구동 Bean을 변경하지 않음 |
다음 표에는 CMP 1.1 엔티티 Bean에 재적용 가능한 시나리오에 대한 변환의 예상 응답 목록이 표시됩니다.
생성될 엔터프라이즈 Bean |
기존 엔터프라이즈 Bean |
예상 시나리오 |
변환 응답 |
CMP 1.1 |
CMP 2.x |
재적용 |
일반 CMP 2.x 대 CMP 2.x 재적용 시나리오와 같이 CMP 필드 및 메소드 갱신 |
CMP 1.1 |
CMP 1.1 |
재적용 |
CMP 필드 및 메소드 갱신 |
CMP 1.1 |
BMP |
재적용 |
일반 BMP 대 BMP 재적용 시나리오와 같이 BMP 필드, 메소드 및 연관 갱신 |
CMP 1.1 |
세션(Stateful 또는 Stateless) |
충돌 |
세션 Bean을 변경하지 않음 |
CMP 1.1 |
메시지 구동 |
충돌 |
메시지 구동 Bean을 변경하지 않음 |
다음 표에는 BMP 엔티티 Bean에 재적용 가능한 시나리오에 대한 변환의 예상 응답 목록이 표시됩니다.
생성될 엔터프라이즈 Bean |
기존 엔터프라이즈 Bean |
예상 시나리오 |
변환 응답 |
BMP |
CMP 2.x |
재적용 |
일반 CMP 2.x 대 CMP 2.x 재적용 시나리오와 같이 CMP 필드 및 메소드 갱신 |
BMP |
CMP 1.1 |
재적용 |
일반 CMP 1.1 대 CMP 1.1 재적용 시나리오와 같이 CMP 필드 및 메소드 갱신 |
BMP |
BMP |
재적용 |
BMP 필드 및 메소드 갱신 |
BMP |
세션(Stateful 또는 Stateless) |
충돌 |
세션 Bean을 변경하지 않음 |
BMP |
메시지 구동 |
충돌 |
메시지 구동 Bean을 변경하지 않음 |
다음 표에는 세션 Bean에 재적용 가능한 시나리오에 대한 변환의 예상 응답 목록이 표시됩니다.
생성될 엔터프라이즈 Bean |
기존 엔터프라이즈 Bean |
예상 시나리오 |
변환 응답 |
세션(Stateful 또는 Stateless) |
CMP 2.x |
충돌 |
CMP 2.x Bean을 변경하지 않음 |
세션(Stateful 또는 Stateless) |
CMP 1.1 |
충돌 |
CMP 1.1 Bean을 변경하지 않음 |
세션(Stateful 또는 Stateless) |
BMP |
|
BMP Bean을 변경하지 않음 |
세션(Stateful) |
세션 (Stateful 전용) |
재적용 |
세션 Bean의 필드 및 메소드 갱신 |
세션(Stateful) |
세션 (Stateless 전용) |
충돌 |
Stateless 세션 Bean을 변경하지 않음 |
세션(Stateless) |
세션 (Stateful 전용) |
충돌 |
Stateful 세션 Bean을 변경하지 않음 |
세션(Stateless) |
세션 (Stateless 전용) |
재적용 |
세션 Bean의 필드 및 메소드 갱신 |
세션(Stateful 또는 Stateless) |
메시지 구동 |
충돌 |
메시지 구동 Bean을 변경하지 않음 |
다음 표에는 메시지 구동 Bean에 재적용 가능한 시나리오에 대한 변환의 예상 응답 목록이 표시됩니다.
생성될 엔터프라이즈 Bean |
기존 엔터프라이즈 Bean |
예상 시나리오 |
변환 응답 |
메시지 구동 |
CMP 2.x |
충돌 |
메시지 구동 Bean을 변경하지 않음 |
메시지 구동 |
CMP 1.1 |
충돌 |
메시지 구동 Bean을 변경하지 않음 |
메시지 구동 |
BMP |
충돌 |
메시지 구동 Bean을 변경하지 않음 |
메시지 구동 |
세션(Stateful 또는 Stateless) |
충돌 |
메시지 구동 Bean을 변경하지 않음 |
메시지 구동 |
메시지 구동 |
재적용 |
메시지 구동 Bean의 필드 및 메소드 갱신 |
다음 표에는 표시되지 않은 UML 클래스에 재적용 가능한 시나리오에 대한 변환의 예상 응답 목록이 표시됩니다.
UML 클래스의 스테레오타입 |
기존 엔터프라이즈 Bean |
예상 시나리오 |
변환 응답 |
표시되지 않음 |
CMP 2.x |
재적용 |
해당되는 기존 원격 인터페이스에서 CMP 2.x 엔티티 Bean의 필드 및 메소드 갱신 |
표시되지 않음 |
CMP 1.1 |
재적용 |
해당되는 기존 원격 인터페이스에서 CMP 1.1 엔티티 Bean의 필드 및 메소드 갱신 |
표시되지 않음 |
BMP |
재적용 |
해당되는 기존 원격 인터페이스에서 BMP 엔티티 Bean의 필드 및 메소드 갱신 |
표시되지 않음 |
세션(Stateful 또는 Stateless) |
재적용 |
해당되는 기존 원격 인터페이스에서 세션의 필드 및 메소드 갱신 |
표시되지 않음 |
메시지 구동 |
재적용 |
일반 Java 클래스 생성 |
표시되지 않은 UML 클래스의 재적용 시나리오의 경우, 기존 엔터프라이즈 Bean의 원격 인터페이스에서 코드를 갱신하면 EJB 프로젝트에 빌드 오류가 발생합니다. 이 빌드 오류는 원격 인터페이스에서 갱신된 코드가 원격 인터페이스의 EJB 스펙을 준수하지 않아서 발생합니다. 전체 엔터프라이즈 Bean을 겹쳐쓰기 위해서는 EJB 변환을 실행하기 전에 먼저 기존 엔터프라이즈 Bean을 제거해야 합니다.
이 절에서는 재적용 시나리오에 대한 변환 응답 방법을 자세히 설명하고 재적용 후 변환에서 예상되는 사항에 대한 자세한 정보를 제공합니다.
CMP 2.x 엔티티 Bean에 대해 재적용 시나리오가 발생할 경우, 다음 내용이 수정될 수 있습니다.
다음 수정 작업은 수행하지 마십시오.
CMP 1.1 엔티티 Bean에 대해 재적용 시나리오가 발생할 경우, 다음 수정 작업이 수행될 수 있습니다.
다음 수정 작업은 수행하지 않아야 합니다.
BMP 엔티티 Bean에 대해 재적용 시나리오가 발생할 경우, 다음 수정 작업이 수행될 수 있습니다.
다음 수정 작업은 수행하지 않아야 합니다.
세션 Bean에 대해 재적용 시나리오가 발생할 경우, 다음 수정 작업이 수행될 수 있습니다.
다음 수정 작업은 수행하지 않아야 합니다.
메시지 구동 Bean에 대해 재적용 시나리오가 발생할 경우, 다음 수정 작업이 수행될 수 있습니다.
다음 수정 작업은 수행하지 않아야 합니다.
다음 표에는 UML에서 EJB로 변환 시 관계 프로세스 방법의 목록이 표시됩니다.
UML 소스 요소 |
시각화 대상 요소 |
관계 유형 |
변환 결과 |
<<entity>> 또는 <<service>> 스테레오타입을 가지고 있는 클래스 |
Java 인터페이스(UML 인터페이스) |
구현 |
생성된 엔터프라이즈 Bean이 시각화된 인터페이스를 구현함 |
<<entity>> 또는 <<service>> 스테레오타입을 가지고 있는 클래스 |
Java 인터페이스(UML 인터페이스) |
실현(realization) |
생성된 엔터프라이즈 Bean이 시각화된 인터페이스를 구현함 |
<<entity>> 스테레오타입을 가지고 있는 클래스 |
시각화된 엔티티 Bean(UML 컴포넌트) |
연관 |
CMR 관계 |
<<entity>>, <<service>> 또는 <<messageprocessor>> 스테레오타입을 가지고 있는 클래스 |
시각화된 엔티티 Bean 또는 세션 Bean(UML 컴포넌트) |
종속성 |
EJB 참조 |
UML에서 EJB로 변환은 팀 기능성과의 통합을 지원합니다. 소스 제어 환경의 대상 프로젝트에 대해 변환을 실행할 때 시스템은 새 파일을 소스 제어에 추가하고 기존 파일을 체크아웃하도록 프롬프트를 표시합니다.
UML에서 EJB로 변환은 UML에서 Java로 변환 시 제공되는 맵핑 지원과 유사한 맵핑 지원을 제공합니다. 변환을 실행하기 위해 맵핑 모델을 설정하고 사용하는 방법에 대한 자세한 정보는 UML에서 Java로 변환 문서를 참조하십시오.
소스 클래스가 엔터프라이즈 Bean으로 변환될 것으로 표시되면, 변환 시 생성되는 엔터프라이즈 Bean의 Bean 이름으로 맵핑된 소스 클래스 이름이 사용됩니다.
소스 대 대상 관계 생성 기능이 사용 가능한 경우, 변환 시 생성되는 Java 클래스 및 인터페이스의 API 문서에 태그가 추가됩니다. 태그에는 도구가 생성된 파일을 추적하여 원래 UML 소스 요소를 찾을 수 있도록 하는 정보가 들어 있습니다.
생성된 엔터프라이즈 Bean의 경우, 변환 시 생성되는 모든 Java 파일에는 단일 UML 소스 클래스를 지시하는 소스 대 대상 API 문서 태그가 있습니다.
이용약관 | 피드백
(C) Copyright IBM Corporation 2004, 2005. All Rights Reserved.