ヘッダーをスキップ
Oracle TopLink開発者ガイド
10g(10.1.3.1.0)
B31861-01
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

6 統合開発環境の使用

この章では、TopLinkを統合開発環境(IDE)で使用する方法について説明します。この章の内容は次のとおりです。

ここで説明する開発環境に加え、TopLinkはあらゆるJ2EE開発環境およびJ2EE開発プロセスで使用できます。

Oracle JDeveloper用のTopLinkの構成

この項では、TopLinkをOracle JDeveloper用に構成する方法について説明します。JDeveloperは、E-BusinessアプリケーションとWebサービスの開発、デバッグおよびデプロイをエンドツーエンドでサポートするJ2EE開発環境です。

TopLinkマッピングの使用

Oracle JDeveloper 10g以降、標準のJDeveloperインストールにはTopLinkエディタが埋め込まれています。詳細は、JDeveloperのドキュメントを参照してください。

TopLinkをJDeveloper 9.0.4以下で使用するには、次の手順に従って、TopLink JARファイルをJDeveloperプロジェクトに追加します。

  1. システム・ナビゲータ・ウィンドウでJDeveloperプロジェクトを選択します。

  2. 「プロジェクト」「プロジェクトの設定」を選択します。プロジェクトの設定ウィンドウが表示されます。

  3. 「構成」「開発」「ライブラリ」を選択します。事前定義ライブラリとユーザー定義ライブラリのリストが表示されます。

    図6-1 使用可能なライブラリのリスト

    図6-1の説明が続きます
    「図6-1 使用可能なライブラリのリスト」の説明

  4. 「新規」をクリックして、TopLinkの.jarファイルを含める新規ライブラリを作成します。「新規ライブラリの作成」ダイアログ・ボックスが表示されます。

  5. 新規ライブラリの名前(たとえば「TopLink」)を入力します。「場所」のデフォルト選択肢が「ユーザー・ライブラリ」のままであることを確認します。

    図6-2 「新規ライブラリの作成」ダイアログ・ボックス

    図6-2の説明が続きます
    「図6-2 「新規ライブラリの作成」ダイアログ・ボックス」の説明

  6. クラスパスを編集してTopLinkの.jarファイルを追加するには、「編集」をクリックします。

    次の行をクラスパスの先頭に追加します。

    <ORACLE_HOME>\toplink\jlib\toplink.jar
    <ORACLE_HOME>\toplink\jlib\antlr.jar
    <ORACLE_HOME>\lib\xmlparserv2.jar
    <ORACLE_HOME>\lib\xml.jar
    
    
  7. 「OK」をクリックします。プロジェクトの設定ウィンドウで、「OK」をクリックします。

既存のユーザー定義のTopLinkライブラリの使用

ユーザー・ライブラリは、作成後、他のプロジェクトで再度参照できます。「プロジェクトの設定」のライブラリ・ウィンドウを再表示し、TopLinkを使用するプロジェクトにTopLinkライブラリを追加します。

TopLinkセッションの使用

TopLink 10gリリース3(10.1.3.1.0)をOracle JDeveloperで使用する場合、JDeveloperマッピング・エディタではsessions.xmlのオプションの一部は構成できないことに留意してください。

サポートされているオプション(10gリリース3(10.1.3.1.0)より前のオプション)を構成するには、JDeveloperマッピング・エディタを使用します。詳細は、JDeveloperのオンライン・ヘルプを参照してください。

http://www.oracle.com/technology/documentation/9i_jdev.html

キャッシュ・コーディネーション・オプション(第88章「コーディネート・キャッシュの構成」を参照)、履歴セッション(第78章「履歴セッションの構成」を参照)、サーバー・セッションの接続ポリシー(「接続ポリシーの構成」を参照)などのTopLink 10gリリース3(10.1.3.1.0)の新しいオプションを構成するには、次のいずれかの方法を使用します。

  • SessionEventListener.preLogin(SessionEvent)メソッドを使用します。

  • セッションにセッション・マネージャからアクセスする場合は、loggedInオプションをfalseに設定してリクエストします。これで、返されるセッションのカスタマイズが可能になり、ログインを起動できます。

ソース制御管理ソフトウェアを使用したTopLink Workbenchの構成

TopLink Workbenchをソース制御管理(SCM)システムとともに使用すると、エンタープライズ・レベルのチームによる開発が容易になります(「ソース制御管理システムの使用」を参照)。小規模な開発チームの場合は、変更をXMLファイル内で管理できます(「プロジェクト・オブジェクトの共有」を参照)。

TopLink Workbenchプロジェクトをチーム環境で使用する場合は、自分が行った変更を他の開発者が行った変更と同期化する必要があります。詳細は、「ファイルのマージ」を参照してください。

