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

戻る
戻る
 
次へ
次へ
 

9 TopLinkアプリケーションのパッケージ化

アプリケーションのコンポーネントをパッケージにする方法は、アプリケーションのタイプおよびアプリケーションのデプロイをどのように計画するかに依存します。

この章では、次のアプリケーションのタイプに使用される、共通のパッケージ化計画に適用可能なTopLink固有の詳細を説明します。


注意:

EJB 3.0を使用している場合、一部のデプロイ・ファイルのかわりに、注釈を使用できます。デプロイメント・ディスクリプタを含めて、注釈をオーバーライドするか、または注釈でサポートされていないオプションを指定します。

詳細は、次の項を参照してください。

Javaアプリケーション

J2EE以外のJavaアプリケーションでは、図9-1で示されているように、単一のJARファイルでアプリケーションをパッケージ化することが一般的です。

図9-1 J2EE以外のJavaアプリケーションのパッケージ化

図9-1の説明が続きます
「図9-1 J2EE以外のJavaアプリケーションのパッケージ化」の説明

このJARには、アプリケーションで必要とされる、次のTopLinkファイルとドメイン・オブジェクトが含まれています。

JARファイルを作成すると、JARビルド・ユーティリティにより、ディレクトリ構造がJAR内に自動的に作成されます。sessions.xmlファイルとproject.xmlファイル(またはプロジェクト・クラスのファイル)がJARファイルのルートにあることを確認してください。クラスのディレクトリ構造がJARのルートから始まっていることを確認してください。

JARファイルのルートでproject.xmlまたはsessions.xmlファイルを格納しない場合、「TopLinkメタデータ・ファイルのリソース・パスを使用したパッケージ化」を参照してください。

JavaServer Pagesおよびサーブレット・アプリケーション

EJBを使用しないJ2EEアプリケーションでは、図9-2で示されているように、各種のJ2EEアプリケーション・コンポーネント・アーカイブで作成されたエンタープライズ・アーカイブ(EAR)ファイルでアプリケーションをパッケージ化することが一般的です。

図9-2 EJBを使用しないJ2EE JSPまたはサーブレット・アプリケーションのパッケージ化

図9-2の説明が続きます
「図9-2 EJBを使用しないJ2EE JSPまたはサーブレット・アプリケーションのパッケージ化」の説明

TopLinkに依存するコンポーネント・アーカイブは、次のとおりです。

TopLinkドメインJAR

ドメインJARには、アプリケーションで必要とされる、次のTopLinkファイルとドメイン・オブジェクトが含まれています。

  • sessions.xmlファイル

  • project.xmlファイル(またはXMLファイルを使用してデプロイを行わない場合は、コンパイル済のプロジェクト・クラス・ファイル)

  • アプリケーションで必要とされるマップ済クラス(完全に解決されたディレクトリ構造に格納)

JARファイルを作成すると、JARビルド・ユーティリティにより、ディレクトリ構造がJAR内に自動的に作成されます。sessions.xmlファイルとproject.xmlファイル(またはproject.classファイル)がJARファイルのルートにあることを確認してください。クラスのディレクトリ構造がJARのルートから始まっていることも確認してください。

JARファイルのルートでproject.xmlまたはsessions.xmlファイルを格納しない場合、「TopLinkメタデータ・ファイルのリソース・パスを使用したパッケージ化」を参照してください。

セッションBeanアプリケーション

セッションBeanを使用したJ2EEアプリケーションでは、図9-3で示されているように、各種のJ2EEアプリケーション・コンポーネント・アーカイブで作成されたエンタープライズ・アーカイブ(EAR)ファイルでアプリケーションをパッケージ化することが一般的です。

図9-3 セッションBeanを使用したJ2EEアプリケーションのパッケージ化

図9-3の説明が続きます
「図9-3 セッションBeanを使用したJ2EEアプリケーションのパッケージ化」の説明

TopLinkに依存するコンポーネント・アーカイブは、次のとおりです。

TopLinkドメインJAR

ドメインJARには、アプリケーションで必要とされる、次のTopLinkファイルとドメイン・オブジェクトが含まれています。

  • sessions.xmlファイル

  • project.xmlファイル(またはXMLファイルを使用してデプロイを行わない場合は、コンパイル済のproject.classファイル)

  • アプリケーションで必要とされるマップ済クラス(完全に解決されたディレクトリ構造に格納)

JARファイルを作成すると、JARビルド・ユーティリティにより、ディレクトリ構造がJAR内に自動的に作成されます。sessions.xmlファイルとproject.xmlファイル(またはproject.classファイル)がJARファイルのルートにあることを確認してください。クラスのディレクトリ構造がJARのルートから始まっていることも確認してください。

JARファイルのルートでproject.xmlまたはsessions.xmlファイルを格納しない場合、「TopLinkメタデータ・ファイルのリソース・パスを使用したパッケージ化」を参照してください。

EJB JAR

このタイプのアプリケーションでは、EJB JARにはセッションBeanが含まれます。したがって、そのorion-ejb-jar.xmlファイルには、persistence-managerまたはpm-propertiesエントリは含まれません。これらのエントリは、CMPアプリケーションに対してのみ適用されます。

CMPアプリケーション

CMPを使用してエンティティBeanを永続させるJ2EEアプリケーションでは、図9-4で示されているように、各種のJ2EEアプリケーション・コンポーネント・アーカイブで作成されたエンタープライズ・アーカイブ(EAR)ファイルでアプリケーションをパッケージ化することが一般的です。

