ナビゲーションをスキップ

WebLogic JDBC プログラマーズ ガイド

  前 次 前/次ボタンと目次ボタンとの区切り線 目次  

WebLogic JDBC の概要

以下の節では JDBC コンポーネントと JDBC API の概要について説明します。

 


JDBC の概要

Java Database Connectivity (JDBC) とは、Java プログラミング言語で作成された一連のクラスとインタフェースで構成された標準 Java API のことです。アプリケーション、ツール、およびデータベースの開発者は、JDBC を使用することにより、データベース アプリケーションを作成したり、SQL 文を実行したりできます。

JDBC は低レベル インタフェースであり、SQL コマンドを直接起動する (呼び出す) ために使用されます。また、JDBC は Java Messaging Service (JMS) や Enterprise JavaBean (EJB) などの高レベルのインタフェースとツールを構築するための基盤でもあります。

 


JDBC ドライバと WebLogic Server の使用

JDBC ドライバは、JDBC API のインタフェースとクラスを実装します。以下の節では、WebLogic Server で使用できる JDBC ドライバ オプションについて説明します。

JDBC ドライバのタイプ

WebLogic Server は、以下のタイプの JDBC ドライバを使用します。これらのドライバが互いに連携することによって、データベース アクセスが提供されます。

WebLogic Server の中間層アーキテクチャ (データ ソース、および接続プール) により、データベース リソースを集中管理できます。ベンダに依存しないラッパー ドライバを使用すれば、購入したコンポーネントを自社の DBMS 環境により簡単に適合させ、より移植性の高いコードを記述できます。

WebLogic Server JDBC ドライバの表

次の表に、WebLogic Server で使用するドライバの一覧を示します。

表 1-1 JDBC ドライバ

ドライバの
タイプと名前

データベース
接続性

ドキュメント ソース

Type 2 (ネイティブ ライブラリが必要)

  • WebLogic jDriver for Oracle

  • WebLogic jDriver for Oracle XA

  • サード パーティ ドライバ (Oracle OCI ドライバ、IBM DB2 ドライバなど)

ローカルおよび分散トランザクションでの WebLogic Server と DBMS 間

WebLogic JDBC プログラマーズ ガイド』(このマニュアル)

WebLogic JTA プログラマーズ ガイド

Administration Console オンライン ヘルプの「JDBC 接続プールのコンフィグレーション

WebLogic jDriver for Oracle のコンフィグレーションと使い方

Type 4 (ピュアな Java)

  • WebLogic jDrivers for Microsoft SQL Server

  • Oracle Thin Driver および Oracle Thin XA Driver を含むサードパーティ ドライバ

ローカルおよび分散トランザクションでの WebLogic Server と DBMS 間

注意 :WebLogic jDrivers for Microsoft SQL Server でサポートしているのは、ローカル トランザクションのみ。

WebLogic JDBC プログラマーズ ガイド』(このマニュアル)

WebLogic JTA プログラマーズ ガイド

Administration Console オンライン ヘルプの「JDBC 接続プールのコンフィグレーション

WebLogic jDriver for SQL Server ガイド (非推奨)

Type 3

  • WebLogic RMI ドライバ

外部クライアントと WebLogic Server (接続プール) 間

WebLogic JDBC プログラマーズ ガイド』(このマニュアル)


 

JDBC ドライバの選択

データベースへの接続に使用する JDBC ドライバを決定する際には、使用している環境でさまざまなベンダのドライバを試す必要があります。通常、JDBC ドライバのパフォーマンスは、アプリケーションで使用する SQL コード、JDBC ドライバの実装など、さまざまな要因によって左右されます。

サポートされる JDBC ドライバについては、『WebLogic Platform 8.1 でサポート対象のコンフィグレーション』の「サポート対象のデータベース コンフィグレーション」を参照してください。

WebLogic Server JDBC ドライバ

以下の節では、ベンダ固有の DBMS に接続するために WebLogic Server で使用される Type 2 および Type 4 の JDBC 層ドライバについて説明します。

WebLogic jDriver for Oracle (非推奨)

BEA の WebLogic jDriver for Oracle は WebLogic Server 配布キットの中に入っています。このドライバを使用するには、Oracle クライアントがインストールされている必要があります。WebLogic jDriver for Oracle XA ドライバは、WebLogic jDriver for Oracle を分散トランザクション用に拡張します。詳細については、『WebLogic jDriver for Oracle のコンフィグレーションと使い方』を参照してください。

BEA WebLogic Type 4 JDBC Driver for Microsoft SQL Server

WebLogic Server 8.1 SP1 には、Microsoft SQL Server データベースに接続するための新しい BEA 製 JDBC ドライバが含まれています。BEA WebLogic Type 4 JDBC MS SQL Server ドライバは、非推奨となった WebLogic jDriver for Microsoft SQL Server に置き換わるものです。新しいドライバは JDBC 3.0 に準拠しており、JDBC 2.0 拡張の一部をサポートし、パフォーマンスが向上しています。WebLogic jDriver for Microsoft SQL Server の代わりに、新しい BEA WebLogic Type 4 JDBC MS SQL Server ドライバを使用してください。

