UML에서 EJB 3.0으로 변환

UML에서 EJB 3.0으로 변환은 UML(Unified Modeling Language) 모델 요소에서 EJB(Enterprise JavaBeans™) 3.0 및 Java™ 코드를 생성합니다. UML에서 EJB 3.0으로 변환 프로파일의 스테레오타입을 UML 모델 요소에 적용하여 엔터프라이즈 Bean을 생성해야 합니다.
이 변환을 사용하여 EJB 3.0 Bean 및 Java 클래스를 생성하기 전에, 특정 컴포넌트를 설치하고 특정 기능을 사용하도록 설정해야 합니다.
  1. 다음 컴포넌트를 설치해야 합니다.
    • Java, JPA(Java Persistence API) 및 EJB 3.0 그래픽 편집 및 변환
    • WebSphere® Application Server, 버전 7.0용 도구
  2. 다음 기능을 사용해야 합니다.
    • EJB 3.0 변환 프로파일 도구
    • Java Persistence API 변환
  3. UML에서 EJB 3.0으로 변환을 구성하여 UML 요소와 생성된 EJB 3.0 요소 사이의 추적 관계를 작성하는 경우 다음 기능을 사용해야 합니다.
    • EJB 3.0 모델링
    • JPA 모델링
    주: 모델링 기능 카테고리에는 EJB 3.0 모델링 및 JPA 모델링 기능이 포함됩니다.
변환을 실행한 후 변환 출력을 사용자 정의하려면 다음 기능을 사용해야 합니다.

기타 변환에 의한 Java 아티팩트 생성

UML에서 EJB 3.0으로 변환 구성을 적용할 때 변환 서비스는 나열된 순서대로 다음 변환을 호출합니다.
  1. UML에서 Java로 변환
  2. UML에서 JPA로 변환
  3. UML에서 EJB 3.0으로 변환
이러한 변환 각각에 대해 변환 규칙은 가능한 많은 소스 요소를 변환합니다. UML에서 EJB 3.0으로 변환 프로파일의 스테레오타입을 UML 모델 요소에 적용하지 않는 경우 UML에서 Java로 변환 및 UML에서 JPA로 변환은 UML 모델 요소를 Java 코드 및 JPA(Java Persistence API) 엔티티로 변환하고 엔터프라이즈 Bean은 생성되지 않습니다.

누락된 스테레오타입에 대한 정보는 문제점 보기를 확인하십시오.

올바른 변환 소스

UML에서 EJB 3.0으로 변환의 소스로 다음 요소를 지정할 수 있습니다.

  • UML 모델
  • 패키지 및 해당 컨텐츠
  • 비중첩 클래스 및 해당 컨텐츠
  • 비중첩 인터페이스 및 해당 컨텐츠
  • 비중첩 열거

변환은 UML 모델, 패키지, 클래스 및 인터페이스의 컨텐츠를 변환합니다. 예를 들어, 변환이 클래스를 변환할 때 변환은 클래스의 오퍼레이션 및 특성도 변환합니다.

변환 구성 편집기를 사용하는 대신 프로젝트 탐색기 보기에서 모델 또는 모델 요소를 선택하는 경우, 사용자가 선택하는 모델 또는 요소는 사용자가 변환 구성에서 지정하는 소스 모델 또는 요소를 대체합니다. 변환 구성은 영향을 받지 않으며 변환 구성 편집기의 소스 및 대상 페이지나 새 변환 구성 마법사에서 지정하는 소스는 변경되지 않습니다.

올바른 변환 대상

변환은 단일 EJB 3.0 프로젝트에 대한 출력을 생성할 수 있습니다. 클라이언트 프로젝트를 포함하거나 포함하지 않고 EJB 3.0 프로젝트를 작성할 수 있습니다. 변환은 EJB 3.0 프로젝트의 발견된 첫 번째 소스 폴더와 클라이언트 프로젝트(있을 경우)의 발견된 첫 번째 소스 폴더에 코드를 생성합니다.

배치 설명자 및 지속성 파일

다음 지속성 파일로 구성되는 배치 설명자를 생성하도록 변환을 구성할 수 있습니다.
  • orm.xml: 변환 소스의 UML 요소에 해당되는 JPA 어노테이션이 있습니다.
  • persistence.xml: orm.xml을 참조하는 <mapping-file> 요소가 있습니다.

배치 설명자를 생성하도록 변환을 구성하는 경우 변환은 지속성 파일에서 모든 JPA 어노테이션을 생성하지만 Java 코드에서는 JPA 어노테이션을 생성하지 않습니다.

소스 모델 요소와 변환 출력 사이의 추적 관계

UML에서 EJB 3.0으로 변환을 사용하여 생성된 Java 클래스에서 UML 소스 요소로의 추적 관계를 작성할 수 있습니다. 그러면 모델 조회를 작성하고 실행하여 토픽 다이어그램에서 추적 관계를 볼 수 있습니다.

추적 관계 작성은 여러 개의 모델과 여러 개의 변환 구성을 포함할 수 있는 대형 프로젝트에서 유용합니다. 또한 변환 출력이 소프트웨어 스펙과 모델 요소에 관련되는 방법을 표시하는 추적성 조회를 작성하고 실행할 수도 있습니다.