ソース制御管理システムの使用

ファイルに基づいたエンタープライズ・レベルのソース制御管理システムを使用してJavaソース・ファイルを管理する場合は、同じシステムをTopLink Workbenchプロジェクト・ファイルで使用できます。これらのプロジェクト・ファイルは、TopLink Workbenchで管理され、XMLファイル形式で書き込まれます。

ソース制御システム用のチェック・インおよびチェック・アウト・メカニズムにより、マルチユーザー環境でのソース(XMLソースおよびTopLink Workbenchプロジェクト・ファイル)の管理方法が定義されます。

TopLink Workbenchプロジェクト・ファイルのチェック・アウトおよびチェック・イン

実際の開発プロセスはSCMツールによって異なりますが、一般的なプロセスには次の手順が含まれます。

  1. ソース管理システムから取得するファイルを(SCMシステムに基づいて)決定します。

  2. TopLink Workbenchを使用してプロジェクトを編集します。

  3. 編集したプロジェクトを保存します。TopLink Workbenchで「読取り専用ファイル」ダイアログ・ボックスが表示される場合は、これらのファイルを書き留めておきます。これらのファイルはロック解除する必要があり、マージも必要な場合があります。詳細は、「ロックされたファイルの使用」を参照してください。

  4. 必要なプロジェクト・ファイルをマージします。詳細は、「ファイルのマージ」を参照してください。

  5. 変更したファイルをチェック・インした後で、このTopLink Workbenchプロジェクトに対して追加または変更されたすべてのファイルをリポジトリから取得します。

ファイルのマージ

アプリケーション開発で最も難しい点は、同じファイルを同時に編集した2人以上の開発チーム・メンバーによる変更をマージすることです。1人の開発者が自分の変更をチェック・インすると、マージが必要な状況が発生します。ファイル比較ツールを使用して、プロジェクトでマージされた部分を特定します。編集するファイルは、マージのタイプによって異なります。

例6-1および例6-2に、マージ・アウトというマージ方法を示します。

プロジェクト・ファイルのマージ

プロジェクト・ファイルには、プロジェクト内のオブジェクトへの参照が含まれています。一般に、プロジェクト<projectName>.mwpには、次の要素が含まれています。

  • データベース情報: <database>

    • データベース表: <tables>

  • ディスクリプタ: <descriptors>

  • リポジトリ: <repository>

    • クラス: <classpath-entries>

.mwpファイルのこれらの部分が変更されるのは、一般に、プロジェクト要素を追加、削除または名前変更した場合です。

通常は、ディスクリプタ、表またはクラスを追加あるいは削除している間に、別の開発者が同じプロジェクトのディスクリプタ、表またはクラスを追加あるいは削除してプロジェクトをチェック・インした場合に、プロジェクト・ファイルのマージが必要になります。プロジェクトの.mwpファイルをマージするには、次の手順を実行します。

  1. リポジトリ内の<projectName>.mwpファイルとローカル・コピーのファイル比較を行います。ファイル比較により、所有者(つまり、<database><descriptors>または<repository>)内でプロジェクト要素が追加または削除されたことが表示されます。

  2. XMLスクリプトをローカル<projectName>.mwpファイル(対応する所有要素内のファイル)に挿入、またはこのファイルから削除します。この結果、コード・リポジトリ内の現在のコードに従ってローカル・コードが更新されます。

  3. 更新されたことがソース制御システムにより示されたすべてのファイルを取得します。

これで、ローカル・ソースがリポジトリに一致します。

例6-1 プロジェクトのマージ

TopLink Workbenchプロジェクトで作業している間に、別の開発者が同じプロジェクトで新しいEmployeeクラス・ディスクリプタをcom.demoパッケージに追加してチェック・インしました。新たに変更されたプロジェクトに自分の作業をマージするには、次の手順に従います。

  1. <projectName>.mwpファイルでファイル比較を行い、ローカル・ファイルとリポジトリ内のファイルの差異を特定します。SCMシステムによっては、ファイルがマージ・ステータスにあることが表示されます。

    ファイル比較により、<package-descriptor>タグと、このタグ内の<name>要素が追加されたことが表示されます。

    <package-descriptor>
        <name>com.demo.Employee.ClassDescriptor</name>
    </package-descriptor>
    
    
  2. このXMLをローカル<projectName>.mwpファイル(<descriptors>要素内のファイル)に挿入し、このファイルをソース・リポジトリ内の現在のファイルに基づいて更新します。

  3. 新規または更新されたすべてのファイルをソース制御システムから取得します。これには、新たに追加されたEmployeeクラス・ディスクリプタも含まれます。

  4. 変更したファイルをチェック・インします。

表、ディスクリプタおよびクラス・ファイルのマージ

