# CHAPTER 1: 概要

## 1.1 JDBC

JDBC は SQLステートメントを実行するための JavaTM API です。 実質的には任意のリレーショナル・データベースに SQLステートメントを送ることを容易にするための Javaプログラミング言語で記述された 1セットのクラスおよびインターフェイスから成ります。 JDBC APIを使用して、単一のプログラムを書くことができ、 そのプログラムは適切なデータベースへSQLステートメントを 送ることができます。 またJavaプログラミング言語でプログラムを記述するということは、 異なるプラットフォーム上で稼動させるために異なるプログラムを書く 必要がないことを意味します。

Javaは、強固であり、安全で理解および使用することが簡単です。 またネットワーク上で自動的にダウンロードが可能で データベース・アプリケーションの基本となる優れた言語です。 必要なものは様々な異なるデータベースに対し、 対話するためのJavaアプリケーションの方法であり、 JDBCはこれをおこなうためのメカニズムです。

JDBCは、Javaで可能なことを拡張します。 例えば、Java およびJDBC APIで 遠隔のデータベースから得られた情報を使用するアプレットを含んでいる ウェブページを公表することは可能です。 また企業においては、イントラネットによって 1つ以上の内部にあるデータベースにすべての従業員 が接続するためにJDBCを使用することができます。 (それらがウインドウズ、マッキントッシュおよび UNIXマシンのように様々なマシン構成で利用していても可能です。) これらのことにより、ますます多くのプログラマによって Java プログラミング言語は利用され、 Java からのデータベースのアクセスを簡単にするために JDBC の成長は続きます。

Java および JDBC のコンビネーションのようなMISマネージャーは それが流布する情報を容易扱い、経済的にします。 ビジネスにおいてはそれが異なるデータベース管理システム上に 格納されたとしても、それらがインストールされたデータベースと 情報へのアクセスを簡単に使用し続けることができます。 新しいアプリケーションの開発時間は短く、インストレーションと バージョン管理は非常に簡単です。 プログラマは新規のアプリケーションまた以前アプリケーションの更新を 作成し、サーバーにそれを置くことで、すべての人が 最新のバージョンにアクセスすることができます。 また、情報サービスを売るビジネスにおいては、 JavaとJDBCが外部の顧客に情報最新版を得るための よりよい方法を提供します。

要するに、JDBC API は 基本的なSQL抽象と概念の自然な Java インターフェイスです。 また、ODBCに精通しているプログラマが、学習することを 非常に容易に感じるように ODBC に基礎を置きます。 JDBCは、ODBCの基礎的な仕様の特徴を保持します。 事実、両方のインターフェースは、 X/Open SQL CLIに基づきます。 違いはJDBCがODBCの上に構築され、Java のスタイルおよび長所が 強化されているということです。もちろん、それを使用することは容易です。

## 1.2 Java to Empress Framework

Empress JDBC インターフェイス はカテゴリ 2 と カテゴリ 4 JDBC ドライバ の両方を含んでいます。 JDBCドライバのカテゴリは JavaSoft. に定義されています。 JDBCドライバの一般的な使用法は JDBC API Specification に定義され、ここではドキュメント化されていません。 このドキュメントではEmpressドライバと Empress JDBCシステムのアーキテクチャを説明します。

  図 1-1: Empress JDBC システム

見たとおり、カテゴリ 2 ドライバは Empress コネクティビティ サーバーに直接アクセスする ２つの層のシステムですが、 カテゴリ4ドライバは、3つの層システムです。 開発するアプリケーションの要求により、使用するカテゴリを決めることができます。

## 1.3 カテゴリ 2 JDBC ドライバ

カテゴリ 2 ドライバは、HTTP サーブレット、または同機種間でのイントラネット環境 上で実行する Java アプリケーションにおいて理想的です。

2つの層は次のものから構成されます:

- Java アプリケーション/サーブレット と `empress.jdbc.empressDriver`.

  `empress.jdbc.empressDriver` はプラットフォームに依存した Java と C で記述されたインタフェースです。

- Empress コネクティビティ サーバー.

Empress JDBCドライバを使用する Java アプリケーションまたはサーブレットを作成する場合、 ２つのEmpress特有のJava メソッドを記述します。

1. Empress JDBC ドライバのロード

   `Class.forName` ("`empress.jdbc.empressDriver`")

2. Empress コネクティビティ サーバーへの接続

   `DriverManager.getConnection` ("`jdbc:empress:SERVER=Connectivity_Server_Name;PORT=Connectivity_Server_Port; DATABASE=Empress_Database", uid, pwd`)

## 1.4 カテゴリ 2 JDBC ”ローカル アクセス”ドライバ

クライアント Java アプリケーションが ローカルなデータベースをアクセスする ことができる場合、Empress コネクティビティ サーバーは必要ではありません。 この場合においてEmpress カテゴリ 2 JDBC "ローカル アクセス" ドライバ と呼ばれる特別な Empress JDBC ドライバ 利用することができます。 これを利用した場合、ネットワークのオーバヘッドを減らし、 アクセスのパフォーマンスの改善をします。

Empress カテゴリ 2 JDBC "ローカル アクセス" ドライバ を使用する Java アプリケーション、またはサーブレットの設定は Empress カテゴリ 2 JDBC ドライバのための Java アプリケーションの設定の１箇所変更するだけで あとは同じです。

- ロードする Empress JDBC ドライバの変更:

        Class.forName ("empress.jdbc.empressLocalDriver")

## 1.5 カテゴリ 4 JDBC ドライバ

カテゴリ 4 ドライバは、HTML ブラウザ内でアプレットを実行する場合や 異機種によるコンピュータ環境がより適しています。

3つの層は次のものから構成されます:

- Java アプリケーション/ アプレットに含まれる Pure Java クライアント と `empress.jdbc.clientDriver` JDBC クライアント ドライバ.
- Empress Java サーバー (`empjsv`) - Java と C で記述されたミドルウェア サーバー.
- Empress コネクティビティ サーバー.

カテゴリ 3 ドライバ を使用しアプリケーションを実行することは カテゴリ 2 と同じです。また、カテゴリ 2 のために書かれたアプリケーションは、 コードの 2 箇所を変更するだけでカテゴリ 3 ドライバ で使用することができます。

1. ロードするEmpress JDBC ドライバ を変えるための変更

          Class.forName (empress.jdbc.empressDriver)

   変更後

          Class.forName (empress.jdbc.clientDriver)

2. Empress Java Server 接続呼び出しの情報 の追加

          DriverManager.getConnection
          ("jdbc:empress:SERVER=Connectivity_Server_Name;
           PORT=Connectivity_Server_Port;
           DATABASE=Empress Database", uid, pwd)

   変更後

          DriverManager.getConnection
          ("jdbc:empress://Empress_Java_Server_Name:Empress_Java_Server_Port/
           SERVER=Connectivity_Server_Name;
           PORT=Connectivity_Server_Port;
           DATABASE=Empress Database", uid, pwd)

Javaアプレットがインターネット/イントラネットブラウザー あるいはアプレット・ビューアーで最初にロードされ アプレットを実行する場合、接続はEmpress Java サーバーに設定されます。

ブラウザはEmpress Java サーバーに接続する前に `empressJDBC.jar`ファイルの場所を指定が可能であることに注意してください。

典型的な通信プロトコルを下に示します。 HTTPサーバーがオプションであることに注意してください。 ブラウザーはまた`file://`プロトコルを使用して、 HTMLページをロードすることができます。

  図 1-2: Empress JDBC インターフェイス 通信 プロトコル