図9-4 コンテナ管理の永続性を備えたエンティティBeanを使用したJ2EEアプリケーションのパッケージ化

図9-4の説明が続きます
「図9-4 コンテナ管理の永続性を備えたエンティティBeanを使用したJ2EEアプリケーションのパッケージ化」の説明

TopLinkに依存するコンポーネント・アーカイブは、次のとおりです。

EJB JAR

このタイプのアプリケーションでは、EJB JARファイルは、特に、エンティティEJBとエンティティではないEJBの両方を提供します。ファイルの内容は次のとおりです。

  • アプリケーション内のすべてのマップ済Beanに対するホームとリモート、およびすべての実装コード

  • TopLink WorkbenchプロジェクトのEJB以外の全マップ済クラス

  • アプリケーション内のセッションBeanに対するホームとリモート、およびすべての実装コード

  • TopLink修正メソッドを含むヘルパー・クラスと、アプリケーションに必要なその他のクラス

    たとえば、oracle.toplink.ejb.cmp.DeploymentCustomizationのインスタンス(詳細は「persistence-managerのエントリの構成」表8-3にあるcustomization-classを参照)。

次のXMLファイルをEJB JAR \meta-infディレクトリに格納します。


注意:

XMLファイルをデプロイに使用しない場合、コンパイル済oracle.toplink.sessions.ProjectファイルをEJB JARのルート(\meta-infディレクトリではない)に含めます。

EJB JARには、セッションBeanとエンティティBeanの両方が含まれているため、OC4JまたはBEA WebLogic(WLS)を使用している場合、<J2EE-Container>-ejb-jar.xmlpersistence-managerおよびpm-propertiesのエントリが含まれている必要があります。詳細は、「persistence-managerのエントリの構成」を参照してください。

エンティティBeanをすべて同じデータ・ソースに対して永続させる必要があります。CMPアプリケーションに対しては、TopLinkはセッション・ブローカの機能をサポートしていません(「セッション・ブローカおよびクライアント・セッション」を参照)。

BMPアプリケーション

BMPを使用してエンティティBeanを永続させるJ2EEアプリケーションでは、図9-5で示されているように、各種のJ2EEアプリケーション・コンポーネント・アーカイブで作成されたエンタープライズ・アーカイブ(EAR)ファイルでアプリケーションをパッケージ化することが一般的です。

図9-5 Bean管理の永続性を備えたエンティティBeanを使用したJ2EEアプリケーションのパッケージ化

図9-5の説明が続きます
「図9-5 Bean管理の永続性を備えたエンティティBeanを使用したJ2EEアプリケーションのパッケージ化」の説明

TopLinkに依存するコンポーネント・アーカイブは、次のとおりです。

TopLinkドメインJAR

ドメインJARには、アプリケーションで必要とされる、次のTopLinkファイルとドメイン・オブジェクトが含まれています。

  • sessions.xmlファイル

  • project.xmlファイル(またはXMLファイルを使用してデプロイを行わない場合は、コンパイル済のproject.classファイル)

  • アプリケーションで必要とされるマップ済クラス(完全に解決されたディレクトリ構造に格納)

JARファイルを作成すると、JARビルド・ユーティリティにより、ディレクトリ構造がJAR内に自動的に作成されます。sessions.xmlファイルとproject.xmlファイル(またはproject.classファイル)がJARファイルのルートにあることを確認してください。クラスのディレクトリ構造がJARのルートから始まっていることも確認してください。

JARファイルのルートでproject.xmlまたはsessions.xmlファイルを格納しない場合、「TopLinkメタデータ・ファイルのリソース・パスを使用したパッケージ化」を参照してください。

EJB JAR

このタイプのアプリケーションでは、EJB JARファイルは、特に、セッションBeanとエンティティBeanの両方を提供します。ファイルの内容は次のとおりです。

  • アプリケーション内のすべてのマップ済Beanに対するホームとリモート、およびすべての実装コード

  • TopLink WorkbenchプロジェクトのEJB以外の全マップ済クラス

  • アプリケーション内のセッションBeanに対するホームとリモート、およびすべての実装コード

  • TopLink修正メソッドを含むヘルパー・クラスと、アプリケーションに必要なその他のクラス

次のXMLファイルをEJB JAR \meta-infディレクトリに格納します。

EJB JARにはコンテナ管理の永続性を備えたエンティティBeanが含まれていないため、そのorion-ejb-jar.xmlファイルに、persistence-managerまたはpm-propertiesのエントリは含められません。

詳細は、「persistence-managerのエントリの構成」を参照してください。

TopLinkメタデータ・ファイルのリソース・パスを使用したパッケージ化

JARファイルのルートでproject.xmlまたはsessions.xmlファイルを格納しない場合、それらのファイルにアクセスする場合は、ファイルへのフル・リソース・パスを入力する必要があります。リソース・パスには、\ではなく、/を使用していることを確認してください。\はJavaでは機能しません。

たとえば、jar要素では、project.xmlおよびsessions.xmlファイルを次のように参照します。

<jar>/myapp/ordersys/persist/sessions.xml
<jar>/myapp/ordersys/persist/project.xml

sessions.xmlファイルでは、project.xmlを次のように参照します。

myapp/ordersys/persist/project.xml

セッションを取得するには、次を使用します。

SessionManager.getManager().getSession(
    new XMLSessionConfigLoader("myapp/ordersys/persist/sessions.xml"),
    "OrdersysSession",
    getClass().getClassLoader()
);

実行時のセッションの取得の詳細は、「セッション・マネージャからのセッションの取得」を参照してください。