• 検索結果がありません。

Oracle Application Server 10g Release 3(10.1.3)Oracle HTTP Serverの概要

N/A
N/A
Protected

Academic year: 2021

シェア "Oracle Application Server 10g Release 3(10.1.3)Oracle HTTP Serverの概要"

Copied!
19
0
0

読み込み中.... (全文を見る)

全文

(1)

Oracle Application Server 10g

Release 3(10.1.3)Oracle HTTP

Server の概要

Oracle ホワイト・ペーパー

2005 年 12 月

(2)

Oracle Application Server 10g

Oracle HTTP Server の概要

概要 ... 3

OHS: 高レベル機能の概要 ... 3

Oracle HTTP Serverのアーキテクチャ... 4

Apacheベース: HTTP v1.1 のサポート... 4

Apache 2.0 のサポート ... 4

モジュール・アーキテクチャ... 5

Oracle HTTP Serverモジュール ... 5

プロセス・アーキテクチャ... 7

Oracle HTTP Serverの機能... 7

セキュリティ... 7

SSLによる暗号化 ... 7

シングル・サインオン ... 8

アプリケーション・ファイアウォール: mod_security... 9

仮想ホスト... 9

分散オーサリングおよびバージョニングのサポート ... 10

プロキシ・サーバーとURLリライティング ... 10

ロード・バランシング

− mod_oc4j... 11

ロード・バランシングのアルゴリズム ... 11

動的検出 ... 11

サード・パーティのWebサーバーの統合... 11

Proxyプラグイン... 12

OSSOプラグイン... 12

OC4Jプラグイン ... 12

IPv6 のサポート ... 13

PL/SQLを使用する動的コンテンツ: PSPとmod_plsql ... 13

PerlとServer Side Includesを使用する動的コンテンツ... 14

CGIとFastCGIを使用する動的コンテンツ: Java/C/C++... 14

Dynamic Monitoring Service ... 15

Oracle Process Manager and Notification Server ... 15

ポート・トンネリング... 15

顧客によるプルーフポイント... 16

Digital River社... 16

Poste Italiane(www.poste.it) ... 17

(3)

概要

Oracle Application Server 10g は、多数の製品で構成され、豊富な機能を備えたアプ リケーション・サーバーです。Application Server が外部エンティティと通信する 主要なプロトコルは、HTTP であるため、これらの製品の大部分が HTTP サーバー に依存します。 Oracle HTTP Server(OHS)は、インターネットの HTTP プロトコルを処理するた めの重要なインフラストラクチャを提供します。OHS は、プロセスごとに生成さ れたリクエストとユーザーが生成したリクエストに、ブラウザからレスポンスを 返すために使用されます。OHS の重要な側面は、そのテクノロジ、静的コンテン ツと動的コンテンツ両方を処理する能力、Oracle 製品と Oracle 以外の製品とを統 合する機能です。

テクノロジ − OHS は、Apache 1.3 と Apache 2.0 の実証済オープン・ソース・テク ノロジに基づいています。Apache 2.0 に基づく OHS バージョンは、最新バージョ ンのインターネット・プロトコル IPv6 に対応する機能を備えています。さらに、 OHS はオープン・ソース製品である mod_security を介して、アプリケーション・ ファイアウォール機能を提供します。 静的コンテンツと動的コンテンツ − OHS では、静的コンテンツを直接または WebDAV 標準などの標準インタフェースを介して処理します。動的コンテンツの 生成は非常に柔軟で、Java、C/C++、Perl、PHP、PLSQL など多数の言語が使用で きます。 統合 − OHS には、スタンドアロンでデプロイするオプションもありますが、Oracle のクラスタ化、監視、シングル・サインオンまたは Web キャッシュ・テクノロジ と密接に統合し、デプロイすることもできます。オラクル社は、Oracle Application Server を Oracle HTTP Server 以外のサーバーと統合するためのプラグイン(Proxy、 OC4J、OSSO)も提供しています。

このホワイト・ペーパーでは、Oracle HTTP Server(OHS)の機能を概説します。

OHS: 高レベル機能の概要

次に、Oracle HTTP Server 内で使用できるすべての機能とコンポーネントの概要を 示します。

• Apacheベース − OHSは、実証済みのApache Webサーバーに基づいており、 Apache 2.0 コードに基づいたバージョンとApache 1.3 コードに基づいた バージョンの 2 つがあります。 • セキュリティとシングル・サインオン − OHSは、SSL/TLS、基本認証およ び様々なレベルの認証をサポートしています。シングル・サインオンの 宣言モデルもサポートしています。 • 仮想ホスト − ISPは、Webサーバーのシングル・インスタンスの複数の顧 客をホスティングし、各顧客を個別に構成できます。

(4)

• WebDAV − コンテンツに対しては、ファイル・ベースの格納に加えOracle リポジトリをサポートします。MS Officeまたは他のDAVクライアントは サーバーのファイルを編集できます。

