FileMaker Server のサーバーサイドスクリプトはライセンスの同時接続数に関係するのか?

FileMaker Server 13から追加された[サーバー上のスクリプト実行]は、クライアント側から FileMaker Server 側でスクリプトを実行することができるという、使い方によってはとても便利なスクリプトです。(以下、その実行されたスクリプトをサーバーサイドスクリプトと呼びます。)

さて先日、社内のとある案件でその機能を使っていた方が、Admin Console を眺めながら「サーバーサイドスクリプトが実行されるとクライアント接続数にもカウントされてる!?」ということに気付きました。

クライアント接続数に含まれているのなら何かしらライセンスの接続数制限にも関係してくるのでは・・・という疑問が生じましたので、さっそくこの件について調べてみました。

Admin Console で状況を確認してみる

サンプル準備

クライアントの FileMaker Pro 側から FileMaker Server の共有ファイルを開き、その中で[サーバー上のスクリプト実行]を行う、という簡単なサンプルを作って Admin Console の状況を確認してみました。

まず、こんな感じの簡単なレイアウトを作ります。「サーバーサイドスクリプト実行」ボタンを押すとサーバーサイドスクリプトを実行し、その処理状況が「メッセージ」フィールドに表示されるというイメージです。

レイアウト

「サーバーサイドスクリプト実行」ボタンが押された時は、次の「SSS実行」スクリプトが呼び出されます。

スクリプト

さらに「SSS実行」スクリプトからは、次の「SSS」スクリプトがサーバーサイドスクリプトとして実行されます。やってることは、途中で15秒待機しながらその前後にメッセージを表示するというだけという単純な内容です。

サーバーサイドスクリプト

動作確認

さて、作ったサンプルアプリをさっそく実行してみました。

まずアプリを起動した直後です。Admin Console のアクティビティを見ると、自分自身の FileMaker Pro クライアントのみが接続していることが分かります。

win1

「サーバーサイドスクリプト実行」ボタンを押すと、2つ目の接続クライアントとしてサーバーサイドスクリプトが現れました。

win2

サーバーサイドスクリプトの処理が完了すると、接続クライアントは始めの1つだけに戻ります。

win3

この動きから、サーバーサイドスクリプトが実行された時、確かに接続クライアントが1つ増えることが確認できました。

調べてみた

試しにこのサンプルアプリを使って、複数台で WebDirect や FileMaker Go を使用しながら同時にサーバーサイドスクリプトを実行させた時に、最大接続制限に影響するかどうかも試してみたのですが、特に制限数にはカウントされていないようでした。

接続クライアントとしては認識されているけど、接続制限には関係無いものなのでしょうか・・・?

念のためと思い FilaMaker サポートに問い合わせてみたところ、「サーバーサイドスクリプトはあくまで”サーバー”側で実行されるスクリプトなので、”クライアント”接続数にカウントされるものではない。」との回答を頂くことができました。なるほど、そうだったんですね。これで腑に落ちました!

まとめ

というわけで、サーバーサイドスクリプトは接続クライアントに数えられてはいるものの、結果的にライセンスの同時接続数制限には関係が無いものでした。これで実行数は気にすることなく、どんどん利用していけますね!

ただし、サーバーサイドスクリプトだけに限って言えば Admin Console の[データベースサーバー]→[FileMaker クライアント]タブ → [スクリプト同時セッション最大数]によって同時実行できる数が制限されてますので、その点はご注意ください。(設定上限は500までのようです。)

スクリプト同時セッション最大数