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

Oracle Application Server 10gリリース2( )Oracle HTTP Serverの概要

N/A
N/A
Protected

Academic year: 2021

シェア "Oracle Application Server 10gリリース2( )Oracle HTTP Serverの概要"

Copied!
20
0
0

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

全文

(1)

Oracle Application Server 10g リリース 2

(10.1.2.0.2)Oracle HTTP Server の概要

オラクル・ホワイト・ペーパー

(2)

Oracle Application Server 10g

Oracle HTTP Server の概要

概要 ... 3

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

Webサーバー ... 4

「サポートする」アプリケーション・サーバー ... 4

OHS: Webサーバー ... 5

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

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

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

OHSの構成... 7

セキュリティおよびシングル・サインオン ... 8

PKCS #11 準拠のハードウェア・アクセラレータのサポート ... 9

仮想ホスト... 9

WebDAVサポート ... 10

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

Oracle Application Server 10gのサード・パーティWebサーバー統合 ... 11

mod_security ... 12

Apache 2.0 ... 12

IPv6 ... 13

OHS: 「サポートする」アプリケーション・サーバー... 13

PLSQLによる動的コンテンツ: PSPおよびmod_plsql ... 13

PerlおよびServer Side Includesのある動的コンテンツ... 14

CGIおよびFastCGIによる動的コンテンツ: Java/C/C++... 14

mod_oc4j... 15

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

Oracle HTTP Server 10g Release 2 の新機能 ... 16

Apache 1.3 ベースのOHS... 16

Apache 2.0 ベースのOHS... 16

IPv6 のサポート ... 16

スタンドアロン・バージョン... 16

mod_php ... 17

mod_security ... 17

顧客のプルーフポイント ... 17

Digital River... 17

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

結論 ... 18

(3)

Oracle Application Server 10g

Oracle HTTP Server の概要

概要

Oracle Application Server 10g は、多数のサブ製品で構成されたフル装備のアプリ ケーション・サーバーです。アプリケーション・サーバーが外部エンティティと 通信する主要なプロトコルは HTTP であるため、これらのサブ製品のほとんどは HTTP サーバーに依存します。 Oracle HTTP Server(OHS)は、インターネットの HTTP プロトコルを処理する重 要なインフラストラクチャを提供します。OHS は、プロセス対プロセスで生成さ れたリクエストと、ユーザーが生成したリクエストに対して、ブラウザから応答 を返すために使用されます。OHS で注目すべき点は、そのテクノロジ、静的コン テンツおよび動的コンテンツの両方を処理する機能、Oracle および Oracle 以外の 製品と統合する機能です。

テクノロジ − OHS は、Apache 1.3 と Apache 2.0 の実証済オープン・ソース・テク ノロジに基づいています。Apache 2.0 に基づく OHS バージョンは、現在、Internet Protocol、IPv6 の最新バージョンに対応しています。さらに、現在 OHS は、オー プン・ソース製品 mod_security を介したアプリケーション・ファイアウォール機 能を提供しています。 静的コンテンツおよび動的コンテンツ − OHS は、直接または WebDAV 標準のよ うな標準インタフェースにより、静的コンテンツを処理します。動的コンテンツ には非常に柔軟性があり、Java、C/C++、Perl、PHP、PLSQL など多数の言語がコ ンテンツ生成のために用意されています。 統合 − OHS にはスタンドアロン配置オプションもありますが、Oracleクラスタ化、 監視、シングル・サインオンまたは Web キャッシュ・テクノロジと高度に統合さ れた方法で配置することもできます。また、オラクル社は、Oracle Application Server を Oracle 以外の HTTP サーバーと統合するプラグイン(プロキシ、OC4J および OSSO)を提供しています。 このホワイト・ペーパーでは、Oracle HTTP Server(OHS)の機能の概要を説明し ます。汎用 Apache HTTP サーバーをベースにしています。今回のリリースでは、 HTTP サーバーの Apache 1.3 と Apache 2.0 シリーズをベースにしたバージョンが あります。

(4)

OHS: 高レベル機能の概要

次に、Oracle HTTP Server 内で使用できるすべての機能およびコンポーネントのサ マリーを示します。

Web サーバー