• プロキシ・サーバーとURLリライティングでは、外部から見えるURLに 影響を与えずに、サイトを短時間で再編成できます。

• プラグインのコンポーネントにより、IIS、SunONE、Apache Web Server は、Oracle Application Server 10gまたはOracle Application Server Container for J2EE(OC4J)のフロントエンド処理に使用できます。 • mod_securityは、「アプリケーション・ファイアウォール」となり、ユー ザー・アプリケーション・プログラムの脆弱性に対する攻撃を阻止しま す。 • PLSQLストアド・プロシージャは、ブラウザから簡単にアクセスできる ようになりました。 • PSP(PL/SQL Server Pages)によって、HTMLとともにPL/SQLをスクリプ ト言語として使用できます。 • Perlのサポート機能は、mod_perlにより提供され、毎回Perlインタプリタ を再起動する必要がありません。 • PHPのサポート機能は、OHSのmod_phpモジュールにより提供されます。 • Server Side Includesは、ヘッダーまたはフッターを含める標準的な方法を

提供します。

• C/C++のサポート機能が、プロセスをアクティブ状態に保つFastCGIを介 して提供されるため、起動コストが不要です。

• Dynamic Monitoring Serviceにより、OHSまたは計測アプリケーションを監 視します。

Oracle HTTP Server のアーキテクチャ

Apache ベース: HTTP v1.1 のサポート

OHS は、Apache 1.3 と Apache 2.0 のオープン・ソース・テクノロジに基づいてい ます。実証済みのコード・ベースを使用しているため、Oracle HTTP Server は、 Oracle Application Server 10g ユーザーに、Web サーバーで必要な安定性、柔軟性、 スケーラビリティを提供します。

Apache 2.0 のサポート

Apache 1.3 に加え、Oracle HTTP Server は、Apache 2.0 にも対応します。Apache 2.0 をベースとするバージョンの OHS は、スタンドアロン・コンポーネントとして提 供されます。このバージョンには、Apache 1.3 をベースとした OHS でサポートさ れるすべてのモジュール(ただし、mod_oradav、mod_plsql、mod_ dms は除きます) が実装されています。

(5)

Apache 2.0 が Apache 1.3 より優れているのは、Windows OS マシンでの実行速度が 早いこと、ならびに IPv6 に対応する機能があるという点です。Apache 2.0 には、 IPv6 アドレスから IPv4 アドレスへの変換を行うプロキシとしての機能があります。

モジュール・アーキテクチャ

Apache Web サーバーのアーキテクチャはモジュール化されています。コアの Web サーバー(HTTP プロトコル用)は非常に小さなコンポーネントで、すべての機 能は、プラグイン式のモジュールとして実装され、リクエストのライフ・サイク ル中に適切な場所で起動されます(図 1)。モジュール(モジュールの API)は、 リクエストのライフ・サイクル中に、適切な場所で自動的に起動されます。 ユーザーは必要に応じて、独自のモジュールを OHS に追加し、OHS 機能を補完 できます。ユーザー・モジュールがトラブルシューティングに支障をきたす可能 性があると Oracle Support が判断した場合、ユーザー・モジュールを削除するよう にユーザーに要求することがあります。 図 1: HTTP リクエスト-レスポンス・サイクル

Oracle HTTP Server モジュール

Oracle HTTP Server モジュールは、Web サーバーの基本的な機能を拡張し、OHS と他の Oracle Application Server コンポーネントとの統合をサポートします。OHS には、様々な標準 Apache モジュールが付属しています。Oracle には、Oracle Application Server コンポーネント固有の複数のモジュールも含まれています。表 1 に、Apache 1.3 ベースの OHS に同梱される主要な Oracle モジュールを示します。 表 2 に、Apache 1.3 ベースの OHS に同梱される Apache Software Foundation の主要 モジュールを示します。

(6)

表 1 Apache 1.3 ベースの OHS に付属する主要な Oracle モジュール

モジュール バージョン 内容

mod_oc4j 10.1.3 AJP 1.3 プロトコルを使用して OHS からのリクエストを

Oracle Application Server Container for J2EE(OC4J)へルー ティングします。ルーティングは構成可能でインテリジェ ント機能を持ちます。

mod_oradav 10.1.3 この Oracle モジュールは、mod_dav の拡張実装です。この

モジュールにより、WebDAV クライアントは、Oracle デー タベースへ接続し、コンテンツの読取りと書込みを行った り、様々なスキーマでドキュメントを問い合せたり、ロッ クしたりできます。

mod_ossl 10.1.3 Oracle HTTP Server で厳密な暗号化機能を使用できるよう

にするモジュールです。このモジュールは、SSL バージョ ン 3 に対応する Oracle の SSL 実装と、Certicom 社ならびに RSA Security 社のテクノロジに基づいています。

mod_osso 10.1.3 Oracle HTTP Server に対してシングル・サインオンを有効

