BEA ホーム | 製品 | dev2dev | support | askBEA
 ドキュメントのダウンロード   サイト マップ   Glossary 
検索

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

 Previous Next Contents PDF で侮ヲ  

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

WebLogic Server JDBC ドライバの表

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

表1-1 JDBC ドライバ

ドライバ

ドライバのタイプと名前

データベース接続性

ドキュメント ソース

2 層
分散トランザクションのサポートなし (XA 非対応)

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

  • WebLogic jDriver for Oracle

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

Type 4 (pure Java)

  • WebLogic jDriver for Microsoft SQL Server

  • 以下のものを含むサードパーティ ドライバ
    Oracle Thin
    Sybase jConnect

ローカル トランザクションでの WebLogic Server と DBMS 間

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

『管理者ガイド』の「JDBC 接続の管理

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

WebLogic jDriver for Microsoft SQL Server のコンフィグレーションと使い方』

2 層
分散トランザクションのサポート付き (XA 非対応)

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

  • WebLogic jDriver for Oracle XA

分散トランザクションでの WebLogic Server と DBMS 間

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

『管理者ガイド』の「JDBC 接続の管理

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

多層

Type 3

  • WebLogic RMI ドライバ

  • WebLogic Pool ドライバ

  • WebLogic JTS (Type 3 以外)

クライアントと WebLogic Server (接続プール) 間。RMI ドライバは非推奨の t3 ドライバの代わりに使用される。JTS ドライバは分散トランザクションで使用される。Pool および JTS ドライバはサーバサイドのみ。

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


 

WebLogic Server 2 層 JDBC ドライバ

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

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 のコンフィグレーションと使い方』を参照してください。

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 Microsoft SQL Server のコンフィグレーションと使い方』を参照してください。

WebLogic Server JDBC 多層ドライバ

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

各ドライバの使用については、WebLogic 多層 JDBC ドライバの使い方を参照してください。

WebLogic RMI ドライバ

WebLogic RMI ドライバは WebLogic Server 内で動作する多層 Type 3 Java Database Connectivity (JDBC) ドライバです。WebLogic RMI ドライバを使用して、データベースと接続プールを接続することもできますが、これはお勧めできる方法ではありません。BEA では、JNDI ツリーのデータ ソースをルックアップして、接続プールからデータベース接続を確立することをお勧めします。以降、データ ソースでは内部的に RMI ドライバを使用するようになります。いずれの方法でも、WebLogic RMI ドライバは WebLogic と WebLogic JTS の各ドライバを内部的に使用して、接続プールを接続します。

また、WebLogic Server クラスタ内でコンフィグレーションされている場合は、クラスタ化 JDBC 用に使用できます。これにより、JDBC クライアントは WebLogic クラスタのロード バランシング機能とファイルオーバ機能を活用できます。

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

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

WebLogic Pool ドライバ

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

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

WebLogic JTS ドライバ

WebLogic JTS は WebLogic Pool ドライバに似た多層 JDBC ドライバです。ただし、1 つのデータベース インスタンスを使用する複数のサーバ間での分散トランザクションで使用されます。JTS ドライバは 2 フェーズ コミットを回避するため、単一のデータベース インスタンスを使用する場合に限り WebLogic jDriver for Oracle XA ドライバより効率的に動作します。このドライバは、サーバ サイド アプリケーションでのみ使用します。

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

サードパーティ ドライバ

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

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

Sybase jConnect ドライバ

2 層 Sybase jConnect Type 4 ドライバは、WebLogic Server 配布キットに付属しています。このドライバは、Sybase Web サイトから最新版を入手して、使用してください。WebLogic Server でのこのドライバの使い方の詳細については、WebLogic Server でのサードパーティ ドライバの使い方を参照してください。

Oracle Thin ドライバ

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

 


接続プールの概要

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

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


 

接続プールが起動されると、指定された数の物理的なデータベース接続が作成されます。起動時に接続を確立しておくことにより、接続プールでは個々のアプリケーションごとにデータベース接続を作成するためのオーバーヘッドを解消できます。

接続プールを使って WebLogic Server から DBMS へ物理的に接続するには、2 層 JDBC ドライバが必要になります。2 層ドライバには、WebLogic jDrivers、または JDBC ドライバ (Sybase jConnect ドライバ、または Oracle Thin ドライバ) のいずれかを使用できます。次の表に、接続プールを使用する場合のメリットをまとめています。

表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 ドライバのいずれかを使用します。2 フェーズ コミット トランザクションの場合は、JNDI ツリーの TxDataSource を使用するか、WebLogic Server JDBC/XA ドライバ (WebLogic jDriver for Oracle/XA) を使用します。1 つのデータベース インスタンスを使う複数のサーバ間での分散トランザクションの場合は、JNDI ツリーの TxDataSource、または JTS ドライバを使用します。WebLogic 多層ドライバではなく、JNDI ツリー、および DataSource を使用して、接続プールにアクセスすることをお勧めします。

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

BEA は、クライアントサイドの多層 JDBC 用に RMI ドライバを提供しています。RMI ドライバでは、Java 2 Enterprise Edition (J2EE) 仕様を使って標準ベースのアプローチが利用できます。新しいデプロイメントの場合は、RMI ドライバの代わりに、JNDI ツリーの DataSource を使用することをお勧めします。

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

 


マルチプールの概要

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

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

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

 


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

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

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

 


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 をサポートする JDK 1.3.1 を使用します。

 


プラットフォーム

サポートされるプラットフォームは、ベンダ固有の DBMS とドライバによって異なります。現時点での情報については、「動作確認状況」を参照してください。

 

Back to Top Previous Next