< 前へ | 次へ >

演習 3: データベース接続のセットアップ

この演習では、前の演習でインポートしたデータベースに、 プロジェクトを接続します。

このチュートリアルの目的は、 データベースへの接続方法を説明することではないため、 そのプロセスについては、この演習で詳しく説明しません。 手短に言えば、データベース接続をセットアップし、それにより EGL アプリケーションは、アプリケーションの設計時のデータベースへの接続 (設計時接続)、およびサーバー上でのアプリケーションの実行時のデータベースへの接続 (実行時接続) の両方が可能となります。

直前の演習で説明したように、WebSphere® Application Server は、EAR プロジェクト内のデータベース接続情報を使用します。Tomcat は Web プロジェクト内のデータベース接続情報を使用します。つまり、それぞれのサーバーでデータベース接続のステップが異なります。

接続の作成

どのサーバーを使用しているかにかかわらず、データベースへの設計時接続を作成しなければなりません。WebSphere Application Serverを使用している場合は、EGL はそれに対応する実行時接続も自動的に作成します。Tomcat を使用している場合は、この演習で後述される追加ステップで、この接続と Tomcat を関連させる手順を説明します。次の演習ではまた、この設計時接続を使用して開始 EGL コードを作成します。

表示

  1. 「エンタープライズ・エクスプローラー」ビューで、「EGLWeb」プロジェクトを右クリックし、「プロパティー」をクリックします。
  2. 「プロパティー」ウィンドウで、「EGL ランタイム・データ・ソース」をクリックします。
  3. 「EGL ランタイム・データ・ソース」ページで、「データ・ツールの接続から値をロード」を選択してから、「新規」をクリックします。 「新規接続」ウィンドウが開きます。
  4. 「接続プロファイル (Connection Profile)」ウィンドウの「接続プロファイル・タイプ (Connection profile types)」で、「Derby」をクリックします。
  5. 「名前」に、以下の名前を入力します。
    EGLDerbyDB
  6. 説明はブランクのままで構いません。 「次へ」をクリックします。
  7. 「ドライバー (Drivers)」リストは、デフォルトの「BIRT SampleDb Derby の組み込みドライバー (BIRT SampleDb Derby Embedded Driver)」のままにします。
  8. 「プロパティー」「データベース・ロケーション」フィールドで、「参照」をクリックして次のフォルダーにナビゲートします。

    workspace-location/EGLWeb/WebContent/EGLDerbyDB

    workspace-location は、現行ワークスペースの絶対パスです。 「OK」をクリックします。

  9. 「ユーザー名」フィールドをクリアして、「パスワード」フィールドはブランクのままにします。 このデータベースには、ユーザー名もパスワードも必要ありません。
  10. 「URL」はデフォルト値のままにします。データベースは既に存在するため、「データベースの作成 (必要な場合)」のチェック・ボックスはクリアして構いません。 必ず「ウィザードの完了時に接続する (Connect when the wizard completes)」を選択します。
  11. 「接続のテスト」をクリックします。 すべての情報が正しい場合、新規接続ウィンドウは以下の例のようになり、使用しているワークスペースおよびロケーション情報が「データベース・ロケーション」フィールドに表示されます。
    正常に接続されたことを示す「ドライバーおよび接続の詳細の指定 (Specify a Driver and Connection Details)」ウィンドウ。
  12. 「OK」をクリックして、「接続のテスト」ウィンドウを閉じます。
  13. 「終了」をクリックします。 新規接続が作成され、接続に必要な情報が以下のフィールドに入力されます。
    「プロパティー」ページの新しいランタイム・データ・ソース。

    EGL がこの接続に接続の ID である JNDI 名 を与えていることに注意してください。 デフォルトでは、JNDI 名は、データベースの名前に基づいた jdbc/EGLDerbyDB です。 アプリケーションはこの名前を使用して、実行時にデータベース接続にアクセスします。

  14. 「OK」をクリックします。
  15. このプロジェクトのデフォルトのビルド・オプションの情報を更新するか尋ねるウィンドウが表示される場合があります。 このメッセージが表示された場合、「はい」をクリックします。
  16. 「プロジェクト・エクスプローラー」ビューで、EGLWeb プロジェクトおよび EGLSource フォルダーを展開します。 「プロジェクト・エクスプローラー」ビューで EGLWeb.eglbld ファイルをダブルクリックして、プロジェクトのビルド・ファイルを開きます。 ビルド・ファイルがビルド・パーツ・エディターで開きます。
  17. 「EGL ランタイム・データ・ソース」ウィンドウが接続情報に基づいてビルド記述子オプション設定したことを、確認します。 WebSphere Application Server の場合、ビルド記述子オプションは、次のようになります。
    データベース接続の正しい設定を示すビルド記述子オプションの図
    データベース接続が動作するには、以下のオプションの設定が必要です。
    dbms
    このビルド記述子オプションはデータベースのタイプ、この場合は DERBY を示します。
    sqlDB
    このビルド記述子オプションは接続 URL、すなわちサーバーがデータベースを見つけるために使用する文字列を示します。接続 URL のフォーマットは各データベース・タイプによって異なりますが、Derby でのフォーマットは、接続プロトコル (この場合は JDBC)、コロン分離文字、データベース・タイプ (Derby)、コロン分離文字、ディスク上のデータベースへのパス、および接続のパラメーター、となります。この場合、接続 URL は以下の例のようになります。ここで、D:¥MyData¥workspace_jsf_tutorial はご使用のデータベースへのパスに置き換えてください。
    jdbc:derby:D:¥MyData¥workspace_jsf_tutorial¥EGLWeb¥WebContent¥EGLDerbyDB
    sqlValidationConnectionURL
    このビルド記述子オプションは、データベースへの接続を検証するために使用される接続 URL を設定します。この場合、ほとんどの場合のように、このオプションは sqlDB と同じです。
    sqlJDBCDriverClass
    このビルド記述子オプションは、データベースへアクセスするために使用されるプログラムである、データベース・ドライバー の名前を設定します。「新規接続」ウィンドウは、derby.jar ファイルからこの名前である org.apache.derby.jdbc.EmbeddedDriver を取得します。
    sqlJNDIName
    実行時の接続を表す JNDI 名。
  18. ビルド記述子オプションが「新規接続」ウィンドウに入力した情報に基づいて設定されているならば、変更することなくビルド記述子を閉じてください。ビルド記述子オプションが設定されていない場合は、以下のステップに従ってそれらを設定します。
    1. 「接続を使用した DB オプションのロード」リストで、EGLDerbyDB 接続を選択します。 sqlJNDIName オプションを除いて、いくつかのオプションは設定されています。
    2. sqlJNDIName オプションを、以下に示されたとおりの JNDI 名に正確に設定します。
      jdbc/EGLDerbyDB
      注: 編集するために sqlJNDIName オプションを開くには、そのオプションの隣の「値」列をゆっくりと 2 回クリックします。また、「値」列を素早く 3 回クリックすることもできます。
      今ビルド記述子オプションの値は上記の値と一致しています。
    3. ビルド記述子を保管して、閉じます。
    4. オプションで、関連付けされた設定を使用可能にすることで将来これらの変更ができるように、「EGL ランタイム・データベース接続 (EGL Runtime Database Connection)」ウィンドウを設定します。「ウィンドウ」 > 「設定」とクリックしてから、「EGL」 > 「デフォルトのビルド記述子」をクリックします。「ランタイム・データ・ソース変更時、プロジェクトのデフォルトのビルド・オプションを更新」で、「常時」を選択してビルド記述子オプションを自動的に更新するか、または「プロンプトを出す」を選択するとオプションが与えられます。 次に「EGL ランタイム・データベース接続 (EGL Runtime Database Connection)」ウィンドウを使用した時に、この設定は有効です。

