#Web Gateway

0 フォロワー · 16 投稿

InterSystems IRIS データプラットフォームへの HTTP リクエストを処理する InterSystems IRIS コンポーネントです。

ドキュメント: Web サービス向け InterSystems Web ゲートウェイ

新着
記事 Toshihiko Minamoto · 3月 6 7m read

はじめに

あるお客さんから、ワークフローの待受画面での新着通知方法についてご相談がありました。

  • 単純なポーリングだと、通知の遅延や、サーバリソースを消費する
  • ロングポーリングは、待ち受け画面のためにIRISのライセンスを消費する
  • MQTTなどを使うと専用のサーバプロセスが必要

何か良い方法は無いでしょうか。 といった内容です。

この課題に対して調査したところ、以下の方式が見つかりました。

  • ブラウザからSSE(Server-Sent Event)方式を使い、nginx上にアクセス
  • IRIS側から通知が必要なクライアントのIDに対してnginxにメッセージをPOST
  • nginxがルーティングを行い、当該クライアントにメッセージを通知

今回は以下の点について手順や設定等解説していきたいと思います。

  • nginx のソースビルドと Web Gateway のインストール
  • nginx-push-stream-module を使った SSE (Server-Sent Events) 通知
  • ブラウザ受信 (/subscribe) とサーバ送信 (/publish) の最小実装

全体構成

まずは全体像です。データの流れをシンプルに分けることで、役割が明確になります。

0
0 11
記事 Megumi Kakechi · 8月 18, 2025 4m read

これは InterSystems FAQ サイトの記事です。
 

WebゲートウェイのSystem Status(システムステータス)ページでは、現在のすべてのアクティブな接続のステータスを確認することができます。

最初のステータステーブル (システムステータス) は、IRIS への接続に関する情報を表示します。
2番目のステータステーブル (InterSystems IRIS サーバ) は、InterSystems IRIS サーバに関する情報を表示します。
3 番目のステータステーブルは、アプリケーションパスの情報を表示します。
4 番目のテーブルは、Web ゲートウェイの応答キャッシュに保持されるフォームを表示します。

いくつかのサンプル接続ステータスを例にご説明します。


【ケース1】

接続最小数 の設定で、現在3接続が処理中の場合。
使用中のプロセスは InUse のステータス、待ち受けで空いているプロセスは Free で表示されます。

Free の接続は、[非活動タイムアウト(無使用タイムアウト)] まで残り、タイムアウトを過ぎると自動的に終了します。
 ただし、[サーバ接続最小数] 分の接続は上記タイムアウトが過ぎても残り、次のリクエストで使用されます。
 アイドル時間/タイムアウトの表示例は、0/0(接続最小数で残り続ける接続) や、300/86400(タイムアウト86400秒中、300秒経過)になります。

Server のステータスは、Webゲートウェイレジストリメソッドで使用のプロセスです。
 CSP.iniで以下の設定をしている場合は、このプロセスは作成されません。
 [SYSTEM]
 REGISTRY_METHODS=Disabled

  

1
0 98
記事 Megumi Kakechi · 8月 4, 2025 2m read

これは InterSystems FAQ サイトの記事です。
 

Webゲートウェイ管理ページで、サーバ毎の最大接続数を設定したり、最大接続に達した場合に待ち時間(キュー)や静的なビジーページを設定することが可能です。

実際にサーバに接続する最大接続数を設定すると、それに達した場合に待ち時間(キュー)で設定した秒数待って、それを過ぎても接続数に空きが出なかった場合に、静的なビジーページに移行するような設定が可能となります。

設定箇所は以下になります。
※Webゲートウェイ管理ページ:
例(URLは環境・バージョンによって変わります):
http://<webserver>/<instancename>/csp/bin/Systems/Module.cxw
 

★全サーバに適用される設定(デフォルトパラメータ)

サーバ単位の個別の設定がない場合は、こちらの設定が適用されます。

構成 > デフォルトパラメータ

最大接続:各サーバの合計接続数の最大数(既定:1024)。

0
1 73
記事 Tomoko Furuzono · 4月 10, 2025 2m read

これは、InterSystems FAQ サイトの記事です。
 

※Caché/Ensembleの「CSPゲートウェイ」は、IRISでは「Webゲートウェイ」と名称が変更されています。
 これに伴い、サービス名も、「%Service_CSP」 ⇒ 「%Service_WebGateway」となっています。
 以下は、IRISベースの名称で記載しておりますので、適宜読み替えてご参照ください。

Webゲートウェイ・レジストリとその関連クラスを使用すると、Webゲートウェイのインストール環境の確認、および、設定値の変更が可能です。
関連するクラスは、以下になります。
%CSP.Mgr.GatewayRegistry
%CSP.Mgr.GatewayMgr

例えば、以下は、アクティブなWebゲートウェイのインストール環境(リストの1番目)の情報を書き出しています。

Set reqistry = $system.CSP.GetGatewayRegistry()
Set gateways = reqistry.GetGatewayMgrs()
Set gateway = gateways.GetAt(1)
Write gateway.IPAddress," : ",gateway.Port," : ",gateway.Version

      ↓(結果)

127.0.0.1 : 52777 : 661.
0
0 87