• Apacheベース − OHSは、実証済Apache Webサーバーをベースにしています。 OHSには 2 つのバージョンがあります。Apache 2.0 コードをベースにしたも のとApache 1.3 コードをベースにしたものです。 • セキュリティおよびシングル・サインオン − OHSは、SSL/TLS、基本認証お よび様々なレベルの認可をサポートします。シングル・サインオンの宣言型 モデルもサポートします。 • 仮想ホスト − ISPは、Webサーバーのシングル・インスタンスで複数の顧客を ホスティングすることができ、それらを個別に構成できます。 • WebDAV − コンテンツに対しては、ファイル・ベースの格納に加えOracleリ ポジトリをサポートします。MS Officeまたは他のDAVクライアントは、サー バーのファイルを編集できます。 • プロキシ・サーバーおよびURLリライティングでは、外部から見えるURLに 影響を与えることなく、サイトを短時間で再編成できます。

• プラグインのコンポーネントにより、IIS、SunONEおよびApache Web Server は、Oracle Application Server 10gまたはOracle Application Server Container for J2EE(OC4J)のフロントエンド処理に使用できます。OC4JプラグインはSSL を使って、直接OC4Jへのルーティングおよびロード・バランシングをサポー トします。 • mod_securityは、「アプリケーション・ファイアウォール」によりユーザー・ アプリケーション・プログラムの脆弱性に対する侵入を防止します。

「サポートする」アプリケーション・サーバー

• PLSQLストアド・プロシージャは、ブラウザから容易にアクセスできるよう になりました。 • PSP [PLSQL Server Pages]により、PLSQLは、HTMLとともにスクリプト言語 として使用できます。 • Perlサポートはmod_perlを介して提供され、毎回Perlインタプリタを再起動す る必要がありません。 • PHPサポートは、ユーザーがmod_phpをOHSにプラグインしたときに提供され ます。

• Server Side Includesでは、ヘッダーまたはフッターを含める標準メカニズムが 提供されます。

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

(5)

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

OHS: Web サーバー

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

Web サーバーのアーキテクチャはモジュール化されています。中核となる Web サーバー(HTTP プロトコル用)は非常に小さいものです。すべての機能は、プ ラグイン式のモジュールとして実装され、リクエスト・ライフサイクルの適切な 場所で起動されます(図 1)。 図 1: HTTP リクエスト-レスポンス・サイクル モジュール(つまり、その API)は、リクエスト・ライフサイクルの適切な場所 で自動的に起動されます。 顧客は、必要に応じて、OHS 機能を補うために独自のモジュールを OHS に追加 できます。トラブルシューティングを妨げる場合、Oracle サポートは構成からユー ザー・モジュールの削除を要求する場合があります。 このモジュール概要は、構成の設定および関連したエラーの理解に役立ちます。

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.2.0.2 AJP 1.3 プロトコルを使用して、OHS から Oracle Application Server Container for J2EE(OC4J)への着信リクエストの構 成可能でインテリジェントなルーティングを行います。

mod_oradav 10.1.2.0.2 mod_dav の拡張実装で、様々なスキーマでの WebDAV ク

ライアントと Oracle データベースとの接続、コンテンツの 読取りおよび書込み、問合せ、ドキュメントのロックを可 能にします。

mod_ossl 10.1.2.0.2 Oracle HTTP Server に強力な暗号化機能を提供します。SSL

バージョン 3 に対応する Oracle の SSL 実装および Certicom 社と RSA Security 社のテクノロジに基づいたモジュールで す。

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

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

mod_plsql 10.1.2.0.2 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.1 の Perl を使用します。

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

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

注意: 前述の表には、Oracle HTTP Server に付属している Oracle モジュー ルおよびサード・パーティのモジュールの一部が記載されています。全 モジュールの一覧は、『Oracle HTTP Server 管理者ガイド 10g R2 (10.1.2)』を参照してください。

(7)

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

起動時、OHS は親プロセスを開始します。このプロセスでは、全構成および関連 モジュールがロードされ、子プロセスの構成済番号が発生します。(Windows で は、複数スレッドを持つ単一の子プロセスです。) 親は HTTP リクエストを一切リスニングしません。その唯一の仕事は、子プロセ スが活動状態であることの確認、または負荷の要求に合せた子プロセスの再起動 の確認です。 図 2: Oracle HTTP Server(Web サーバー・コンポーネント) 各子プロセスは、任意に単一の HTTP リクエストを処理します。子は、(ユーザー 構成可能な)ミューテックス・メカニズムに基づき、次のリクエストを誰が受け るかを判断します。