演習のチェックポイント

この演習では、プロジェクトのデータベース接続をセットアップしました。

プロジェクトの「プロパティー」ウィンドウの「EGL ランタイム・データ・ソース」ページを使用した時、ワークベンチのデータ・ツールを使用してデータベースへの設計時接続を最初に作成しました。それから、WebSphere Application Serverを使用していた時は、EGL はこの設計時接続の情報を使用して、実行時に使用されるそれに対応する接続を作成しました。この場合、EGL がプロジェクトに対して行った変更には以下のものが含まれます。
  • EGL は演習の最初の方で説明したように、特定のデータベース関連のビルド記述子オプションの値を設定しました。
  • EGL は JNDI 名 を作成して、接続名として使用しました。 デフォルトでは、プロジェクト用に作成された JNDI 名は、データベース名に基づいた jdbc/EGLDerbyDB です。
  • EGL は、EGLWeb プロジェクトの Web デプロイメント記述子内の当該 JNDI 名にリソース参照を追加しました (WebContent¥WEB-INF¥web.xml)。現在、EGLWeb プロジェクトは、JNDI 名を使用して EAR プロジェクトで定義されたデータ・ソースを使用できます。 使用するアプリケーション・サーバーのバージョンに応じて、エディターの外観は大幅に異なります。 次の例は、WebSphere Application Server バージョン 8 の場合のエディターを示しています。
    リソース参照を示す Web デプロイメント記述子

Tomcat を使用している場合、プロジェクトには EAR プロジェクトがありません。そのため、EGL により、接続情報を提供する Web プロジェクトにコンテキスト・ファイルが追加されました。 コンテキスト・ファイルは基本的にデプロイメント記述子の情報と同じタスクを実行します: JNDI 名を、データベースのロケーション、およびサーバーがそのデータベースと接続するために必要としている他の情報と関連付けします。接続はこのプロジェクトでのみ有効です。

注: これ以降は、どのサーバーを使用するかに関係なくほとんど同じステップとなります。
< 前へ | 次へ >

フィードバック