Skip to main content

Web ゲートウェイ : InterSystems IRIS Web アプリケーションと REST API を Web クライアントに提供

InterSystems IRIS® Web アプリケーションは、要求に応えて動的に Web クライアント (通常は Web ブラウザ) にコンテンツを提供するコードで構成されます。これを可能にするのが InterSystems Web ゲートウェイです。InterSystems Web ゲートウェイは、Web サーバと、Web アプリケーション・コードをホストする InterSystems IRIS インスタンス間の接続を仲介するソフトウェア・ユーティリティです。Web ゲートウェイは HTTP、HTTPSWebSocket プロトコルをサポートしており、アプリケーション・トラフィックの負荷分散やフェイルオーバーなどの機能を提供します。

Web ゲートウェイの機能は以下のとおりです。

  • Web サーバの機能を拡張し、Web サーバが InterSystems Web アプリケーションの要求を認識して処理できるようにします。

  • 各 InterSystems IRIS インスタンス内のアプリケーション・サーバ・プロセスと接続するためのサーバ・アクセス・プロファイルを管理します。

  • 特定の要求パスと特定の InterSystems IRIS アプリケーション・サーバ間のアプリケーション・アクセス・プロファイルに基づいて、アプリケーションをホストする InterSystems IRIS インスタンスにアプリケーションの要求をルーティングします。

Note:

受信要求への応答としてアプリケーション・コードを呼び出す InterSystems IRIS インスタンス内のプロセスは、従来の InterSystems Web アプリケーション・フレームワークにちなんで、CSP サーバ または CSP エンジンと呼ばれることがあります。ただし、このプロセスは CSP アプリケーションだけでなく、すべての InterSystems IRIS Web アプリケーションの要求に応答します。そのため、Web ゲートウェイのドキュメントでは、特にこのプロセスを指す必要がある場合は、"アプリケーション・サーバ" という用語を使用します。その他の場合、ドキュメントでは InterSystems IRIS インスタンス全体を Web ゲートウェイ接続の有効なターゲットとして扱います。

Web アプリケーションは、管理ポータルなどいくつかの重要な InterSystems IRIS システム・ユーティリティへのアクセスを提供します。これらを使用するには、Web ゲートウェイを介して InterSystems IRIS を Web サーバに接続する必要があります。"Web サーバを使用した管理ポータルおよび他の組み込みの Web アプリケーションへのアクセス" を参照してください。

Web ゲートウェイが InterSystems Web アプリケーション要求をルーティングする方法

以下の図は、Web アプリケーションの要求がクライアント (Web ブラウザなど) から Web アプリケーションが実行されている InterSystems IRIS インスタンスに送られる様子を示しています。

クライアントから Web ゲートウェイ、そしてアプリケーション・サーバに送られる要求

プロセスは、以下のように要約できます。

  1. クライアントは特定の URL パスに要求を送信します。この例では、クライアントは https://yourhost.com/criticalapp/MainDashboard.csp に HTTP GET 要求を送信します。

  2. Web サーバは要求を受け取って構成を確認し、その要求に対して Web ゲートウェイを呼び出すべきかどうかを判断します。図では、架空の Apache Web サーバの構成ファイルからの抜粋でこれを示しています。この例では、Web サーバ構成は、Web ゲートウェイを呼び出して /criticalapp パス内の要求を処理するよう Web サーバに指示しています。

  3. Web ゲートウェイは構成を確認して、どの InterSystems IRIS アプリケーション・サーバが要求を受け取るかを決定します。図では、Web ゲートウェイの架空の CSP.ini 構成ファイルからの抜粋でこれを示しています。この例では、/criticalapp パスのアプリケーション・アクセス・プロファイルは、そのパス内の要求を、既定では InterSystems IRIS インスタンス iris1 のアプリケーション・サーバ・プロセスに、iris1 を使用できない場合はインスタンス iris2 の代替アプリケーション・サーバにルーティングするよう、Web ゲートウェイに指示しています。

  4. Web ゲートウェイは、要求を保護された TCP 接続を介して該当するアプリケーション・サーバのホストとスーパーサーバ・ポートに転送します。図に示すように、Web ゲートウェイは、これらの接続詳細を各アプリケーション・サーバのサーバ・アクセス・プロファイルに格納します。この例では、iris1 は現在オフラインであるため、Web ゲートウェイは要求を代替サーバ iris2 に送信します。

  5. InterSystems IRIS インスタンスのアプリケーション・サーバ・プロセスは、InterSystems IRIS インスタンス内の Web アプリケーションの設定に基づいて、適切なアプリケーション・コードを呼び出します。アプリケーション・コードは応答を生成します。

  6. 応答が Web ゲートウェイを介して Web サーバに戻されます。Web サーバは応答をクライアントに転送します。

InterSystems Web アプリケーション URL の構造

