WebSphere Application Server, Version 6.0.x   
             オペレーティング・システム: AIX , HP-UX, Linux, Solaris, Windows

             目次と検索結果のパーソナライズ化

データ・アクセス・アプリケーションの開発

データ・アクセス・アプリケーションを使用すると、アプリケーション・サービス提供環境内で使用する外部ソースからデータを操作できます。

このタスクについて

以下に挙げるさまざまな方法でデータにアクセスできます。
  • 標準または拡張 API の使用
  • コンテナー管理パーシスタンス Bean の使用
  • Bean 管理パーシスタンス Bean、セッション Bean、または Web コンポーネントの使用
  • サービス・データ・オブジェクト (SDO) の使用

プロシージャー

  1. データ・アクセスのインプリメント方法を決定します。

    Enterprise JavaBeans (EJB) プログラミング・モデルには、エンティティー Bean、セッション Bean、メッセージ駆動型 Bean、およびサーブレットという、 いくつかの異なるサーバー・サイドのコンポーネントのタイプが用意されています。 これらのタイプのうちで、エンティティー Bean は通常、 アプリケーション内でビジネス・コンポーネントをモデル化するために使用されます。 エンティティー Bean は、状態動作 の両方を備えています。

    エンティティー Bean の状態は永続的で、データベース内に保管されます。 エンティティー Bean への変更が行われると、 その状態は、Bean を表すデータベース・レコードと同期した状態に保たれます。 EJB モデルによって提供されるエンティティー Bean には 2 つのタイプがあり、 これらの 2 つのタイプの違いは、パーシスタンスを提供するために使用されるメカニズムにあります。 これら 2 つのタイプのエンティティー Bean とは、 コンテナー管理パーシスタンス (CMP) Bean および Bean 管理パーシスタンス (BMP) Bean です。

    • BMP Bean の場合は、 開発者が手動でコードを作成して Bean の永続状態を管理します。
    • CMP Bean の場合は、EJB コンテナーが Bean の永続状態を管理します。 永続状態の管理は複雑で困難なタスクであり、CMP Bean を使用すると、 開発者は、永続的な動作をコンテナーに任せることでビジネス・ロジックに集中できます。

      CMP Bean の代表的な例は、カスタマーアカウント などです。 CMP Bean はオブジェクトであるため、 それらのデータ (状態) にアクセスする際には、フィールド・アクセサーを使用します。 例えば、カスタマー・エンティティー Bean には、 名前電話番号 などのフィールドが含まれる可能性があります。 これらの項目のデータには、 accessor メソッド getName()/setName() および getPhoneNumber()/setPhoneNumber() を使用してアクセスします。 開発者としては、このデータを最終的に保管する方法や、バックエンド・データベースから検索する方法について意識せずに、 データの保全性はコンテナーによって維持されるものと見なすことができます。

    エンティティー Bean の開発については、 エンタープライズ Bean の開発 の項目を参照してください。
    ヒント:
    • リレーショナル・データベースに対するアプリケーション要求の効率を最大にするには、BMP Bean および CMP Bean を開発する際に Structured Query Language in Java (SQLJ) を使用することを検討してください。 このオプションは、DB2 JDBC Universal Driver を使用して DB2 データベースにアクセスするアプリケーションに使用できます。
    • また、パフォーマンス向上のためにカーソル保持機能 (cursor holdability) の使用も検討してください。 詳しくは、JDBC アプリケーションのカーソル保持機能 (Cursor holdability) サポート の項目を参照してください。

    エンティティー Bean を開発する方法に対する代替方法として、サービス・データ・オブジェクト (SDO) フレームワークを使用することができます。これは、 データ・アプリケーション開発の統一フレームワークです。 SDO を使用すると、データにアクセスおよび使用する際に、技術固有の API に精通する必要がなくなります。 SDO API という 1 つの API を理解するのみで済みます。 この API を使用すると、複数のソース (リレーショナル・データベース、エンティティー EJB コンポーネント、XML ページ、Web サービス、Java コネクター・アーキテクチャー、JavaServer Pages など) からのデータを処理することができます。

  2. リソース参照を使用して、 データ・ソースまたは接続ファクトリーを検索します (リレーショナル・アクセスのリソース参照を使用したデータ・ソースの検索)。 ただし、CMP Bean で処理している場合、このステップを実行しないでください。 EJB コンテナーが CMP Bean のこのプロセスを処理します。
    WebSphere Application Server でアプリケーションを実行するには、 使用するコードで、リソース参照を使用してデータ・ソースまたは接続ファクトリーを論理的に指定する必要があります。 リソース参照を実リソースにマッピングすることは、通常の場合、アセンブル時に行われます。 これらのリソースは、Application Server の管理者が構成します。
    • リレーショナル・データベース・アクセスの場合、 管理者は JDBC プロバイダーおよび関連データ・ソースを構成します。 これらは、組み込み WebSphere Relational Resource Adapter を処理します。
    • 非リレーショナル・データベース・アクセスの場合、 管理者は J2EE Connector Architecture (JCA) のリソース・アダプターをアプリケーション・サーバーにインストールし、関連した接続ファクトリーを構成します。
  3. データ・ソースまたは接続ファクトリーへの接続を取得します (詳しくは、 接続のライフ・サイクルの「接続の取得」セクションを参照)。 ただし、CMP Bean を処理している場合、 このステップを実行しないでください。 EJB コンテナーが CMP Bean 用に同プロセスを処理します。

    エンタープライズ情報システム (EIS) に対するリレーショナル・アクセスおよびプロシージャー型アクセスの接続管理アーキテクチャーは、 J2EE コネクター・アーキテクチャー (JCA) 仕様に基づいています。 接続マネージャー (CM) は、アプリケーション・サーバー内の接続をプールおよび管理するもので、JCA 仕様で定義されているリソース・アダプター (RA) と JDBC 拡張仕様で定義されているデータ・ソースの両方によって取得される接続を管理することができます。




サブトピック
データ・アクセス API に対する拡張機能
エクスポートされた表データ定義言語からのデータベース表の再作成
CMP Bean 関連テクノロジー
エンティティー Bean およびデータ・ストアの同期の操作
修正していない EntityBean インスタンス上での ejbStore 呼び出しの回避
リソース参照使用の利点
J2EE コネクター・アーキテクチャー・コネクターによるデータへのアクセス
JDBC アプリケーションのカーソル保持機能 (Cursor holdability) サポート
Data Access Bean のタイプ
アプリケーション・クライアントからのデータへのアクセス
Service DataObjects によるデータ・アクセス
データ・アクセスでの Java Database Connectivity データ・メディエーター・サービスの使用
データ・アクセスへの Enterprise JavaBeans データ・メディエーター・サービスの使用
サーバー・ワイドなカスタム・ファインダーの SQL 動的機能拡張の設定
Bean のセットでのカスタム・ファインダーの SQL 動的機能拡張の設定
特定のカスタム・ファインダーに対するカスタム・ファインダーの SQL 動的機能拡張の設定
特定の Bean のカスタム・ファインダーに対するカスタム・ファインダーの SQL 動的機能拡張の使用不可
組み込み SQLJ (Structured Query Language in Java) サポート
組み込み SQLJ (Structured Query Language in Java) サポートの使用
データ・アクセスに関する例外
CMP connection factories collection
タスク・トピック    

ご利用条件 | フィードバック

最終更新: Jan 22, 2008 12:07:38 AM EST
http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=/com.ibm.websphere.base.doc/info/aes/ae/tdat_impdatacc.html