Skip to main content

CSP ベースの Web アプリケーションの概要

InterSystems IRIS® データ・プラットフォームは、Web ユーザ・インタフェースを作成できるようにするテクノロジを提供します。これまでの経緯から、このテクノロジは CSP として知られ、その成果が CSP ベースの Web アプリケーションです。

CSP は、ブラウザが認識する前に途中で HTTP 要求を捉え、それをブラウザに直接書き込む簡単な方法を提供します。これは、ユーザが生成する Web ページを完全に制御できるようになることを意味します。必要な JavaScript をページに追加するだけで済むため、必要に応じて CSP をサードパーティの JavaScript ライブラリと組み合わせて使用できます。

CSP ベースの Web アプリケーションのコンポーネント

アプリケーション開発者の観点からすると、CSP ベースの Web アプリケーションは InterSystems IRIS サーバ上の以下の要素で構成されます。

  • REST オプションではなく CSP/ZEN オプションを使用するように構成された Web アプリケーション定義

    Web アプリケーション定義は、許可される認証メカニズム、コードを実行する InterSystems IRIS ネームスペース、特定の目的に使用するカスタム・ページ、タイムアウト、静的ファイルの処理などを制御します。

  • 1 つ以上の CSP ページ・クラス。これらのクラスは、HTTP 要求への応答として完全な HTTP 要求を生成します。CSP ページ・クラスでは、要求およびセッション情報に簡単にアクセスすることができ、ユーティリティ・メソッドによって Cookie の管理や CGI 変数へのアクセスなどが可能になります。

  • 外部の JavaScript ファイル、スタイル・シート、画像ファイル、静的 HTML ファイル、および必要に応じてその他のリソース。これらのリソースは同じサーバ上に置くことも、他のサーバ上に置くことも、あるいはその組み合わせで使用することもできます。

アーキテクチャには、以下の追加のコンポーネントも存在します。

  • Web サーバ (InterSystems IRIS での使用がサポートされているもの)。

  • Web ゲートウェイ。Web サーバと InterSystems IRIS サーバ間の仲介として機能します。Web ゲートウェイは、これらのサーバへの接続プールを維持します。

    Web ゲートウェイの構成には、InterSystems IRIS サーバで実行中の Web アプリケーションの定義が含まれます。これらの定義により、Web ゲートウェイは InterSystems IRIS サーバ上の正しい Web アプリケーションに要求をルーティングできます (次に説明するように、CSP サーバを介して要求を送信します)。

  • CSP サーバ。これは、InterSystems IRIS サーバで実行される専用プロセスで、Web ゲートウェイからの要求を待機し、必要に応じてそれらを処理します。各 InterSystems IRIS サーバは、必要な数だけ CSP サーバ・プロセスを実行できます (マシン・タイプによる制限は適用されます。ライセンスの計算では、CSP サーバはカウントされません)。

情報の流れ

CSP ベースの Web アプリケーションでは、要求と応答のプロセスは以下のようになります。

  1. HTTP クライアント (通常は Web ブラウザ) は、HTTP を使用して Web サーバにページを要求します。

  2. Web サーバの構成方法によって、Web サーバは要求を CSP 要求として認識し、それを Web ゲートウェイに転送します。

  3. Web ゲートウェイは、通信する InterSystems IRIS サーバを決定し、そのターゲット・システム上の CSP サーバに要求を転送します。

  4. CSP サーバは要求を処理し、要求が静的ファイルに対するものか CSP クラスに対するものかを判断します。

    CSP サーバには、%CSP.StreamServerOpens in a new tab クラスであるストリーム・サーバが含まれます。ストリーム・サーバは、ファイルやその他のストリームの処理を行います。要求が静的ファイルに対するものであれば、ストリーム・サーバはローカル・ファイル・システム内でファイルを検索し、それをエンコードする方法を決定してパッケージ化します。

    要求がクラスに対するものであれば、CSP サーバはクラスの Page() メソッドを呼び出し、それを受けてこのメソッドがそのクラスで定義されているコールバック・メソッドを呼び出します。

  5. CSP サーバは要求されたコンテンツを Web ゲートウェイに返し、Web ゲートウェイはそれを Web サーバに渡します。

  6. Web サーバはコンテンツをブラウザに送信し、ブラウザでコンテンツが表示されます。

FeedbackOpens in a new tab