データベース管理システム (DBMS) は、データを格納、編成、および取得するための機能を提供します。多くの場合、データベース内の情報は持続的なデータとして表現されますが、これはデータがディスク上に保存され、アプリケーションプロセスが終了したあとも存在するためです。ほとんどのビジネスアプリケーションは、データをリレーショナルデータベースに格納します。アプリケーションは JDBC (Java Database Connectivity) API を使用して、データベース情報にアクセスできます。
データベース接続の主な要素は次のとおりです。
「データベース」。エンタープライズのデータが格納されるリポジトリです。Java EE アプリケーションは、JDBC API を介してリレーショナルデータベースにアクセスします。管理の手順については、「データベースの設定」を参照してください。
「JDBC 接続プール」。特定のデータベースのための再利用可能な接続のグループです。管理の手順については、「JDBC 接続プールの管理」を参照してください。
「JDBC リソース」 (データソース)。データベースに接続する手段をアプリケーションに提供します。JDBC リソースを作成するには、関連した接続プールを指定します。複数の JDBC リソースが 1 つの接続プールを指定することもできます。JDBC リソースは、Java Naming Directory Interface (JNDI) 名によって識別されます。管理の手順については、「JDBC リソースの管理」を参照してください。
「JDBC ドライバ」。データベースドライバは、Java アプリケーションがデータベース接続 API とやり取りを行うためのソフトウェアコンポーネントです。データベースごとに専用のドライバが必要です。管理の手順については、「JDBC ドライバの統合」を参照してください。
実行時には、アプリケーションがデータベースに接続するときに次の一連の処理が発生します。
アプリケーションは JNDI API を通して呼び出しを行い、データベースに関連付けられた JDBC リソースを取得します。
リソースの JNDI 名を使用して、ネームサービスとディレクトリサービスが JDBC リソースを検索します。JDBC リソースはそれぞれ接続プールを指定します。
アプリケーションは JDBC リソースを使用してデータベース接続を取得します。
Enterprise Server は、データベースに対応する接続プールから物理接続を取得します。プールは、データベース名 (URL)、ユーザー名、パスワードなどの接続属性を定義します。
データベース接続が確立されると、アプリケーションはデータベースに対してデータの読み取り、変更、および追加を実行できるようになります。
アプリケーションは JDBC API を呼び出すことにより、データベースにアクセスします。JDBC ドライバはアプリケーションの JDBC 呼び出しをデータベースサーバーのプロトコルに変換します。
データベースへのアクセスが完了すると、アプリケーションは接続を閉じ、接続を接続プールに戻します。