Web ゲートウェイでは、以下の形式の URL で InterSystems IRIS Web アプリケーションを提供できます。

[protocol]://[hostname]:[port]/[instancePrefix]/[appPath]/[fileOrQuery]
URL 要素 説明
[protocol]

http または https。TLS を使用するように Web サーバを構成したかどうかによって異なります。TLS の使用を強くお勧めします。

[hostname]

Web サーバが使用可能な IP アドレスまたは DNS 名。Web サーバがクライアントと同じマシン上にある場合、これは通常 localhost です。

[port]

Web サーバが要求を待ち受けるポート番号。Web サーバが HTTP の標準ポート (80) または HTTPS の標準ポート (443) 以外のポートで要求を待ち受ける場合を除き、ポート番号を指定する必要はありません。

[instancePrefix]

InterSystems IRIS アプリケーション・サーバの 1 つを一意に識別する文字列。

複数の InterSystems IRIS インスタンスを区別する必要がない場合は、前述の例のように、パスのこの部分を省略した URL で Web アプリケーションを提供するように Web ゲートウェイを構成できます。ただし、1 つの Web サーバを使用して複数の InterSystems IRIS インスタンスを処理し、1 つのインスタンスに固有の Web アプリケーション (インスタンスの管理ポータルなど) にアクセスする必要がある場合は、この識別子をアプリケーション・パスの接頭語として使用して要求をインスタンスにルーティングするように Web サーバと Web ゲートウェイを構成する必要があります。この識別子は、インスタンスの CSPConfigName です。既定では、インスタンスの CSPConfigName はすべて小文字のインスタンス名です。ただし、構成可能です

前述の例のアプリケーションを、iris2 という InterSystems IRIS アプリケーション・サーバで排他的に使用できる場合、Web サーバと Web ゲートウェイの構成内で、次の URL でアプリケーションを提供するように /iris2 パスを構成できます :https://yourhost.com/iris2/criticalapp/MainDashboard.csp

[appPath] 各 InterSystems IRIS アプリケーション・サーバ内のアプリケーションに固有の相対パス。InterSystems IRIS アプリケーション・サーバ内でアプリケーションを定義する場合、これがアプリケーションの名前になります。
[fileOrQuery] オプション。アプリケーションが要求の処理に使用できる下位のパス、ファイル名、クエリ・パラメータの任意の組み合わせ。

システムの Web ゲートウェイの設定

Web ゲートウェイ接続は複数の方法で設定できます。前述の図で示すように、Web ゲートウェイは、クライアントおよび InterSystems IRIS インスタンスから離れた別個のマシンに Web サーバと共に導入できます。または、Web クライアント、Web サーバ、Web ゲートウェイをすべて同じマシンに配置することもできます。Web ゲートウェイはオンプレミスでインストールできます。または、InterSystems Container RegistryOpens in a new tab で入手できる Docker イメージから webgateway コンテナを導入することもできます。これらの webgateway コンテナ・イメージには、Web ゲートウェイ拡張で事前構成されている Web サーバ (Apache または nginx) が含まれます。

"システムの Web ゲートウェイの設定" では、ユース・ケースに関係なく、設定プロセス全体の概要を説明します。

Web ゲートウェイ接続の管理

Web ゲートウェイは、どのように導入されたかに関係なく、Web クライアントと Web アプリケーションをホストする InterSystems IRIS インスタンスとの間の接続を管理する標準的なインタフェースのセットを提供します。

Web ゲートウェイ管理ページには、既定のパラメータの構成InterSystems IRIS インスタンスへの接続の定義、それらの接続の監視およびテストアプリケーションのルーティング動作の定義などを行うためのグラフィカル・ユーザ・インタフェースが用意されています。Web ゲートウェイ構成情報は、CSP.ini ファイルに格納されます。ほとんどの場合、Web ゲートウェイ管理ページまたは Web ゲートウェイ・レジストリ・メソッドを使用して Web ゲートウェイを構成することをお勧めします。ただし、コンテナ化された導入の場合は、CSP.ini マージ機能を使用して CSP.ini ファイルを直接変更することで、導入時に 1 つ以上の webgateway コンテナの構成を自動化し、同期することができます。

InterSystems IRIS Web ゲートウェイ・レジストリにより、InterSystems IRIS インスタンスは Web ゲートウェイへの接続をプログラムによって監視および管理することができます。すべての Web サーバおよび Web ゲートウェイのインストールは、接続時に InterSystems IRIS に登録されます。ゲートウェイ・レジストリを使用することで、InterSystems IRIS コードはインスタンスが接続されている Web ゲートウェイとやり取りし、構成詳細の読み取りおよび書き込みを行い、システム・ステータスを監視し、Web ゲートウェイのイベント・ログを監査できます。

FeedbackOpens in a new tab