詳細については、『WebLogic Type 4 JDBC ドライバ ガイド』を参照してください。

WebLogic jDriver for Microsoft SQL Server (非推奨)

WebLogic Server 配布キットに同梱の BEA WebLogic jDriver for Microsoft SQL Server は、Microsoft SQL Server への接続を提供する pure-Java、Type 4 JDBC ドライバです。詳細については、『WebLogic jDriver for SQL Server ガイド (非推奨)』を参照してください。

WebLogic Server ラッパー ドライバ

以下の節では、アプリケーションへのデータベース アクセスを提供する WebLogic ラッパー ドライバについて簡単に説明します。これらのドライバは、サーバ サイドのアプリケーション (および RMI ドライバのクライアント アプリケーション) で使用できますが、JNDI ツリーからデータ ソースをルックアップして、接続プールからデータベース接続を確立することをお勧めします。

各ドライバの使用については、「WebLogic ラッパー ドライバの使い方」を参照してください。

WebLogic RMI ドライバ

WebLogic RMI ドライバは WebLogic Server 内で動作する Type 3 JDBC ドライバです。WebLogic RMI ドライバをリモート クライアント アプリケーションで使用して、データベースと WebLogic Server 接続プールを接続することもできますが、これはお勧めできる方法ではありません。BEA では、JNDI ツリーのデータ ソースをルックアップして、接続プールからデータベース接続を確立することをお勧めします。外部クライアントからのリクエストがあると、データソースは必要に応じて、RMI ドライバを内部で使用します。

WebLogic RMI は、サーバ サイド アプリケーション、またはクライアント アプリケーションと共に使用できます。

WebLogic RMI ドライバの使用については、「WebLogic RMI ドライバの使い方」を参照してください。

WebLogic Pool ドライバ

WebLogic Pool ドライバを使用すると、HTTP サーブレットや EJB などのサーバサイド アプリケーションから接続プールを利用できます。WebLogic Pool ドライバは、サーバ サイド アプリケーションで直接使用できますが、JNDI のルックアップにより、接続プールからデータベース接続を確立することをお勧めします。WebLogic Server のデータ ソースでは、WebLogic Pool ドライバを内部的に使用して、接続プールを接続します。

Pool ドライバの使い方については、『WebLogic HTTP サーブレット プログラマーズ ガイド』の「プログラミング タスク」の「データベースへのアクセス」を参照してください。

WebLogic JTS ドライバ

WebLogic JTS ドライバは WebLogic Pool ドライバに似たラッパー ドライバです。ただし、1 つのデータベース インスタンスを使用する複数のサーバ間での分散トランザクションで使用されます。JTS ドライバは、1 つだけのデータベース インスタンスを処理する場合は WebLogic jDriver for Oracle XA ドライバよりも効率的です。なぜなら、トランザクションのこのブランチでの処理を開始および終了するためのトランザクション マネージャからの呼び出し (XAResource.start() および XAResource.end()) には、データベースとの通信が必要ではないからです (これらはノー オペレーション)。

このドライバは、サーバ サイド アプリケーションでのみ使用します。

WebLogic JTS ドライバの使用については、「WebLogic JTS ドライバの使い方」を参照してください。

サードパーティ JDBC ドライバ

WebLogic Server は、以下の要件を満たすサードパーティ JDBC ドライバと連携して動作します。

これらのドライバは通常、WebLogic Server をコンフィグレーションして、接続プールに物理的なデータベース接続を作成するときに使用します。

Oracle Thin Driver

WebLogic Server に付属する Oracle Thin Type 4 Driver は、WebLogic Server から Oracle DBMS への接続を提供します。Oracle Thin Driver は、Oracle Web サイトから最新版を入手して、使用してください。WebLogic Server でのこのドライバの使い方の詳細については、「WebLogic Server でのサードパーティ ドライバの使い方」を参照してください。

 


接続プールの概要

WebLogic Server では、DBMS への接続にそのまま利用できる接続プールをコンフィグレーションできます。クライアント、およびサーバ サイドのアプリケーションでは、JNDI ツリーにある DataSource を介して接続プールから接続を利用すること (推奨方法) も、WebLogic ラッパー ドライバを介して接続を利用することもできます。接続が完了したら、アプリケーションは接続を接続プールに返します。

図 1-1 WebLogic Server の接続プール アーキテクチャ

WebLogic Server の接続プール アーキテクチャ


 

接続プールが起動されると、指定された数の物理的なデータベース接続が作成されます。接続プールでは起動時に接続を確立するので、アプリケーションごとにデータベース接続を作成する手間を省くことができます。

接続プールを使って WebLogic Server から DBMS へ物理的に接続するには、JDBC ドライバが必要になります。JDBC ドライバは WebLogic jDriver の 1 つであっても、Oracle Thin Driver などサードパーティの JDBC ドライバであってもかまいません。次の表に、接続プールを使用する場合のメリットをまとめています。

表 1-2 接続プールを使用するメリット

接続プールのメリット . .

実現される機能

時間の節約、オーバーヘッドの削減