OHS の構成

1. サーバー設定は、親プロセス(一般的に所定のOHSインスタンス)に適 用されます。 2. デフォルト・ホスト設定は、OHSでホスティングされるデフォルトWeb サイトに適用されます。 3. 仮想ホスト設定は、特定の仮想ホストに適用されます。(仮想ホストの 詳細は、後述) 4. ディレクトリ、ロケーションまたはファイル設定は、特定のディレクト リのすべてのファイル、または特定の種類のすべてのURL、または特定 のファイルにマッピングするすべてのURLにも適用されます。 5. ディレクトリ設定は、特殊ファイル(.htaccess)にそれらの設定をその ディレクトリに入れることで適用することもできます。 図 3: 優先順位階層

(8)

OHS の構成は、グラフィカル・ユーザー・インタフェース(GUI)を使用する Oracle Application Server Control Console の軽量なクライアントを介して行なわれます。 Oracle Application Server Control は構成の構文を規定し、タスク指向方式でコマン ドをグループ化するためにウィザードを利用します。Oracle Application Server Control は、構成エラーの検出を困難にするタイプ・ミスや不正確な構文が発生す る可能性を最小限にします。

各設定の優先順位階層を、図 3 に示します。これらの設定の複数レベルは、ISP で必要な柔軟性のある配置で非常に役立ちます。

それらを理解することで、Oracle Application Server Control を介した適切な構成に 役立ちます。

セキュリティおよびシングル・サインオン

Oracle HTTP Server の Web サーバー・コンポーネントでは、標準 Web サーバーの セキュリティ機能である暗号化、認証および認可が提供されます。

暗号化については、OHS により標準 SSLv3 および TLS サポートされます。さら に、それにより、サーバー証明書を Oracle 10g Database および他の Oracle 製品と 共有できます。

OHS は、静的および動的アプリケーションに対しグループ・ベースの認可スキー ムを提供します。ただし、これらのグループはフラット・ファイルで定義する必 要があります。

認証に関しては、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 がそのリクエストを(再び)受信すると、OHS は正しい Cookie が設定

されたことを通知して、顧客が認証されたことを示し顧客にアクセスを許可 します。 5. 次に顧客は、www.bar.com/subscribe/content のページを要求します。(おそら く)異なるサーバーでホスティングされるサイトですが、同じ Login Server に向けられています。 6. OHS は、そのリクエストを(新しいサーバーで)受信し、Cookie がすでに設 定されていることを認識し、ログインを要求することなく顧客にアクセスを 許可します。

(9)

図 4: mod_osso およびシングル・サインオン このように、開発者はプログラムする必要なく、シングル・サインオンをベース にしたアプリケーションをデプロイでき、エンド・ユーザーは、毎回ログインせ ずに複数のサイトにアクセスできます。 この機能により、個々のディレクトリを異なる強度の暗号化で保護できます。共 通のアプリケーションは、アクセスに対しクライアント側の証明書の認証を要求 するディレクトリを持ちます。このディレクトリに対するブラウザからの SSL リ クエストは、認可のためクライアント証明書を取得するようリダイレクトされま す。

PKCS #11 準拠のハードウェア・アクセラレータのサポート

OHS は、RSA Security 社の PKCS #11 仕様に適合する API を使用したハードウェ ア・セキュリティ・モジュールに対応します。通常これらのハードウェア・デバ イスは、秘密鍵をトークンまたスマート・カードに確実に格納するため、または 暗号化処理を促進するために使用します。たとえば、nCipher 社製のハードウェ ア・セキュリティ・モジュールは、OHS で動作することが証明されています。こ れらのモジュールを使用すると、確実に鍵を格納し暗号化処理を分離することが できます。

仮想ホスト

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

(10)

WebDAV サポート

DAV とは、分散オーサリングとバージョニングのことです。これは、基本プロト コルとして HTTP を使用する IETF 標準です。それにより、クライアント(MS Office、 Dreamweaver または他のツール)は、WebDAV が使用可能なサイトのドキュメン トを編集できます。このプロトコル(たとえば、Apache の mod_dav)の大部分の 実装により、ファイル・システムは、サーバー上の補助ストレージとしてこれら の編集可能ファイルに対処できます。

