UML から EJB 3.0 への変換

UML から EJB 3.0 への変換は、統一モデリング言語 (UML) モデル要素から Enterprise JavaBeans™ (EJB) および Java™ コードを生成します。UML から EJB 3.0 への変換プロファイルのステレオタイプを UML モデル要素に適用し、 エンタープライズ Bean を生成する必要があります。
この変換を使用して EJB 3.0 Bean および Java クラスを生成する前に、特定のコンポーネントをインストールし、特定の機能を使用可能にしておく必要があります。
  1. 次のコンポーネントをインストールする必要があります。
    • Java、Java Persistence API (JPA)、および 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 コードおよび Java Persistence API (JPA) エンティティーに変換し、 エンタープライズ 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 という名前のソース・モデル要素の UML 表現と、パラメーターを持たない 2 つのオペレーション 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 自動生成されたメソッド・スタブ

		// end-user-code
	}

	/** 
	 * <!-- begin-UML-doc -->
	 * <!-- end-UML-doc -->
	 * @generated "sourceid:platform:/resource/UMLProject/Model.emx#_R04v0OSnEdyXH8PWExuX2g"
	 */
	public void Operation2() {
		// begin-user-code
		// TODO 自動生成されたメソッド・スタブ

		// end-user-code
	}
}
このイメージは、Class1 の UML 表現と変換出力の間の、派生ステレオタイプが適用されたトレース関係を示しています。

変換によってトレース関係を生成するように指定した場合には、ソース・モデルは変換によって変更されません。

チーム・サポートとの統合

変換は、ファイルの自動チェックアウトや新規ファイルの追加を可能にする IBM® Rational® Team Concert、CVS、Rational ClearCase®、および Rational ClearCase LT バージョン管理システムとの統合機能を提供します。構成管理システムを使用するには、チーム機能を有効にする必要があります。


フィードバック