にするモジュールです。着信リクエストを調べ、リソー ス・リクエストがプロテクトされているかどうかを確認 し、プロテクトされている場合は、OHS Cookie を取り込 みます。

mod_plsql 10.1.3 Oracle HTTP Server を Oracle データベースへ接続し、Oracle ストアド・プロシージャを使用して Web アプリケーショ ンが作成できます。

表 2 Apache 1.3 ベースの OHS に付属する Oracle 以外の主要なモジュール

モジュール バージョン 内容

mod_cgi 1.3.31 Oracle HTTP Server で CGI スクリプトを実行できます。

mod_fastcgi 2.4.2 FastCGI プロトコルに対応しているため、CGI アプリケー

ションの実行サーバーのプールを保持できます。これによ り、起動時と初期化時のオーバーヘッドが不要になりま す。

mod_perl 1.29 Perl インタプリタを OHS に埋め込み、起動時のオーバー

ヘッドを不要にし、モジュールを Perl で作成できるモ ジュールです。Oracle Application Server では、バージョン 5.6.3 の Perl を使用します。

mod_php 4.3.11 PHP は、一般に使用される汎用のクライアント・サイド・

スクリプト言語です。Oracle HTTP Server では、mod_php を介して PHP をサポートし Oracle データベースのサポー ト機能を有効にします。 mod_rewrite 1.3.31 URL を操作する手段を提供するモジュールで、正規表現 パーサーに基づいたリライト・エンジンを使用して、要求 された URL をリライトします。 mod_security 1.8.4 Web アプリケーションを既知の攻撃および未知の攻撃か ら保護し、Web アプリケーションの安全性を高めます。

(7)

注意: 前述の表には、Oracle HTTP Server に同梱されている Oracle モジュールと サード・パーティのモジュールの一部のみが記載されています。全モジュールの 一覧は、『Oracle HTTP Server 管理者ガイド 10g Release 3 (10.1.3)』を参照してく

ださい。

プロセス・アーキテクチャ

OHS は、起動時に親プロセスを開始します。このプロセスでは、構成全体と関連 モジュールがロードされ、事前設定された個数の子プロセスが起動されます(図 2)。(Windows の場合は、複数スレッドを持つ単一子プロセスです。) 親プロセスは、HTTP リクエストのリスニングは行いません。その役目は、子プ ロセスが活動状態になっているか、または負荷の要求に応じて再起動されたかど うかを確認することです。 各子プロセスは、任意の時点で、1 つの HTTP リクエストを処理します。子プロ セスは、(ユーザー構成可能な)mutex メカニズムに基づいて、次のリクエスト の送信先を決めます。 図 2: Oracle HTTP Server(Web サーバー・コンポーネント)のアーキテクチャ

Oracle HTTP Server の機能

セキュリティ

Oracle HTTP Server の Web サーバー・コンポーネントには、Web サーバーの標準 セキュリティ機能が実装され、暗号化、認証および認定を行います。

SSL による暗号化

Web サイトを安全に運営するためには、Secure Sockets Layer が必要です。Oracle HTTP Server は、業界標準の特許取得済アルゴリズムに基づいた SSL 暗号化をサ ポートします。SSL は、Internet Explorer、Netscape のいずれのブラウザでもシー ムレスに動作します。さらに、インフラストラクチャは、データベース・ユーザー と同じ Wallet 情報を共有できるようにアップグレードされています。暗号化機能 を、次に示します。

(8)

• SSL HW Acceleration のサポート: SSL による暗号化は、ソフトウェアで 実行すると時間がかかります。この方法での暗号化を目的とした専用の ハードウェアのサポート機能が、サポートされるようになりました。OHS は、RSA Security Inc.の PKCS #11 仕様に適合する API を使用したハード ウェア・セキュリティ・モジュールに対応します。通常、これらのハー ドウェア・デバイスは、秘密鍵をトークンやスマート・カードに確実に 格納するため、または暗号化処理の時間を短縮するために使用します。 • ディレクトリごとに異なるセキュリティ: この機能により、個々のディレ クトリを異なる強度の暗号化で保護できます。一般的な用途は、アクセ スに対しクライアント側の証明書の認証が必要なディレクトリを持つこ とです。ブラウザからこのディレクトリへ送られる SSL リクエストは、 認証を受けるためのクライアント証明書を取得するようにリダイレクト されます。

• OHS と OC4J間の SSL のサポート: OHS と OC4J との通信は、AJP over SSL プロトコルを介して行われます。これまで、OHS と OC4J 間には、暗号 化されていない AJP プロトコルが使用され、認証もサポートされていま せんでした。OHS に変更が加えられ、プロトコルのサポート機能は、AJP 1.3 over SSL プロトコルまで拡張され、暗号化と認証両方を実行します。

シングル・サインオン