OHS は、mod_OraDav を提供してこの機能をサポートし、Oracle データベースを 補助ストレージとすることにより、この機能を拡張しました。さらに、補助スト レージとして他のストレージを提供するために、使いやすい API も提供します。 これにより、MS Word を使用して OHS で稼働するサイトのファイルを直接編集 し、格納できます。また、それらのオフィス・ドキュメントをエンド・ユーザー に対して透過的に、データベースに格納することもできます。 図 5: OraDav アーキテクチャ

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

「アクティブな」Web サイトは頻繁に変更されます。さらに、ディレクトリ構造や URL も変わることがあります。Oracle HTTP Server では、URL リライティングを サポートするエンジンを提供し(エンド・ユーザーがブックマークを変更する必 要がないようにして)、そのような変更を容易にします。また、フォワードおよ びリバースのプロキシ機能もサポートし、異なるサーバーで処理されるコンテン ツを単一のサーバーによる処理のように表示します。この機能は、プロセスを妨 げる可能性のあるモデム接続をプライマリ・アプリケーション・サーバーから分 離させる場合にも頻繁に使用されます。

(11)

Oracle Application Server 10g のサード・パーティ Web サーバー統合

OHS は様々な機能を提供しますが、企業により Web サーバー標準が異なります。 Oracle Application Server 10g の強力な機能をそれらの企業が活用できるようにす るため、サード・パーティ Web サーバーと Oracle Application Server 10g を統合す る様々なプラグインが提供されています。

プロキシ・プラグイン

このコンポーネントは、IIS または SunONE サーバーに「プラグイン」し、HTTP を使用して Oracle Application Server 10g にリクエストをプロキシします。したがっ て、これらの Web サーバーは、以前と同様に動作し続ける一方で、Oracle Application Server 10g の特定のリクエストを Oracle Application Server 10g にルー ティングします。この構成により、サード・パーティ・サーバーのユーザーは、 PLSQL、FastCGI などの Oracle Application Server 10g サーバーのすべての機能にア クセスできます。

プロキシ・プラグインは、バックエンドで複数の Oracle Application Server 10g イ ンストールにサポート(つまり、ルーティング)を提供します。図 6 に、Microsoft IIS で使用されるプロキシ・プラグインを示します。 図 6: プロキシ・プラグイン・アーキテクチャ OSSO Plug-In サード・パーティ・サーバーのユーザーは、OSSO プラグインを介してシングル・ サインオン機能を使用できます。このソリューションは、OHS のかわりに、Web サーバーとして IIS または SunONE を使用するユーザーに Oracle のシングル・サ インオン機能を提供します。

(12)

OC4J プラグイン

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

mod_oc4j は、Apache Software Foundation の Apache Web Server と併用することも できます。mod_oc4j を Apache サーバーで使用する場合は mod_onsint が必要です。

mod_security

