ADF ToyStore
- 最後に -

前に戻る | 目次に戻る | 次へ進む ≫

最後に、このサンプル・アプリケーションを通して紹介した内容のまとめと、いくつかの付録の内容を記載しています。

ADFベースのアプリケーション開発のために

前述の項では、ADF ToyStoreサンプル・アプリケーションの重要な局面を分析し、MVCアーキテクチャに準拠している一般的なJ2EE Webアプリケーションにおける実際の可動部分を理解しやすいようにしました。 その中で、モデル、ビュー、およびコントローラ層コンポーネントの開発を簡潔にするための様々なOracle JDeveloperの機能を説明しました。 たとえば、JDeveloper は次ような統合的なサポートを提供しています。

自身のJ2EEアプリケーション開発でOracle ADFを最初に使用する際には、その手助けとなる資料やデモ、チュートリアルがOTNのJDeveloperページに用意されています。

また、US-OTN にある 『Oracle by Example Series for Oracle JDeveloper 10g』にも、手順ごとの様々なチュートリアルが用意されています。 『Installing the Sample Schemas and Establishing a Database Connection』ので紹介されているデータベースの設定の手順が完了したら、ADF、JSP、およびStrutsを使用した、次の手順を体験できます。

これらの資料は、JSPページでADFを使用することを中心の議題にしていますが、次の2つのチュートリアルでは、別の2つのクライアント・テクノロジについて説明しています。

注意

プロジェクトでStrutsを使いこなせるまでにStrutsを学習する時間が十分にとれない開発者の場合、明示的なコントローラ層を使用しない、従来の「Model 1」JSPアプローチでOracle ADFを使用するという選択肢もあります。「Creating a JSP Application with ADF Using a Model 1 Architecture」のチュートリアルでは、この方法でADFを使用する場合の概要を説明しています。


まとめ

Oracle ADFおよびApache Strutsを使用して構築されたADF ToyStoreアプリケーションの詳細を調べて、既存のJ2EEフレームワークをベースとしてJ2EE準拠のアプリケーションをどのように構築するかについて見てきました。 その過程で、我々が実際に、必要なときに記述する最小限のコードとは、当面のビジネス・アプリケーションの問題に直接関わるコードであることがわかりました。 StrutsおよびADFは、自身のフレームワーク・コンポーネントに対して、広範囲においてXMLベースの構成情報を利用しています。そのため、多量のコードを生成することなく、定義情報から多数のフレームワーク動作が起動されるようになり、開発が非常に簡潔になります。

このドキュメントの中で、OracleJDeveloperが、StrutsおよびADFを実際のアプリケーション・シナリオの中で使用するためのすぐれたサポートを提供していることがわかりました。 Oracle Corporationだけでも800人を超える開発者が、Oracle E-Business Suiteの一環としてセルフサービスのWebアプリケーションを作成するために、ADFフレームワークを日常的に使用しています 。

フレームワークベースのJ2EE開発の効果を認識したうえで、「次のアプリケーションを作成する際に、他の方法があるか」を検討してみてください。

注意

JDeveloperやOracle ADFの使用も含めて、Oracleのテクノロジのより効果的な使用に関してヒントに従う場合は、Oracle Technology Networkの RSS Feeds and Blogsで役に立つリンクを参照してください。


付録1: 既知の問題

付録2: Apache TomcatでのToyStoreのデータソースの構成

JDeveloperには、Tomcatに対して、ADF Runtimeのライブラリのインストールを支援する機能や、Tomcatサーバーに対してアプリケーション・サーバー接続を定義し、デプロイを支援する機能があります。 具体的にいえば、Tomcatタイプのアプリケーション・サーバー接続が定義されている場合には、マウスを右クリックして、 ToyStoreViewControllerプロジェクトの ADFToyStore.deployデプロイメント・プロファイル上で 「配布先」オプションをクリックするだけです。

ただし、ToyStoreアプリケーションが使用する、JDBCの2つのデータ・ソース (jdbc/toystoreDSjdbc/toystore_statemgmtDS)の構成については、手動で設定する必要があります(Tomcatの場合に限らず、このような、論理的なJDBCデータソース名と物理的なJDBC接続のマッピング作業は、他のJ2EEサーバーでも必要になります)。この項では、Tomcatサーバー上にこれらの2つのデータソースを構成する方法について説明しています。