Oracle HTTP Server は、HTTP サーバーに標準装備された基本認証機能をサポート します。後述のシナリオで使用するユーザー名およびパスワードのソースは、暗 号化されたパスワードが入ったフラット・ファイルです。さらに、複数のサイト と複数のアプリケーションでシングル・サインオンをサポートするために、モ ジュール mod_osso が組み込まれています。これによって、エンド・ユーザーの利 便性が向上し(ログインは 1 回のみ)、開発サイクルが短縮されます(ほとんど のセキュリティは宣言によるものです)。

OHS には、シングル・サインオンの重要な拡張機能が追加され、Oracle Application Server 10g Login Server による LDAP ディレクトリの統合が可能になりました。こ の統合は、mod_osso を介して行われます。この統合をわかりやすく説明したシナ リオを、次に示します。

1. 顧客が、http://www.foo.com/subscribe/content というページをリクエストします。 2. OHS は、顧客がログインしていないことを認識し、顧客を Login Server にリ

ダイレクトします。

3. 顧客がログインすると、Login Server は顧客が要求しているページに顧客をリ ダイレクトします。その過程で、Login Server は、mod_osso などのパートナ・ アプリケーションのみが復号化できる、暗号化された Cookie を設定します。 4. OHS がそのリクエストを(再び)受信し、顧客が認証済みであることを示す

正しい Cookie の設定を確認すると、顧客にアクセスを許可します。

5. www.bar.com/subscribe/content というページが顧客からリクエストされました。 別のサーバーでホスティングされたサイトですが、Login Server は同じです。

(9)

6. そのサーバーにある OHS が、リクエストを受信し、Cookie がすでに設定され ていることを認識し、ログインを要求せずに、顧客にアクセスを許可します。 図 3: mod_osso とシングル・サインオン このように、開発者は、必ずしも処理をプログラムすることなく、シングル・サ インオンをベースにしたアプリケーションをデプロイでき、エンド・ユーザーは、 毎回ログインすることなく複数のサイトにアクセスできます。

アプリケーション・ファイアウォール: mod_security

Oracle HTTP Server には、「アプリケーション・ファイアウォール」を提供する mod_security というモジュールが含まれています。このモジュールにより、クロス サイト・スクリプティング攻撃や SQL インジェクション攻撃などのアプリケー ションの脆弱性に対する攻撃を阻止するよう構成できます。これらの攻撃は、ユー ザーが作成したアプリケーションの脆弱性を悪用するため、アプリケーションに 対する攻撃とみなされます。これらの攻撃のほとんどは、アプリケーション開発 時にパラメータ・チェックを怠るという盲点を突いているため、パラメータ・ チェックを追加することで対処できます。ただし、これは多大な時間を必要とし、 コストもかかります。mod_security を使用するソリューションは、パフォーマンス が改善され、実装コストも低減されます。

仮想ホスト

ISP では、複数のホスト名を 1 台のマシンにマッピングし、限られたインフラスト ラクチャで数人をホスティングできるようにするのが一般的です。これらの異な る各ホスト名は、仮想ホストと呼ばれる構成セットアップを介して、それぞれの サイトにマッピングできるようになりました。 仮想ホストでは、デフォルト・ホストのほぼすべての構成設定が使用できます。 つまり、「仮想」ホスティングで消滅する機能はほとんどありません。したがっ て、ホスティングを行う顧客に、顧客固有の構成を制御する機能を与えるか(サー バー全体に影響を与えることはありません)、または本番移行前に様々な構成を 同じサーバーでテストできます。

(10)

分散オーサリングおよびバージョニングのサポート

IETF 標準 WebDAV は、DAV 対応クライアント(MS Office、Windows エクスプロー ラなど)がサーバー上でファイルを編集できるようにする HTTP ベースのプロト コルです。Apache Software Foundation では、サーバーのファイル・ベースのスト レージをサポートする、mod_oradav モジュールを提供しています。この機能に加 え、Oracle HTTP Server には、サーバー・サイド・ストアをデータベースまたは他 のリポジトリとして使用できる機能もあります。 OHS では、この機能をサポートするために、mod_OraDav を提供しています。ま た、Oracle データベースを補助記憶媒体の候補にすることで、この機能を拡張し ました。さらに、他の任意の記憶媒体を補助記憶媒体として実装する場合に簡単 に使用できる API も提供しています。したがって、MS Word を使用して OHS で 管理されるサイトのファイルを直接編集し、格納できます。また、これらの文書 をエンド・ユーザーに気づかれずに、データベースに格納することもできます。

図 4: OraDav のアーキテクチャ

プロキシ・サーバーと URL リライティング

アクティブな Web サイトのディレクトリや URL は、頻繁に変更されます。Oracle HTTP Server では、エンド・ユーザーがブックマークを変更する必要がないように、 URL リライティングをサポートするエンジンを組み込むことで、これらの変更に 簡単に対応できます。フォワード・プロキシ機能とリバース・プロキシ機能もサ ポートされるため、様々なサーバーで処理されるコンテンツを単一サーバーから 表示する操作も簡単にできます。この機能は、プロセスを妨げる可能性のあるモ デム接続をプライマリ・アプリケーション・サーバーから切り離す目的にも、広 く使用されています。