mod_security は、「アプリケーション・ファイアウォール」を提供するプラグイン です。クロスサイト・スクリプティング攻撃や SQL インジェクション攻撃などの アプリケーションの脆弱性に対する攻撃を阻止するよう構成できます。 (http://www.securityfocus.com/infocus/1768 の例を参照してください。)これらの攻 撃は、ユーザーが作成したアプリケーションの脆弱性を利用するため、アプリケー ションに対する攻撃と考えられます。これらの攻撃では、アプリケーション開発 者がパラメータを確認していないことを利用しているため、パラメータを適切に 確認することで修正できます。ただし、これは多大な時間を必要とし、コストも かかります。mod_security を使用するソリューションは、 パフォーマンスに優れ、 実装コストも低く抑えることができます。OHS および非 OHS Web サーバー間で 移植可能なアプリケーションで、mod_security への依存に関する問題がある場合は、 modsecurity.com から mod_security を無償でダウンロードすることもできます。

Apache 2.0

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

Apache 1.3 をベースとする OHS と、Apache 2.0 をベースとする OHS のどちらを使 用するかは、顧客によって異なります。Apache 1.3 の方が、本番サービスに移行 してからの年数が長く、またインターネットに接続された Apache 1.3 バージョン の HTTP サーバーの数は、Apache 2.0 の 4 倍を超えます(www.securityspace.com - 2004 年 12 月を参照)。したがって、信頼性の点から多くのユーザーが Apache 1.3 ベースの OHS を選択します。Apache 1.3 モジュールは Apache 2.0 と互換性がない ため、Apache 1.3 タイプのモジュールを使用するほとんどの顧客は、Apache 1.3 ベースの OHS を選択します。現時点では、mod_oradav、mod_plsql または mod_ dms は、Apache 2.0 バージョンの OHS では使用できません。そのため、これらのモ ジュールに依存する顧客は、Apache 1.3 ベースの OHS を使用します。

(13)

Apache 2.0 には、IPv6 アドレスと IPv4 アドレス間を扱うプロキシとしての機能が あります。Apache 1.3 ベースの OHS よりも Apache 2.0 ベースの OHS を選択する 理由としては、「Apache 2.0 モジュールを使用している」、「Windows OS マシン 上での実行速度を速くしたい、または速くする必要がある」、「IPv6 の機能を必 要としている」などがあげられます。

IPv6

現在主流を占めるインターネット・プロトコルのバージョンは、IPv4(インター ネット・プロトコル・バージョン 4)と呼ばれています。このプロトコルは、イ ンターネットの成長期において、インターネット・コミュニティに大きく貢献し ました。IPv4 に関する問題は、その IP アドレスの長さがわずか 32 ビットである ため、インターネット・エンド・ポイント全体で使用可能なアドレスが約 40 億し かないことです。 IPv4 のアップグレード版が開発され標準化されました。IPv6 と呼ばれるこのプロ トコルは、現在普及段階にあります。IPv6 の最大の長所は、非常に大きいアドレ ス空間(128 ビット)を持つため、使用可能なアドレスが不足しないところです。 Apache 2.0 は、IPv6 に移行されましたが、Apache 1.3 はまだ移行されていません。 したがって、IPv6 に対応する必要があるユーザーは、Apache 2.0 をベースとする OHS を使用する必要があります。

OHS: 「サポートする」アプリケーション・サーバー

PLSQL による動的コンテンツ: PSP および mod_plsql

コンセプトが JavaServer Pages と類似した PLSQL サーバー・ページ・モジュール により、HTML ページでスクリプト言語として PLSQL を使用できます。そのペー ジはストアド・プロシージャに変換され、図 7 で説明するメカニズムにより出力 がブラウザに送信します。 OHS には、ブラウザからデータベースのストアド・プロシージャへのリクエスト を可能にするモジュール(mod_plsql)が含まれています。これは、最もポピュラー な機能の 1 つです。さらに、ディスク・ベースのキャッシュのためにパフォーマ ンスも向上します。すべての PLSQL プロセスは、継続してデータベースで実行さ れます。 図 7: PL/SQL Gateway アーキテクチャ

(14)

次に、リクエストの mod_plsql への流れを示します。 1. OHS はリクエストを受信します。登録されたモジュールに応じて、OHS はリ クエストを処理するモジュールを判断します。この場合は mod_plsql です。 2. mod_plsql はデータベースに接続し、コール・パラメータを準備し、データベー スの PLSQL プロシージャを起動します。 3. PLSQL プロシージャは、データベースからアクセスされるデータおよびスト アド・プロシージャを使用して HTML ページを生成します。このタスクを簡 単に行うためにデータベースにインストールできるパッケージが提供します。 4. レスポンスは mod_plsql に戻されます。mod_plsql は、それをブラウザに返送 します。 mod_plsql は、OHS の子プロセス内で実行されます。したがって、各子プロセス は、データベースとの接続を持ち、その活動状態を維持します。この接続は、OHS の子プロセス全体で共有されません。したがって大きいサイトの接続数は、子プ ロセスの数(および他の構成)に依存します。

Perl および Server Side Includes のある動的コンテンツ

Server Side Include は、すべてのサイトのページ全部にわたって動的または均一の 静的コンテンツを追加する簡単な方法を提供します。その代表的な使用例として、 ヘッダーまたはフッター情報があります。Oracle HTTP Server は特別なディレク ティブを特定のタイプのファイルまたは特定の仮想ホストのみに対して使用可能 にします。

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

CGI および FastCGI による動的コンテンツ: Java/C/C++

CGI プログラムの書込み能力は、ほとんどの Web サーバーで共通です。ただし、 OHS では、これらのプログラムはリクエストのライフ・サイクル以降も動作を継 続できます。したがって、以後のリクエストが、CGI プログラム(および関連す るデータベース接続)の再起動によるオーバーヘッドの発生につながることはあ りません。結果として、パフォーマンスを著しく向上させます。 それを可能にするフレームワークは、FastCGI と呼ばれます。C および C++に加え て、JAVA プログラム(J2EE の出現で JAVA ベースの CGI は一般的ではありませ んが)も実行できます。

(15)

図 8: FastCGI アーキテクチャ クライアント・リクエストが受信されると、Web サーバーは FastCGI プロセスへ の接続を開始し、アプリケーションのエントリ・ポイントを起動してその結果を 戻します。FastCGI プロセスは、同じマシンでも異なるマシンでも実行可能なため、 配置オプションの選択肢が広がります。構成ベースのマルチ・プロセスは、シン グル・スレッド FastCGI アプリケーションに自動的に実行されます。マルチ・ス レッド FastCGI アプリケーションは、シングル・プロセスを介して実行されます。 FastCGI は、複数の機能を果たします。レスポンス・システムの機能として、HTTP リクエストに対するレスポンスを生成したり、認可システムの機能として、Web サーバーへの認可リクエストを受理または拒否します。

mod_oc4j

mod_oc4j は、Oracle HTTP Server にプラグインし、すべての OC4J インスタンスに ルーティングするモジュールです。mod_oc4j は、Distributed Configuration Management(DCM)と Oracle Process Manager and Notification Server(OPMN)と を連動させて常にルーティング表を更新し、OC4J インスタンス内の OC4J プロセ スが活動状態のときのみ全体でロード・バランスがとれるようにします。このモ ジュールは、AJP を使用し OC4J インスタンスにローカルに通信したり、ファーム の一部である任意の OC4J インスタンスに通信します。mod_oc4j は、リモート・ マシンへのセキュアな通信が必要な場合、SSL を介して AJP をサポートします。

ポート・トンネリング

Oracle Application Server 10g Port Tunneling 機能は、複数の OC4J への通信に必要な ポート数を 1 つにします。Oracle Application Server Port Tunneling を使用した Oracle Application Server 10g 構成を次の図に示します。そのプロセスは、OHS と OC4J 間の接続の通信コンセントレータとして機能します。

OHS は、直接 OC4J に接続しません。そのかわりに、OHS は Oracle Application Server Port Tunnel プロセスに接続します。次に、ポート・トンネルは、通信を OC4J に 転送します。個々の Oracle Application Server Port Tunnel は、リクエストを複数の OC4J にルーティングします。この接続の集中化を行うことにより、顧客は、各 OC4J コンテナに対し 1 つのポートではなく、内部ファイアウォールの各 Oracle Application Server Port Tunnel プロセスに対し 1 つのポートを開くことのみを要求 されます。

(16)

図 9: Oracle Application Server Port Tunnel

OHS と Oracle Application Server Port Tunnel 間の通信は、SSL を使用して暗号化で きます。SSL クライアント証明書を使用した接続の場合にのみ認証が行われます。

Oracle HTTP Server 10g Release 2 の新機能

Apache 1.3 ベースの OHS

Oracle Application Server 10g R2 に含まれる OHS は、Apache の最新バージョンに バンドルされ、製品出荷時に提供されます。Apache 1.3.31 をベースにしたこの OHS リリースでは、Apache version 1.3.33 のリリースまでは、バグの対処にセキュリ ティ・パッチを使用します

Apache 2.0 ベースの OHS

Oracle Application Server 10g Release 2 より、Apache 2.0 ベースの OHS のバージョ ンを提供します。このバージョンの OHS は、Apache バージョン 2.0.52 をベース にしており、Apache 2.0 準拠のすべてのモジュールに対応します。

IPv6 のサポート

Apache 2.0 ベースの OHS は、IPv6(Internet Protocol バージョン 6)に対応します。 IPv6 の最大の長所は、その非常に大きいアドレス空間(128 ビット)により使用 可能なアドレスが不足しないところです。

スタンドアロン・バージョン

Oracle Application Server と統合されるコンポーネントに加え、OHS の新しいスタ ンドアロン・インストール・オプションが提供されます。この新しいスタンドア ロン・オプションは、Apache 1.3 ベースの OHS と 2.0 ベースの OHS の両方で使用 できます。このオプションには、統合された OHS に標準装備されるすべてのモ ジュールを含みます。ただし、Apache 2.0 ベースのスタンドアロン OHS には、 mod_oradav、mod_dms、mod_plsql は含まれません。

(17)

mod_php

PHP は、一般に使用されているクライアント・サイドの汎用スクリプト言語です。 PHP は、HTML の動的生成で広く利用されています。mod_php は Oracle HTTP Server に同梱されています。

mod_security

mod_security は、「アプリケーション・ファイアウォール」を提供するプラグイン で、アプリケーションの脆弱性に対する攻撃の侵入を阻止するように構成できま す。これは、費用のかかるアプリケーション・プログラム変更にかわる安価な選 択肢です。mod_security は、Apache 1.3 ベースの OHS と 2.0 ベースの OHS の両方 で使用できます。

顧客のプルーフポイント

Digital River

「Oracle Application Server は弊社の以前 の Java アプリケーション・サーバーより もはるかに高速です。Oracle Application Server への移行に伴い、Oracle 上に一か ら構築された単一の統合プラットフォー ム上で稼働できるようになりました。」 Digital River 社、CIO、Marty Boos 氏

1994 年に設立された世界規模の主要 E-Commerce アウトソース・プロバイダであ る Digital River 社は、その完全な E-Commerce システムおよびサービスにより、コ スト削減とビジネス成長の可能性をクライアントに提供しています。Digital River 社は、数千の顧客の E-Commerce オペレーションをホスティングするために Oracle Application Server を利用し、日々最大 40,000 件の注文を処理し、150 万の動的 Web ページを生成しています。数あるクライアントの中でも、Symantec 社、3M 社、 Novell 社、Autodesk 社、Staples.com などが有名です。

Digital River 社は、BEA WebLogic を廃止し、Oracle Application Server および Oracle Database 上で次世代ホストを対象とした E-Commerce プラットフォームを標準化 しました。「Oracle Application Server は弊社の以前の Java アプリケーション・サー バーよりもはるかに高速です。Oracle Application Server への移行に伴い、Oracle 上に一から構築された単一の統合プラットフォーム上で稼働できるようになりま した。」と CIO の Marty Boos 氏は述べています。同時に、BEA WebLogic から Oracle Application Server への切り替えにより、Digital River 社は、メンテナンス/サポー ト・コストの 44%、今後の投資コストの 69%を節約できました。 新規プラットフォームがもたらす最も直接的な利益は、Oracle の革新的 Web キャッシュ・テクノロジによる劇的なパフォーマンスの向上でした。平均ページ・ ロード時間は 2 分の 1 から 5 分の 1 に短縮され、動的 Web ページ生成のための SQL データベース・コールの平均数は 100 分の 1 に減りました。「Oracle Application Server の Web キャッシング機能により、中間層で必要なスケーラビリティをすべ て達成できることに気付きました。結論を言えば、サーバー・ハードウェアにか かる何百万ドルのコストを節約できます。」と Boos 氏は述べています。

(18)

Poste Italiane(www.poste.it)

Poste Italiane Group 社は、イタリアに拠点を置くマルチビジネス・コングロマリッ ト(巨大複合企業)であり、基幹的な郵政事業、郵便配達業務、通信、物流、金 融サービスをイタリア全土に提供しています。Poste Italiane Group 社には、次のよ うな主要な関連会社が含まれています。速達郵便と物流を提供する SDA Group 社、 都市バイク便業者の Mototaxi 社、インターネット・サービスを管理する Postecom、 生命保険および投資ソリューションを提供する PosteVita 社と BancoPosta Fondi 社、 ハイブリッド電子メールおよびドキュメント処理の欧州でのリーダーである Postel 社です。小売り、営利事業、行政機関、公的機関などに対して、Poste Italiane 社は複雑な物流および通信ビジネス・プロセスをアウトソース・ベースで管理し ます。また、イタリア全土の 14,000 以上の郵便局もすべて管理しています。 Poste Italiane 社の Pension Payment System は、世界でも最大級の最高業務処理率を 持つメインフレーム・アプリケーションの 1 つで、600 万人以上の公務員に対し て 1 日当たり 150 万件の年金取引を処理できます。メンテナンス・コストの段階 的な拡大およびメインフレームの硬直化に直面した Poste Italiane 社は、アプリケー ションをメインフレームから AIX オペレーティング・システム上の大規模で複雑 な最高業務処理率の J2EE アプリケーションに移行しました。サーブレット、ス テートレス Session Bean、およびコンテナ管理の永続性を持つ Entity Bean 上に構 築されたシステムは、Oracle Database RAC(Real Application Cluster)をアクセス する 2 つの Oracle Application Server インスタンスに配置されました。

障害時リカバリのために、アプリケーション・サーバー・インスタンスとデータ ベース・サーバーは両方ともリモート・サイト上にレプリケートされています。 Poste Italiane 社は、Oracle Application Server を使用することで、企業内の多数のグ ループ、部門および従業員全体に対してより広範で簡単なシステム・アクセスを 提供するためにビジネス・ロジックをリエンジニアリングする一方、古くて高価 かつ維持が困難なメインフレームからのダウンサイジングが可能になりました。 Oracle Application Server 10g は、Poste Italiana 社に対して、高度にミッションクリ ティカルなシステムの作動に必要な業界ベストのパフォーマンス、スケーラビリ ティおよび可用性も提供しました。

結論

第一に、Oracle HTTP Server は Web サーバーです。実績ある Apache テクノロジを ベースとした Oracle HTTP Server は、フル機能を必要とする企業情報サイトに対 してすべての機能を提供します。Oracle Database 10g を補助ストレージとする WebDAV をサポートします。プラグイン・コンポーネントは、シングル・サイン オン、mod_oc4j ロード・バランシング、SSL を使用した AJP などの Oracle Application Server 10g の機能を提供し、IIS、SunONE、Apache などの他の Web サーバーと併 用できます。

第二に、Oracle HTTP Server には、多くのアプリケーション・サーバー・コンポー ネントがあります。それにより、PLSQL、Perl、PHP、Server Side Include、C/C++ な どのいくつかの言語で動的アプリケーションを作成できます。

(19)

第三に、Oracle HTTP Server は、Oracle Application Server 10g にクラスタ化フレー ムワークを提供します。その新規インフラストラクチャにより、J2EE アプリケー ションの迅速な分散配置を実現します。また、障害がないかクラスタのすべての プロセスを監視し、最適のロード・バランシングおよびリクエスト実行時の影響 を最小限にするために、ルーティング表を透過的に更新します。

(20)

Oracle Application Server 10g リリース 2(10.1.2.0.2)Oracle HTTP Server の概要 2005 年 10 月

著者: Shail Goel

寄稿者: John Lang, Bruce Lowenthal

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. 無断転載を禁ず。 この文書はあくまで参考資料であり、掲載されている情報は予告なしに変更されることがあります。 オラクル社は、本ドキュメントの無謬性を保証しません。また、本ドキュメントは、法律で明示的または暗黙的に記載 されているかどうかに関係なく、商品性または特定の目的に対する適合性に関する暗黙の保証や条件を含む一切の保証 または条件に制約されません。オラクル社は、本書の内容に関していかなる保証もいたしません。また、本書により、 契約上の直接的および間接的義務も発生しません。本書は、事前の書面による承諾を得ることなく、電子的または物理 的に、いかなる形式や方法によっても再生または伝送することはできません。

Oracle、JD Edwards、PeopleSoft および Retek は、Oracle Corporation および関連会社の登録商標です。他の製品名 は、それぞれの所有者の商標です。

表 1: Apache 1.3 ベースの OHS に付属している主要な Oracle モジュール
図 4: mod_osso およびシングル・サインオン  このように、開発者はプログラムする必要なく、シングル・サインオンをベース にしたアプリケーションをデプロイでき、エンド・ユーザーは、毎回ログインせ ずに複数のサイトにアクセスできます。 この機能により、個々のディレクトリを異なる強度の暗号化で保護できます。共 通のアプリケーションは、アクセスに対しクライアント側の証明書の認証を要求 するディレクトリを持ちます。このディレクトリに対するブラウザからの SSL リ クエストは、認可のためクライアント証明書
図 8: FastCGI アーキテクチャ  クライアント・リクエストが受信されると、Web サーバーは FastCGI プロセスへ の接続を開始し、アプリケーションのエントリ・ポイントを起動してその結果を 戻します。 FastCGI プロセスは、同じマシンでも異なるマシンでも実行可能なため、 配置オプションの選択肢が広がります。構成ベースのマルチ・プロセスは、シン グル・スレッド FastCGI アプリケーションに自動的に実行されます。マルチ・ス レッド FastCGI アプリケーションは、シングル・プロセ
図 9: Oracle Application Server Port Tunnel

参照

関連したドキュメント

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,

MPIO サポートを選択すると、 Windows Unified Host Utilities によって、 Windows Server 2016 に含まれている MPIO 機能が有効になります。.

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