ADF ToyStoreサンプル・アプリケーションの web.xmlファイルには、 jdbc/toystoreDSおよび jdbc/toystore_statemgmtDSというJDBCの2つのリソース参照定義が含まれています。

  <resource-ref>
    <res-ref-name>jdbc/toystoreDS</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
  </resource-ref>
  <resource-ref>
    <res-ref-name>jdbc/toystore_statemgmtDS</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
  </resource-ref>

これはJ2EEコンテナに依存しないリソース定義で、これらのリソースのコンテナ固有の設定情報と必ずペアになっています。 /ADFToyStoreというWebアプリケーション・コンテキストに対して、Tomcat固有のデータソース構成の詳細を指定するには、 TOMCAT_HOME/conf/server.xmlファイルを編集し、 <Host>要素の中の、 <Context>の定義を貼り付ける場所を探します。

<Server>
  <Service>
    <Engine>
      <Host>
         :
        <Context>
          <!-- Existing other <Context> entries -->
        </Context>
         :
        <!--
         | Paste in Entire <Context> element show below right here
         +-->
       </Host>
     </Engine>
   </Service>
</Server>

ここに、次のADF ToyStoreの <Context>エントリを貼付けます。 JDBCのurlパラメータ部分(@machine:port:sid )を編集して、 TOYSTOREおよび TOYSTORE_STATEMGMTというユーザーを作成しADF ToyStoreの表をインストールしたデータベースを指すようにします。

        <!--
         | BEGIN ADF Toy Store Tomcat DataSource Config Section
         | Change JDBC URL info to match your database!!
         +-->
        <Context path="/ADFToyStore" docBase="ADFToyStore">

          <Logger className="org.apache.catalina.logger.FileLogger"
                  prefix="localhost_ADFToyStore." 
                  suffix=".log"
                  timestamp="true"/>
          <Resource name="jdbc/toystoreDS"
                    auth="Container"
                    type="oracle.jdbc.pool.OracleConnectionPoolDataSource"/> 
          <Resource name="jdbc/toystore_statemgmtDS"
                    auth="Container"
                    type="oracle.jdbc.pool.OracleConnectionPoolDataSource"/> 
          <ResourceParams name="jdbc/toystoreDS">
            <parameter>
              <name>factory</name>
              <value>oracle.jdbc.pool.OracleDataSourceFactory</value>
            </parameter>
            <parameter>
              <name>url</name>
              <value>jdbc:oracle:thin:toystore/toystore @machine:port:sid</value>
            </parameter>
          </ResourceParams>
          <ResourceParams name="jdbc/toystore_statemgmtDS">
            <parameter>
              <name>factory</name>
              <value>oracle.jdbc.pool.OracleDataSourceFactory</value>
            </parameter>
            <parameter>
              <name>url</name>
              <value>jdbc:oracle:thin:toystore_statemgmt/toystore@machine:port:sid</value>
            </parameter>
          </ResourceParams>
        </Context>
        <!--
         | END ADF Toy Store Tomcat DataSource Config Section
         +-->

ADF ToyStoreサンプル・アプリケーションでは、 ToyStoreViewController.jprプロジェクト内に toystore.controller.TestJDBCDatasourcesという名前のテスト・サーブレットが付随しています。 web.xmlファイルは、このサーブレットを /testjdbcdatasourcesのパスにマップように、事前構成されています。 このため、ブラウザで次のURLを指定すると、

http://yourtomcatmachine:yourport/ADFToyStore/testjdbcdatasources

必要な2つのデータソースが正しく構成されていれば、ブラウザに次のように表示されます。

Successfully looked-up 'java:comp/env/jdbc/toystoreDS' DataSource
Successfully issued a ROLLBACK command using connection from this datasource
Successfully looked-up 'java:comp/env/jdbc/toystore_statemgmtDS' DataSource
Successfully issued a ROLLBACK command using connection from this datasource

これを確認した後、ブラウザで次のように指定すると、

http://yourtomcatmachine:yourport/ADFToyStore

TomcatでADF ToyStoreサンプル・アプリケーションを実行できます。


前に戻る | 目次に戻る | 次へ進む ≫