(11)

ロード・バランシング

− mod_oc4j

mod_oc4j は、Oracle Application Server の Oracle Application Server Container for J2EE (OC4J)のインスタンスへ送られるリクエストのロード・バランサです。このロー ド・バランサは、OHS と OC4J 間のリクエストをルーティングする OHS モジュー ルです。Oracle Application Server の Oracle Process Manager and Notification Server (OPMN)コンポーネントにより、mod_oc4j は、様々な OC4J プロセスのステータ

スを常時認識し、稼動状態のプロセスに対してのみリクエストをルーティングし ます。mod_oc4j では、Oracle Application Server Cluster と OC4J グループの概念も 認識されるため、可能なかぎり透過的なフェイルオーバーを提供するようルー ティングされます。リモート・マシンとのセキュアな通信が要件である場合に備 え、mod_oc4j は SSL を使用した AJP に対応します。

ロード・バランシングのアルゴリズム

mod_oc4j には、(a)ラウンド・ロビン、(b)ランダム、(c)メトリックベースの 3 種類 のルーティング・アルゴリズムがあります。このロード・バランシング・アルゴ リズムとルーティング・アルゴリズムには、親和性をベースとした固有のモード もあります。このモードの場合(デフォルト・モード)、これらのアルゴリズム は、ローカル・ノードで使用可能なプロセスが存在しない場合を除き、常にロー カル・ノードにルーティングします。ランダム・アルゴリズムとラウンド・ロビ ン・アルゴリズムには、ウェイト・ベースの特別なモードがあります。ウェイト・ ベースの場合、mod_oc4j は、各ホストに対して構成されたルーティング・ウェイ トに基づいて、リクエストを分散します。

動的検出

新しい動的検出機能により、mod_oc4j ではルーティング表が動的に作成されます。 この中には、使用可能なアプリケーション・コンテキストおよび OC4J のインス タンスのリストが含まれます。動的検出が役立つのは、次の 2 つの分野です。

• ルーティングの関係: Oracle HTTP Server と OC4J 間のルーティングの関 係は、動的に設定されます。すべての OHS は、ルーティング関係にある OC4J からの通知をリスニングします。したがって、各 OHS では、mod_oc4j 構成ファイルに静的に定義された OC4J ではなく、ルーティング先となる OC4J が検出されます。

• マウント・ポイント検出: アプリケーションが OC4J にデプロイされると、 OHS へ送信される Oracle Naming Service のメッセージを介して、そのア プリケーションの名前が通知されます。その後、mod_oc4j 内のルーティ ング表が更新されます。mod_oc4j.conf での構成変更(マウント・ポイント など)は不要で、プロセスを再起動する必要はありません。

サード・パーティの Web サーバーの統合

OHS は非常に高性能な Web サーバーですが、別の Web サーバー標準を使用する 企業も数多く存在します。Oracle Application Server 10g の強力な機能を企業が活用

(12)

Proxy プラグイン

このコンポーネントは、IIS サーバーまたは SunONE サーバーに「プラグイン」し、 HTTP を介して Oracle Application Server 10g にリクエストをプロキシします。これ らの Web サーバーは、Oracle Application Server 10g リクエストを Oracle Application Server 10g にルーティングしながら、これまでどおり動作を継続します。この構成 により、サード・パーティのサーバーのユーザーは、PL/SQL、FastCGI などの Oracle Application Server 10g サーバーのすべての機能へアクセスできます。

Proxy プラグインは、バックエンドの複数の Oracle Application Server 10g インス トールをサポート、つまりリクエストをルーティングします。図 5 に、Microsoft IIS で使用する Proxy プラグインを示します。 図 5: Proxy プラグインのアーキテクチャ

OSSO プラグイン

サード・パーティのサーバーのユーザーも、OSSO プラグインによりシングル・ サインオン機能を使用できます。このソリューションは、OHS ではなく IIS また は SunONE を Web サーバーとして使用するユーザーに、Oracle のシングル・サイ ンオン機能を提供します。

OC4J プラグイン

mod_oc4j のルーティング機能とロード・バランシング機能は、IIS サーバーSunONE サーバーと Apache サーバーのプラグインとして使用できます(Apache サーバーで mod_oc4j を使用するには、mod_onsint が必要です)。このプラグインは、ロード・ バランシング・オプションである Oracle Application Server ポート・トンネリング と Oracle Application Server Container for J2EE(OC4J)へのダイレクト・ルーティ ング(AJP over SSL など)を提供します。このプラグインを使用すると、OHS を 介して OC4J にリクエストをルーティングする必要がありません。リクエストは、 サード・パーティのサーバーから直接適切な OC4J に送られ実行されます。

(13)

IPv6 のサポート