複数の開発者が既存の同じ表、ディスクリプタまたはクラス・ファイルを同時に変更すると、次のファイルをマージする必要が生じます。

  • 表: <tableName>.xml(各表に1つ)

  • ディスクリプタ: <descriptorName.type>.xml(各ディスクリプタに1つ)

  • クラス: <className>.xml(各クラスに1つ)

これらのファイル内のいずれかの内容を変更した場合(ディスクリプタへのマッピングの追加、クラスへの属性の追加、表内のフィールド参照の変更など)、プロジェクトの保存時にこれらのファイルはTopLink Workbenchにより変更されます。

ディスクリプタのマッピングを変更している間に別の開発者が同じ表、ディスクリプタまたはクラスの別の属性を変更した場合、プロジェクトのマージが必要になります。プロジェクトをマージするには、次の手順を実行します。

  1. マージ・ステータスにある特定の.xmlファイル(つまり、表、ディスクリプタまたはクラス)でファイル比較を行います。ファイル比較により、XML要素が追加または削除されたことが表示されます。

  2. XMLスクリプトをローカル.xmlファイルに挿入、またはこのファイルから削除し、このファイルをソース・リポジトリ内の現在のファイルに基づいて更新します。

例6-2 ファイルのマージ

Employeeクラス・ディスクリプタのマッピングを変更している間に、別の開発者が別のfirstNameマッピングを同じディスクリプタに追加してチェック・インしました。新たに変更されたプロジェクトに自分の作業をマージするには、次の手順を実行します。

  1. <projectRoot>/Descriptor/ディレクトリにあるマージ・ステータスのcom.demo.Employee.ClassDescriptor.xmlファイルでファイル比較を行います。

    ファイル比較により、<mapping>タグと、このタグに要素が追加されたことが表示されます。

    <mapping>
        <uses-method-accessing>false</uses-method-accessing>
        <inherited>false</inherited>
        <read-only>false</read-only>
        <instance-variable-name>firstName</instance-variable-name>
        <default-field-names>
            <default-field-name>direct field=</default-field-name>
        </default-field-names>
        <field-handle>
            <field-handle>
                <table>EMPLOYEE</table>
                <field-name>F_NAME</field-name>
            </field-handle>
        </field-handle>
    <mapping-class>MWDirectToFieldMapping </mapping-class>
    </mapping>
    
    
  2. このXMLブロックをローカルのcom.demo.Employee.ClassDescriptor.xmlファイル(既存の<mapping>要素内のファイル)に挿入し、このファイルをソース・リポジトリ内の現在のファイルに基づいて更新します。

  3. 欠落していることがソース制御システムにより示されているすべての新規ファイルを取得します。これらのファイル(表やディスクリプタなど)は新しいマッピングで参照できるようになります。

  4. 変更したファイルをチェック・インします。

プロジェクト・オブジェクトの共有

表またはディスクリプタ・ファイルをターゲット・プロジェクト内の適切なディレクトリにコピーすることで、プロジェクト・オブジェクトを共有することもできます。

ファイルをコピーした後、<projectName>.mwpファイル内の適切な場所に表、ディスクリプタまたはクラスへの参照を挿入します。プロジェクト・ファイル内に含まれているすべての参照は、プロジェクト内の既存オブジェクトを参照する必要があります。

ejb-jar.xmlファイルの管理

チーム環境で作業している場合は、ejb-jar.xmlファイルを.xmlプロジェクト・ファイルと同様に管理します。EJBプロジェクトでの作業時は、必要に応じて、TopLink Workbenchによりejb-jar.xmlファイルが編集および更新されます。

バージョン制御システムを使用する場合は、同じチェック・インおよびチェック・アウト手順を実行します。マージが必要な場合には、ファイル比較ツールを使用して、追加または削除された要素を特定します。必要に応じてファイルを変更し、ファイルをチェック・インして自分の作業に対するバージョン制御を実行します。

ロックされたファイルの使用

チーム環境で作業している場合は、ファイルをリポジトリから取得する際、ソース制御システムによってファイルがロックされていることがあります。ロックされたファイルをTopLink Workbenchで保存しようとすると、「バージョン制御アシスタンス」ダイアログ・ボックスが表示され、ロックされたファイルが表示されます。

図6-3 「バージョン制御アシスタンス」ダイアログ・ボックス

図6-3の説明が続きます
「図6-3 「バージョン制御アシスタンス」ダイアログ・ボックス」の説明

次の方法のいずれかを選択してプロジェクトを保存します。

  • ソース制御システムを使用してファイルをロック解除した後、「保存」をクリックします。

  • 「別名保存」をクリックしてプロジェクトを新しい場所に保存します。

詳細は、「プロジェクトの保存」を参照してください。