1.1.1 接続の理解

Oracle Net Servicesのコンポーネントの1つであるOracle Netでは、クライアント・アプリケーションからOracle Databaseサーバーへのネットワーク・セッションを可能にします。

Oracle Netは、ネットワーク・セッションが確立されているときに、クライアント・アプリケーションとデータベースの両方のデータ・キャリアとして機能します。クライアント・アプリケーションとデータベース間でのメッセージの交換に加え、これらの間の接続を確立および維持します。このようなジョブの実行は、Oracle Netがネットワーク上の各コンピュータに配置されることにより可能になります。

1.1.1.1 クライアント/サーバー・アプリケーション接続について

Oracle Neを使用すると、従来のクライアント/サーバー・アプリケーションからOracle Databaseサーバーへの接続が可能になります。図1-1は、Oracle Netがクライアントとデータベース・サーバー間でネットワーク接続を可能にする方法を示しています。Oracle Netは、クライアントおよびデータベース・サーバーの両方に存在するソフトウェア・コンポーネントです。Oracle NetはネットワークOracle protocol supportの最上位レイヤーになります。つまり、アプリケーションがネットワークにアクセスする方法およびネットワーク上でデータを転送するためにパケットに分割する方法を決定するルールです。次の図では、コンピュータ・レベルの接続、およびクライアントとデータベースの間のデータ転送が可能になるよう、Oracle Netで通信にTCP/IPが使用されています。

図1-1 クライアント/サーバー・アプリケーション接続

図1-1の説明が続きます
「図1-1 クライアント/サーバー・アプリケーション接続」の説明

特に、Oracle Netは接続の確立と維持を行うOracle Net Foundationレイヤーと、そのテクノロジを業界標準のプロトコルにマップするOracle protocol supportで構成されています。

1.1.1.1.1 Javaクライアント・アプリケーション接続

Javaクライアント・アプリケーションは、Oracleデータベースに、Javaからリレーショナル・データベースへの接続を提供する標準のJavaインタフェースである Java Database Connectivity (JDBC)ドライバを介してアクセスします。オラクル社は次のドライバを提供します。

  • JDBC OCIドライバ。Oracleクライアン・インストールとともにクライアント側で使用します。

  • JDBC Thinドライバ。Oracleインストールを必要とせず、主にアプレットとともにクライアント側で使用するPure Javaドライバ。

これらのドライバはOracle Netを使用するため、クライアント・アプリケーションとOracleデータベース間の接続を確立できます。

次の図では、JDBC OCIドライバおよびOracle Databaseサーバーを使用するJavaクライアント・アプリケーションを示します。JavaクライアントはJDBC OCIドライバへのコールを作成します。これにより、JDBCコールはOracle Netレイヤーに直接変換されます。次にクライアントは、Oracle Netで構成されたOracle Databaseとの通信にOracle Netを使用します。

図1-2 Javaアプリケーション接続

図1-2の説明が続きます。
「図1-2 Javaアプリケーション接続」の説明

1.1.1.2 Webクライアント・アプリケーション接続について

クライアントのWebブラウザからOracle Databaseサーバーへのインターネット接続は、接続要求がアプリケーションWebサーバーに送られる点を除いて、クライアント/サーバー・アプリケーションへの接続と同じです。

図1-3では、クライアントWebブラウザ、アプリケーションWebサーバー、Oracle Databaseサーバーを含むWebクライアント接続の基本アーキテクチャを示します。クライアント上のブラウザは、HTTPを使用してWebサーバーと通信し、接続要求を作成します。Webサーバーは、処理を行うアプリケーションに要求を送信します。次にアプリケーションは、Oracle Netで構成されたOracle Databaseサーバーとの通信にOracle Netを使用します。

図1-3 アプリケーションWebサーバーからのWebクライアント接続

図1-3の説明が続きます
「図1-3 アプリケーションWebサーバーからのWebクライアント接続」の説明

基本コンポーネントの特長は次のとおりです。

  • HyperText Transfer Protocol(HTTP)

    HTTPは、WebブラウザとアプリケーションWebサーバーの通信を可能にする言語を提供します。

  • アプリケーションWebサーバー

    アプリケーションWebサーバーは、Webサイトのデータの管理とアクセス制御、Webブラウザからの要求への応答を実行します。Webサーバー上のアプリケーションは、データベースと通信し、Webサーバーから要求されたジョブを実行します。

1.1.1.2.1 JavaアプリケーションWebサーバーからのWebクライアント接続

図1-4で示すように、アプリケーションWebサーバーは、Javaアプリケーションおよびサーブレットをホストできます。Webブラウザは、HTTPを介してアプリケーションWebサーバーに通信することによって、接続要求を作成します。アプリケーションWebサーバーは要求をアプリケーションまたはサーブレットに送信し、アプリケーションまたはサーブレットは、JDBC OCIまたはJDBC Thinドライバを使用して要求を処理します。次にドライバは、Oracle Netで構成されたOracle Databaseサーバーとの通信にOracle Netを使用します。

図1-4 JavaアプリケーションWebサーバーからのWebクライアント接続

図1-4の説明が続きます
「図1-4 JavaアプリケーションWebサーバーからのWebクライアント接続」の説明

1.1.1.2.2 アプリケーションWebサーバーを使用しないWebクライアント接続

アプリケーションにアクセスするためにアプリケーションWebサーバーを必要としないWebクライアントは、Oracle Databaseに直接アクセスできます。たとえば、Javaアプレットを使用します。通常の接続に加えて、データベースはHTTPプロトコルFTPまたはWebDAVプロトコル接続を受け入れるように構成できます。これらのプロトコルは、Oracle DatabaseインスタンスのOracle XML DBへの接続に使用します。

次の図は、2つの異なるWebクライアントを示しています。最初のWebクライアントはデータベースへのHTTP接続を作成します。2番目のWebクライアントは、WebブラウザとJDBC Thinドライバを使用し、次にこのドライバは、JavaNetと呼ばれるJava版のOracle Netを使用して、Oracle Netで構成されたOracle Databaseサーバーと通信します。

図1-5 Webクライアントの接続のシナリオ

図1-5の説明が続きます
「図1-5 Webクライアントの接続のシナリオ」の説明