現在主流であるインターネット・プロトコルのバージョンは、IPv4(Internet Protocol version 4)です。このプロトコルは、インターネットが急激に普及した時期、イン ターネット・コミュニティに大きく貢献しました。IPv4 の問題は、IP アドレス長 が 32 ビットで、インターネットのエンド・ポイント全体で使用可能なアドレス数 が 40 億前後に限定される点です。 IPv4 のアップグレード版が開発され標準化されました。IPv6 と呼ばれるこのプロ トコルは、普及し始めたばかりです。IPv6 の最大の長所は、非常に大きなアドレ ス空間(128 ビット)を持つため、使用可能なアドレスが枯渇しない点です。 Apache 2.0 は、IPv6 に移行されましたが、Apache 1.3 はまだ移行されていません。 したがって、IPv6 に対応する必要がある場合は、Apache 2.0 に基づく OHS を使用 する必要があります。

PL/SQL を使用する動的コンテンツ: PSP と mod_plsql

Java Server Pages と概念が類似した PL/SQL Server Pages(PSP)モジュールでは、 HTML ページで PL/SQL をスクリプト言語として使用できます。ページはストア ド・プロシージャに変換され、図 6 で説明したメカニズムによって、出力がブラ ウザに送信されます。 OHS には、ブラウザからデータベースのストアド・プロシージャをリクエストで きるモジュール(mod_plsql)が含まれています。これは、最もポピュラーな機能 の 1 つです。さらに、ディスク・ベースのキャッシュのため、パフォーマンスも 向上します。すべての PL/SQL プロセスは、継続してデータベースで実行されま す。 図 6: PL/SQL Gateway のアーキテクチャ 次に、mod_plsql に送られるリクエストの流れを示します。 1. リクエストが OHS に送られます。登録されたモジュールに応じて、OHS は、 リクエストを処理するモジュールを判断します。この場合は mod_plsql です。 2. mod_plsql は、データベースに接続し、コール・パラメータを準備し、データ ベース内の PL/SQL プロシージャを起動します。 3. PL/SQL プロシージャは、データベースからアクセスしたデータとストアド・ プロシージャを使用して HTML ページを生成します。OHS では、このタスク を簡単に行うためにデータベースにインストールするパッケージが提供され ます。

(14)

mod_plsql は、OHS の子プロセス内で実行されます。各子プロセスは、データベー スへの接続を保持し、データベースをアクティブ状態に保ちます。この接続は、 OHS の子プロセス間で共有されません。このため、大きなサイトの接続数は、子 プロセスの数(および他の構成設定)に依存します。

Perl と Server Side Includes を使用する動的コンテンツ

Server Side Include は、すべてのサイトのページ全体で動的コンテンツまたは定型 的静的コンテンツを簡単に追加する手段を提供します。通常、このディレクティ ブは、ヘッダーまたはフッター情報を追加する場合に使用されます。Oracle HTTP Server でサポートされる特別なディレクティブは、特定のタイプのファイルまた は特定の仮想ホストに対してのみ使用可能です。

Perl は、Web を対象としたスクリプトの作成と CGI プログラムの開発で、最も一 般的に使用される言語の 1 つです。ただし、Perl インタプリタは大きなプログラ ムで、起動と停止に時間がかかります。OHS では、Perl インタプリタを常に実行 状態にし、メモリーに常駐させ、このプログラムの実行を最適化します。Web リ クエストを処理できる新しい Perl モジュールを追加すると(図 1)、Web サーバー 機能も拡張できます。

CGI と FastCGI を使用する動的コンテンツ: Java/C/C++

CGI プログラムを作成する機能は、ほとんどすべての Web サーバーで共通してい ます。ただし、OHS には、リクエストのライフ・サイクルが経過した後も、これ らのプログラムを存続させる機能が追加されています。したがって、ライフ・サ イクル経過後のリクエストで、CGI プログラム(および関連するデータベース接 続)の再起動のオーバーヘッドが発生することはありません。そのため、パフォー マンスが大幅に向上します。 これを実現するフレームワークは、FastCGI と呼ばれます。このフレームワークで は、C と C++に加え Java プログラム(ただし、J2EE の出現で、Java ベースの CGI は一般的ではありません)も実行できます。 図 7: FastCGI のアーキテクチャ クライアント・リクエストが到着すると、Web サーバーは FastCGI プロセスへの 接続を開始します。このプロセスにより、アプリケーションのエントリ・ポイン トが起動され、その結果が返されます。FastCGI プロセスは、同一マシンまたは異 なるマシンのどちらでも実行可能なため、配置を複数のオプションから選択でき ます。構成ベースのマルチ・プロセスは、シングル・スレッドの FastCGI アプリ ケーションに自動的に組み込まれます。マルチ・スレッドの FastCGI アプリケー ションは、単一プロセスを介して処理されます。

(15)

FastCGI は、レスポンダおよびオーソライザとして機能します。レスポンダとして 機能する場合は、HTTP リクエストに対するレスポンスを生成し、オーソライザ として機能する場合は、Web サーバーへの認定リクエストを受理または拒否しま す。

