サポート対象の Web サーバ
プロダクション環境では、InterSystems Web ゲートウェイと共に、次の Web サーバを使用できます。
-
Microsoft Windows :
-
Linux、UNIX®、および macOS:
サポート対象の Web サーバについての詳細は、"インターシステムズのサポート対象プラットフォーム" の "サポート対象の Web サーバ" を参照してください。
Web ゲートウェイには、Microsoft、Apache、および Nginx の各 Web サーバ向けの高性能な接続ソリューションが用意されています。 これらのソリューションのほかに、サポートされているすべてのオペレーティング・システムでは、CGI 経由で InterSystems IRIS に接続できます。
Microsoft の Web サーバはマルチスレッド API をサポートしており、Web サーバのコア機能として、拡張機能を動的結合ライブラリの形式で取り込むことができます。Web ゲートウェイの最新バージョンは、これらの API を最大限に利用し、InterSystems IRIS システムへの高性能な Web 接続を実現します。Windows バージョンの Apache も排他的にマルチスレッド・モードで動作するので、動的結合ライブラリとして実装された Web ゲートウェイを活用できます。
UNIX® バージョンの Apache は、排他的にマルチスレッドではないという点で、Microsoft Windows ベースの Web サーバとはアーキテクチャが異なります。Apache バージョン 2.4 は、スレッドおよびマルチ・プロセスから構成されたハイブリッド型モデルを使用して実装されます。 このモデルでは、各 UNIX® プロセスは、それ自体で事実上マルチスレッド・サーバです。
Apache Web サーバは、CGI モジュールとして実装されている拡張機能をサポートするだけでなく、独自仕様の API も公開します。 Apache には、ユーザ定義のモジュール (コンパイル済みの C プログラム) としてその他の機能を追加できます。 実際、Apache のコア機能の大部分はモジュール・セットとして実装されています。Apache にモジュールを追加するには 2 つの方法があります。1 つは、モジュールのソースを、Apache コアへ直接コンパイルする方法です。この方法では確実に最高のパフォーマンスが実現できると期待できますが、Web サーバの再構成と再構築が必要になります。モジュール・ソースを Apache コアに直接組み込む方法の代替手段として、Apache バージョン 1.3 以降は、ダイナミック・リンク・ライブラリとして実装された拡張機能をサポートしています。この機能によって、Apache のコアへモジュールを物理的に組み込まなくても、Apache モジュールの優れた性能を利用することができます。CSP モジュールは、Windows のダイナミック・リンク・ライブラリ (DLL)、および UNIX® の動的共有オブジェクト (DSO) として配布されます。UNIX® 共有オブジェクトは、概念的に Windows ダイナミック・リンク・ライブラリ (DLL) と類似しており、実行時にリンクされます。最近のオペレーティング・システムでは、非常に小さいオーバーヘッドで実行時にライブラリへリンクすることができます。
他の Web サーバとは異なり、Nginx は非同期のイベント駆動型アーキテクチャに基づいています。イベント駆動型アーキテクチャにより、個々の操作の開始と完了をマークするために通知またはシグナルが使用されます。 この設計により、Web 要求の処理中に、リソースを一時的に解放して、他の操作によって使用できるようにすることができます。 リソースは動的に割り当ておよび解放され、それらが実際に必要とされる間のみ Web 要求の処理に関連付けられます。 これにより、メモリおよび CPU を高度に最適化して使用できるようになります。 このアーキテクチャの非同期の性質により、複数のスレッドを相互にブロックすることなく同時に実行でき、リソースがブロック操作を待機するスレッドに関連付けられなくなるため、リソースの共有が向上します。 Nginx は API に付属し、CSP などの拡張機能をコア機能に追加することができます。 ただし、その他の Web サーバとは異なり、拡張モジュールはコンパイル時に Web サーバ・コアに組み込まれている必要があります。 Nginx では、動的にロードされる拡張モジュールはサポートされません。
Web ゲートウェイの機能がスタンドアロンの実行可能コードとして実装され、それ自体のプロセスで動作し、Web サーバに直接接続しない代替アーキテクチャも用意されています。 このバージョンの Web ゲートウェイを NSD といいます。この場合、NSD は Web ゲートウェイのコア機能を提供し、InterSystems IRIS との永続的な接続を維持します。 Web サーバは、2 つのタイプがある小さなモジュール (ホスト Web サーバの独自の API に対して動作するモジュールと CGI 実行可能コードとして実装されたモジュール) を介して NSD と通信します。 したがって、NSD ベースのアーキテクチャは、CGI 標準によって Web サーバを拡張する要件がある場合または Web ゲートウェイの機能をホスト Web サーバの機能から切り離すことが望ましい場合に使用されます。