DBMS 接続の作成は、時間のかかる処理である。接続プールを使用すれば、接続はすでに確立されユーザが利用できる状態になっている。接続プールを使う代わりに、アプリケーションが独自の JDBC 接続を、必要になったときに確立するという方法もある。実行時に接続試行を受け取って処理する場合より、専用に用意されている接続を使用する方が DBMS は高速に動作する。

DBMS ユーザの管理

システム上で複数の並列 DBMS 接続を管理できる。これは、DBMS 接続にライセンス上の制限があるか、またはリソースに不安がある場合に重要となる。

アプリケーションは DBMS ユーザ名、パスワード、および DBMS の場所を認識する必要も、伝送する必要もない。

DBMS 永続性オプションを使用できる

DBMS 永続性オプションと EJB のような API を使う場合、WebLogic Server が JDBC 接続を管理するにはプールが必須となる。これにより、EJB トランザクションが正確かつ完全にコミットまたはロールバックされる。


 

この節は、接続プールの概要です。詳細については、「接続プールのコンフィグレーションと使い方」を参照してください。

サーバサイド アプリケーションでの接続プールの使い方

サーバ サイド アプリケーションからデータベースにアクセスする場合は、Java Naming and Directory Interface (JNDI) ツリーの DataSource、または WebLogic Pool ドライバのいずれかを使用します。分散トランザクションの場合は、JNDI ツリーの TxDataSource を使用します。1 つのデータベース インスタンスを使う、単一の WebLogic ドメイン内の複数のサーバ間での分散トランザクションの場合は、JNDI ツリーの TxDataSource、または JTS ドライバを使用します。WebLogic ラッパー ドライバではなく、JNDI ツリー、および DataSource を使用して、接続プールにアクセスすることをお勧めします。

クライアントサイド アプリケーションでの接続プールの使い方

注意 : 新しいデプロイメントの場合は、RMI ドライバの代わりに、JNDI ツリーの DataSource を使用することをお勧めします。

BEA は、クライアントサイドの JDBC 用に RMI ドライバを提供しています。RMI ドライバでは、Java 2 Enterprise Edition (J2EE) 仕様を使って標準ベースのアプローチが利用できます。

WebLogic RMI ドライバは Type 3 JDBC ドライバで、RMI と DataSource オブジェクトを使ってデータベース接続を作成します。このドライバはクラスタ化された JDBC にも対応し、WebLogic Server クラスタのロード バランシングおよびフェイルオーバ機能を活用します。DataSource オブジェクトを定義して、トランザクション サポートを有効にしたり無効にしたりできます。

 


マルチプールの概要

JDBC マルチプールは、「接続プールのプール」であり、高可用性、またはロード バランシング アルゴリズムのいずれかに従って設定できます。マルチプールは、接続プールと同じ方法で使用できます。アプリケーションで接続が必要になる場合、マルチプールでは選択されたアルゴリズムに基づいて、どの接続プールから接続を提供するかを特定します。

WebLogic Server 構成で使用するマルチプールごとに、次のいずれかのアルゴリズム オプションを選択できます。

詳細については、「マルチプールのコンフィグレーションと使い方」を参照してください。

 


クラスタ化された JDBC の概要

WebLogic Server では、クラスタがホストとなるアプリケーションの可用性を向上させるために、データ ソース、接続プール、マルチプールなどの JDBC オブジェクトをクラスタ化できます。クラスタ用にコンフィグレーションする各 JDBC オブジェクトは、クラスタ内の各管理対象サーバに存在する必要があります。JDBC オブジェクトをコンフィグレーションするときに、それらをクラスタに割り当てます。

クラスタ環境での JDBC オブジェクトについては、『WebLogic Server クラスタ ユーザーズ ガイド』の「JDBC 接続」を参照してください。

 


DataSource の概要

クライアント サイドおよびサーバ サイドの JDBC アプリケーションでは、DataSource を使用して、DBMS 接続を確立することができます。DataSource は、アプリケーションと接続プールの間のインタフェースです。各データ ソース (DBMS インスタンスなど) には、独自の DataSource オブジェクトが必要です。DataSource オブジェクトは、分散トランザクションをサポートする DataSource クラスとして実装できます。詳細については、「DataSource のコンフィグレーションと使い方」を参照してください。

 


JDBC API

JDBC アプリケーションを作成するには、java.sql API を使用して、データ ソースへの接続の確立、クエリの送信、データ ソースへの文の更新、および結果の処理に必要なクラス オブジェクトを作成します。各 JDBC インタフェースの詳細については、java.sql Javadoc の標準 JDBC インタフェース、および「接続プールのコンフィグレーションと使い方」を参照してください。また次の WebLogic の Javadoc も参照してください。

 


JDBC 2.0

WebLogic Server は、JDBC 2.0 をサポートしている Java 2 SDK 1.4.1 を使用します。

 


プラットフォーム

サポートされるプラットフォームは、ベンダ固有の DBMS とドライバによって異なります。現時点での情報については、『サポート対象のコンフィグレーション』を参照してください。

 

フッタのナビゲーションのスキップ  ページの先頭 前 次