Dynamic Monitoring Service

Dynamic Monitoring Services(DMS)メトリックには、Oracle HTTP Server と OC4J プロセスの実行時パフォーマンス統計が表示されます。アプリケーションの実行 に伴い、詳細なパフォーマンス統計が DMS によって収集されます。このデータに より、重要なリクエスト処理の継続時間やステータス情報を監視できます。この 情報を使用すると、パフォーマンスのボトルネックを突き止め、Application Server をチューニングし、スループットを最大にしてレスポンス時間を最小にすること ができます。

Oracle Process Manager and Notification Server

Oracle Application Server は、Oracle HTTP Server プロセスのプロセス管理、異常終 了検出、フェイルオーバーを実行する Oracle Process Manager and Notification Server (OPMN)と統合し、高可用性を実現するインフラストラクチャを提供します。

ポート・トンネリング

Oracle Application Server 10g のポート・トンネリング機能により、複数の OC4J プ ロセスとの通信に必要なポート数は 1 つになります。次の図は、Oracle Application Server のポート・トンネリング機能を使用した Oracle Application Server 10g の構成 を示しています。このプロセスは、OHS と OC4J との接続の通信コンセントレー タとして機能します。

OHS は、OC4J へは直接接続せず、Oracle Application Server のポート・トンネル・ プロセスに接続します。接続後、ポート・トンネルにより通信が OC4J に転送さ れます。Oracle Application Server の各ポート・トンネル・プロセスにより、リク エストは複数の OC4J にルーティングされます。この接続集中化により、内部ファ イアウォールで開く必要があるポートは、各 OC4J コンテナに対して 1 つではな く、Oracle Application Server の各ポート・トンネル・プロセスに対して 1 つのみ になります。

(16)

図 8: Oracle Application Server のポート・トンネル

OHS と Oracle Application Server のポート・トンネル間の通信は、SSL を使用して 暗号化できます。認証は、SSL クライアント証明書を使用して接続が確立された ときに行われます。

顧客によるプルーフポイント

Digital River 社

「Oracle Application Server の動作速度は、 弊社がこれまで使用していた Java アプ リケーション・サーバーと比較にならな い ほ ど 高 速 で す 。 Oracle Application Server への移行により、基礎から Oracle 上 に 構 築 さ れ た 1 つ の 統 合 プラッ ト フォーム上で運営できるようになりまし た。」

Digital River 社 CIO、Marty Boos 氏

1994 年に設立された世界有数の E-Commerce アウトソース・プロバイダである Digital River 社は、すべての機能を完備した E-Commerce システムとサービスによ り、クライアント側のコスト削減および業務拡大を図っています。同社は、Oracle Application Server を利用して何千もの顧客の E-Commerce オペレーションをホス ティングし、1 日あたり最大 40,000 件の注文を処理し、150 万の動的 Web ページ を生成しています。数あるクライアントには、Symantec、3M、Novell、Autodesk、 Staples.com などが名を連ねています。

Digital River 社は、BEA WebLogic から Oracle Application Server へ切り替え、Oracle Application Server と Oracle Database 上で次世代の E-Commerce プラットフォーム を標準化しました。「Oracle Application Server の動作速度は、弊社がこれまで使 用していた Java アプリケーション・サーバーと比較にならないほど高速です。 Oracle Application Server への移行により、基礎から Oracle 上に構築された 1 つの 統合プラットフォーム上で運営できるようになりました」と、CIO の Marty Boos 氏は述べています。さらに、BEA WebLogic から Oracle Application Server への切 り替えにより、Digital River 社のメンテナンス/サポート・コストは 44%減、将来 の投資コストは 69%減となりました。

(17)

新しいプラットフォームが、その導入直後、同社にもたらしたメリットは、オラ クル社の革新的な Web キャッシュ・テクノロジによるパフォーマンスの飛躍的な 向上です。平均ページ・ロード時間は 1/2∼1/5 に短縮され、動的 Web ページを生 成するための SQL データベース・コールの平均回数は 1/100 に減少しました。 「Oracle Application Server の Web キャッシング機能を使用すれば、中間層に必要な

スケーラビリティをすべて達成できることがわかった。要は、サーバー・ハード ウェアにかかる巨額なコストを削減すること」と Boos 氏は述べています。

Poste Italiane(www.poste.it)