추적 관계를 작성하도록 구성된 변환을 실행할 경우 변환은 @generated 태그를 지원하는 요소마다 @generated 태그에 고유한 ID를 추가합니다. 소스 UML 모델에서 요소 이름을 바꾸는 경우 이 고유 ID를 통해 병합 기능이 해당 요소를 리팩터하고 병합할 수 있습니다.
주: 해당되는 최상위 레벨 클래스의 범위를 벗어나서 UML 요소를 이동시키는 경우 변환을 재실행할 때 병합 알고리즘은 이름이 바뀐 요소를 리팩터하거나 병합하지 않습니다. 요소 범위가 변경되었기 때문입니다.

변환을 재실행할 때(필요한 경우) 변환은 소스 코드에 있는 ID를 사용하여 해당 요소를 일치시킨 후 코드를 변경하여 모델에 변경사항을 반영합니다. 예를 들어, 소스 모델에서 UML 오퍼레이션의 이름을 바꾸고 변환을 재실행하는 경우 변환은 이전에 생성된 메소드를 삭제하고 새 메소드를 추가하는 대신, 이전에 생성된 Java 메소드의 이름을 바꾸고 메소드 본문을 보존합니다.

EJB 3.0에서 UML로 변환이나 역변환도 ID를 사용하여 Java 프로젝트와 UML 모델 사이에서 해당 요소를 일치시킬 수 있습니다. 적용 가능한 경우 Java 소스 코드 요소 변경사항은 생성된 코드에 대한 추가 및 삭제사항 대신 수정사항이나 코드 리팩토링으로 처리됩니다.

소스 모델 요소와 변환 출력 사이의 관계를 보려면 다이어그램에서 소스 모델 요소를 시각화하고 변환이 생성하는 코드 요소를 해당 다이어그램으로 끌어오십시오. 다음 표는 attribute1이라고 하는 정수 속성을 포함하는 Class1 소스 모델 요소와 매개변수가 없는 두 개의 오퍼레이션 Operation1 및 Operation2, 변환이 생성하는 코드 그리고 요소 사이의 추적 관계를 보여주는 클래스 다이어그램과 같은 항목을 나열합니다.
UML 요소 변환 출력 클래스 다이어그램의 추적 관계
이 이미지는 이전 단락에서 설명한 Class1의 UML 표시를 보여 줍니다.
/**
 * 
 */
package Package1;

import java.util.Collection;

/** 
 * <!-- begin-UML-doc -->
 * <!-- end-UML-doc -->
 * @uml.annotations
 *     derived_abstraction="platform:/resource/UMLProject/Model.emx#_9YlH8CpPEdyn7_VFIWTp4A"
 * @generated "sourceid:platform:/resource/UMLProject/Model.emx#_9YlH8CpPEdyn7_VFIWTp4A"
 */
public class Class1 {
	/** 
	 * <!-- begin-UML-doc -->
	 * <!-- end-UML-doc -->
	 * @generated "sourceid:platform:/resource/UMLProject/Model.emx#__8ptgOSnEdyXH8PWExuX2g"
	 */
	private Integer attribute1;

	/** 
	 * @return the attribute1
	 * @generated "sourceid:platform:/resource/UMLProject/Model.emx#__8ptgOSnEdyXH8PWExuX2g?GETTER"
	 */
	public Integer getAttribute1() {
// begin-user-code
		return attribute1;
// end-user-code
	}

	/** 
	 * @param theAttribute1 the attribute1 to set
	 * @generated "sourceid:platform:/resource/UMLProject/Model.emx#__8ptgOSnEdyXH8PWExuX2g?SETTER"
	 */
	public void setAttribute1(Integer theAttribute1) {
// begin-user-code
		attribute1 = theAttribute1;
// end-user-code
	}

	/** 
	 * <!-- begin-UML-doc -->
	 * <!-- end-UML-doc -->
	 * @generated "sourceid:platform:/resource/UMLProject/Model.emx#_RDsjcOSnEdyXH8PWExuX2g"
	 */
	public void Operation1() {
// begin-user-code
		// TODO Auto-generated method stub

// end-user-code
	}

	/** 
	 * <!-- begin-UML-doc -->
	 * <!-- end-UML-doc -->
	 * @generated "sourceid:platform:/resource/UMLProject/Model.emx#_R04v0OSnEdyXH8PWExuX2g"
	 */
	public void Operation2() {
// begin-user-code
		// TODO Auto-generated method stub

// end-user-code
	}
}
이 이미지는 Class1의 UML 표시와 변환 출력 사이에 파생 스테레오타입이 적용되는 추적 관계를 보여 줍니다.

사용자가 변환에서 추적 관계가 생성되도록 지정하는 경우 변환은 소스 모델을 변경하지 않습니다.

팀 지원과 통합

변환은 IBM® Rational® Team Concert, CVS, Rational ClearCase®Rational ClearCase LT 버전 제어 시스템(파일을 자동으로 체크아웃하거나 새 파일을 추가할 수 있도록 하는)과의 통합 기능을 제공합니다. 구성 관리 시스템에 대해 작업하려면 팀 기능이 사용 가능해야 합니다.


피드백