ゲートウェイ・サーバのプロパティ設定
ObjectGateway クラスのプロパティは、Service クラス (“ゲートウェイ・サーバの実行” を参照) が使用する設定を指定し、.NET ゲートウェイ・サーバのインスタンスにアクセスし、これを監視します。この章では、以下の項目について説明します。
-
"新規オブジェクト・ゲートウェイ・フォームの使用法" — 一連のサーバ・プロパティを定義する最も簡単な方法は、管理ポータルの新規オブジェクト・ゲートウェイ・フォームを使用することです。これを使用すると、事前定義された ObjectGateway オブジェクトを作成し、保存できます。
-
"プログラムによるサーバ・プロパティの定義" — 実行時に ObjectGateway オブジェクトのプロパティを設定することも可能です。
-
ゲートウェイ・サーバのバージョン — NET ゲートウェイ・サーバの実行可能プログラムの各種バージョンが .NET 2.0 と 4.0 用、および 32 ビットと 64 ビット・システム用に用意されています。
新規オブジェクト・ゲートウェイ・フォームの使用法
ObjectScript コードで .NET ゲートウェイ・サーバ・セッション全体の設定を指定することも可能ですが、通常は新規オブジェクト・ゲートウェイ・フォームを使用して永続 %Net.Remote.ObjectGatewayOpens in a new tab オブジェクトを作成して保存する方が簡単です。以下では、この構成手順の概要を説明します。
-
管理ポータルで、システム管理, 構成, 接続性, オブジェクトゲートウェイ に進みます。
オブジェクト・ゲートウェイ・ページこのページのオプションを使用すると、ゲートウェイの最近のアクティビティのログを表示したり、ゲートウェイの起動/停止、ゲートウェイ・サーバ定義の作成、編集、または削除を行うことができます。
-
[オブジェクトゲートウェイ] ページで、[新規ゲートウェイ作成] をクリックします。新規オブジェクト・ゲートウェイ・フォームが表示されます。最初の 3 つのフィールドのみが必須です。以下の例では、[ゲートウェイ名]、[ポート]、および [ログファイル] 以外のフィールドはすべて既定値のままにしています ([ファイルパス] は、このフィールドを空白のままにした場合に使用される値に設定されます)。
新規オブジェクト・ゲートウェイ・フォーム -
フォームへ記入し、[保存] をクリックします。ObjectGateway に、以下のプロパティを設定できます。
-
Name — 必須項目。この .NET ゲートウェイ定義に割り当てる名前です。
-
Server — 必須項目。.NET ゲートウェイ・サーバの実行可能ファイルがあるマシンの IP アドレスまたは名前です。既定値は、"127.0.0.1" です。
-
Port — 必須項目。.NET ゲートウェイ・サーバと Caché のプロキシ・クラスの間の通信用の TCP ポート番号です。クラス Service (“ゲートウェイ・サーバの実行” を参照) のいくつかのメソッドは、ポート番号を既定値 55000 を持つオプションのパラメータとして受け入れます。
-
PassPhrase — このプロパティがチェックされている場合、ゲートウェイは接続のためのパスフレーズを要求します。
-
LogFile — .NET ゲートウェイ・メッセージを記録するために使用されるファイルのフル・パス名。これらのメッセージには、サーバへの接続の開始および切断の認識、および .NET クラスを Caché プロキシ・クラスにマッピングする際に発生したすべての問題が含まれます。このオプションのプロパティは、デバッグ時にのみ使用してください。
-
AllowedIPAddresses — サーバのリッスン先のローカル・ネットワーク・アダプタの IP アドレス。1 つのアダプタだけではなくマシン上のすべての IP アダプタ (127.0.0.1、VPN など) をリッスンするには、0.0.0.0 (既定) を指定します。複数のアドレスは入力できません。1 つのローカル IP アドレスを指定するか、またはすべてのアドレスをリッスンする必要があります。LogFile プロパティを定義する場合は、この引数に値を指定する必要があります。
-
FilePath — .NET ゲートウェイ・サーバの実行可能ファイルがあるディレクトリのフル・パスを指定します。これは、目的の実行可能ファイルの検索およびコマンドのアセンブルを実行してローカル・サーバ上の .NET ゲートウェイを起動するために使用されます。また、既定の場所にない実行可能ファイルを使用する場合にのみ必要となります。この設定を指定しない場合、このフォームではユーザのシステムおよび指定の .NET バージョンでの適切な既定実行可能ファイルが使用されます。
-
Exec64 — (64 ビット・プラットフォーム上の .NET ゲートウェイにのみ適用) このプロパティがチェックされている場合、オブジェクト・ゲートウェイ・サーバは 64 ビットとして実行されます。既定は 32 ビットの実行となります。
-
DotNetVersion — 使用する .NET バージョン (2.0 または 4.0) を指定します (“ゲートウェイ・サーバのバージョン” を参照)。既定は .NET 2.0 となります。
-
詳細設定 (既定では非表示)
-
HeartbeatInterval — アクティブかどうかをチェックするために行う .NET ゲートウェイとの通信間隔 (秒単位)。値を 0 にすると、この機能は無効になります。有効値は、1 ~ 3600 秒 (1 時間) です。既定値は 10 秒です。
-
HeartbeatFailureTimeout — .NET ゲートウェイが障害状態にあると判断される前に、応答を待機する秒数。この値が HeartbeatInterval プロパティより小さい場合、.NET ゲートウェイ通信チェックに失敗するたびにゲートウェイは障害状態になります。最大値は 86400 秒 (1 日) です。既定値は 30 秒です。
-
HeartbeatFailureAction — .NET ゲートウェイが障害状態になったときに実行するアクション。有効値は、"R" (再起動) または "N" (なし) です。既定のアクションは再起動で、.NET ゲートウェイが再起動します。
-
HeartbeatFailureRetry — .NET ゲートウェイ・サーバが障害状態になった場合に、HeartbeatFailureAction が再試行される前に待機する秒数。値を 0 にすると、この機能は無効になります。つまり、すぐに回復できない障害が発生したときは自動リカバリが行われません。有効値は、1 ~ 86400 秒 (24 時間) です。既定値は 300 秒 (5 分) です。
-
InitializationTimeout — ゲートウェイ・サーバの初期化中に応答を待機する秒数。有効値は、2 ~ 300 秒 (5 分) です。既定値は 5 秒です。
-
ConnectionTimeout — ゲートウェイ・サーバとの接続を確立するまでに待機する秒数。有効値は、2 ~ 300 秒 (5 分) です。既定値は 5 秒です。
-
-
-
フォームの保存後、オブジェクト・ゲートウェイ・ページに戻ります。これで、新しい .NET ゲートウェイ・サーバ定義がこのページにリストされます。
プログラムによるサーバ・プロパティの定義
ObjectGateway サーバ・プロパティは、プログラムで設定することも可能です。
(前のセクションで示した) 新規オブジェクト・ゲートウェイ・フォームで定義されたプロパティに加え、Type プロパティを "2" に設定する必要があります。これにより、サーバが (Caché で使用できない Ensemble Java ゲートウェイではなく) .NET ゲートウェイとして定義されます。
以下の例では、前のセクションで説明した新規オブジェクト・ゲートウェイ・フォームで生成したサーバ定義と同じサーバ定義が作成されます。
// Create the object and define it as a .NET Gateway
set gw = ##class(%Net.Remote.ObjectGateway).%New()
set gw.Type = "2" // a .NET Gateway, not an Ensemble Java Gateway
// Set the properties
set gw.Name = "GatewayTwo"
set gw.Server = "127.0.0.1"
set gw.Port = "55000"
set gw.PassPhrase = 1
set gw.LogFile = "C:\Temp\GatewayTwo.log"
set gw.AllowedIPAddresses = "0.0.0.0"
set gw.FilePath = "C:\Intersystems\Cache\dev\dotnet\bin\v2.0.50727"
set gw.Exec64 = 1
set gw.DotNetVersion = "2.0"
set gw.HeartbeatInterval = "10"
set gw.HeartbeatFailureTimeout = "30"
set gw.HeartbeatFailureAction = "R"
set gw.HeartbeatFailureRetry = "300"
set gw.InitializationTimeout = "5"
set gw.ConnectionTimeout = "5"
// Save the object
set status = gw.%Save()
%Save() の呼び出しが必要なのは、(前のセクションで説明したように) オブジェクトを永続ストレージに追加して管理ポータルのオブジェクト・ゲートウェイ・ページで使用できるようにする場合のみです。
ゲートウェイ・サーバのバージョン
.NET ゲートウェイ・サーバ・アセンブリの各種バージョンが .NET 2.0 と 4.0 用に用意されています。以下のバージョンが出荷されます (install-dir が、ご使用のシステムで $SYSTEM.Util.InstallDirectory() の返すパスとなります)。
.NET バージョン 2.0 :
-
install-dir\dev\dotnet\bin\v2.0.50727\DotNetGatewaySS.exe
-
install-dir\dev\dotnet\bin\v2.0.50727\DotNetGatewaySS64.exe
.NET バージョン 4.0 :
-
install-dir\dev\dotnet\bin\v4.0.30319\DotNetGatewaySS.exe
-
install-dir\dev\dotnet\bin\v4.0.30319\DotNetGatewaySS64.exe
.NET バージョン 4.5 :
-
install-dir\dev\dotnet\bin\v4.5\DotNetGatewaySS.exe
-
install-dir\dev\dotnet\bin\v4.5\DotNetGatewaySS64.exe
一部のアプリケーションでは、これらのゲートウェイを使用して管理されていないコード・ライブラリがロードされることがあります。64 ビット・プロセスがロードできるのは 64 ビット DLL のみで、32 ビット・プロセスがロードできるのは 32 ビット DLL のみであるため、サポートされているバージョンの .NET ごとに 32 ビットと 64 ビットの両方のアセンブリが用意されています。これにより、32 ビットのライブラリをゲートウェイにロードできる 64 ビット Windows 用のゲートウェイ・アプリケーションを作成することが可能になります。
これらのアセンブリを使用するためには、適切なバージョンの .NET Framework をシステムにインストールする必要があります。Caché のインストール手順では、いかなるバージョンの .NET Framework もインストールやアップグレードは行われません。