Poste Italiane Group はイタリアに拠点を置く複合企業で、基幹的な郵政業務、通信、 物流、金融サービスをイタリア全土に展開しています。Poste Italiane Group の傘下 には、速達便と物流を扱う SDA Group、大都市でバイク便サービスを提供する Mototaxi、インターネット・サービスを管理する Postecom、生命保険および投資 ソリューションを提供する PosteVita and BancoPosta Fondi、欧州でのハイブリッド 電子メールおよびドキュメント処理のリーダーである Postel などが含まれていま す。Poste Italiane は、小売り業界、営利事業、公共業務分野など、複数の業界の複 雑な物流および通信ビジネス・プロセスをアウトソース・ベースで管理していま す。また、イタリア全土で 14,000 か所以上の郵便局もすべて管理しています。 Poste Italiane の年金支払いシステムは、世界最大かつ最高データ処理速度のメイン フレーム・アプリケーションの 1 つで、600 万人以上の公務員に対して 1 日あた り 150 万件の年金処理を扱う能力があります。Poste Italiane は、メンテナンス・コ ストの急騰と柔軟性のないメインフレームに直面し、アプリケーションをメイン フレームから AIX オペレーティング・システム上で稼働する世界最大規模かつ最 高データ処理速度の J2EE アプリケーションに移行しました。サーブレット、ス テートレス Session Bean、コンテナ管理による永続性を持つ Entity Bean に基づい て構築されたこのシステムは、Oracle Database RAC(Real Application Cluster)を アクセスする Oracle Application Server の 2 つのインスタンスに配置されました。 アプリケーション・サーバーのインスタンスとデータベース・サーバーの両方が、 障害時リカバリのためにリモート・サイトにレプリケートされます。

Poste Italiane では、Oracle Application Server により、長年使用していた高価でメン テナンスが困難なメインフレームからダウンサイジングを実現し、それと同時に ビジネス・ロジックをリエンジニアリングし、社内の多数のグループ、部門およ び従業員全体がアクセスできるシステムの範囲を拡大し、その操作を簡単にしま した。Oracle Application Server 10g により、このミッション・クリティカルなシス テムの作動に必要な業界最高のパフォーマンス、スケーラビリティおよび可用性 機能も実現しました。

(18)

まとめ

Oracle HTTP Server は、実証済みの Apache テクノロジに基づいており、豊富な機 能を備えた企業情報サイトに必要なすべての機能を提供します。OHS では、 WebDAV がサポートされ、Oracle Database 10g を補助記憶媒体として使用します。 シングル・サインオン、mod_oc4j ロード・バランシング、AJP over SSL などの Oracle Application Server 10g の機能を、IIS、SunONE、Apache など他の Web サーバーで 使用するためのプラグイン・コンポーネントが提供されます。

OHP には、動的 Web アプリケーションを PL/SQL、Perl、PHP、Server Side Include、 C/C++などの複数の言語で作成する機能があります。

新しい動的検出機能により、アプリケーションのマウント・ポイントおよびルー ティング関係は、クラスタ全体で動的に検出されます。さらに、クラスタ内のプ

ロセス障害を監視し、ルーティング・テーブルを透過的に更新してロード・バラ

(19)

Oracle Application Server 10g Release 3(10.1.3)Oracle HTTP Server の概要 2005 年 12 月 著者: Shall Goel Oracle Corporation World Headquarters 500 Oracle Parkway Redwood Shores, CA 94065 U.S.A. 海外からのお問合せ窓口: 電話: +1.650.506.7000 ファックス: +1.650.506.7200 www.oracle.com Copyright © 2005, Oracle. 無断転載を禁ず。 この文書はあくまで参考資料であり、掲載されている情報は予告なしに変更されることがあります。 オラクル社は、本ドキュメントの無謬性を保証しません。また、本ドキュメントは、法律で明示的または暗黙的に記載 されているかどうかに関係なく、商品性または特定の目的に対する適合性に関する暗黙の保証や条件を含む一切の保証 または条件に制約されません。オラクル社は、本書の内容に関していかなる保証もいたしません。また、本書により、 契約上の直接的および間接的義務も発生しません。本書は、事前の書面による承諾を得ることなく、電子的または物理 的に、いかなる形式や方法によっても再生または伝送することはできません。

表 2 に、 Apache 1.3 ベースの OHS に同梱される Apache Software Foundation の主要 モジュールを示します。
表 2  Apache 1.3 ベースの OHS に付属する Oracle 以外の主要なモジュール  モジュール バージョン 内容
図 2: Oracle HTTP Server ( Web サーバー・コンポーネント)のアーキテクチャ
図 4: OraDav のアーキテクチャ
+2

参照

関連したドキュメント

Amortized efficiency of list update and paging rules.. On the

SUSE® Linux Enterprise Server 15 for AMD64 & Intel64 15S SLES SUSE® Linux Enterprise Server 12 for AMD64 & Intel64 12S. VMware vSphere® 7

Vondrák: Optimal approximation for the submodular welfare problem in the value oracle model, STOC 2008,

A major challenge involved in orbit design within the context of the circular restricted three-body problem CR3BP is the organization of the vast set of options that is available

ESET Server Security for Windows Server、ESET Mail/File/Gateway Security for Linux は

The performance measures- the throughput, the type A and type B message loss probabilities, the idle probability of the server, the fraction of time the server is busy with type r,

Another new aspect of our proof lies in Section 9, where a certain uniform integrability is used to prove convergence of normalized cost functions associated with the sequence

mkdocs serve - Start the live-reloading docs server.. mkdocs build - Build the