Forguncy 10 オンラインヘルプ
アプリの開発 / ロジックの実装 / サーバーサイド処理 / サーバーサイドコマンド
このトピックで
    サーバーサイドコマンド
    このトピックで

    サーバーサイドコマンドは、Forguncy Server上で実行されることから通常のコマンドとは異なる特性を持っています。

    コマンドをサーバー側で完結して実行する

    通常のコマンドの場合、サーバー側での処理が必要な場合には1つのコマンドを実行するごとにクライアントとサーバー間での要求と応答が発生します。しかし、サーバーサイドコマンドの場合、登録した一連のコマンドリストをサーバー側で完結して実行します。

    たとえば、通常のコマンドにおいて「繰り返し」コマンドの中で「テーブルデータの更新」コマンドを使用した場合、繰り返しの中の1つ1つの「テーブルデータの更新」コマンドにおいて、クライアントとサーバー間での要求と応答が発生します。そのため、通常のコマンドを使用する方法においては、繰り返し処理を行っている途中にほかのユーザーが同じテーブルに対して「テーブルデータの更新」コマンドが実行されてしまうことを防ぐことはできません。しかし、サーバーサイドコマンドの場合には一連のコマンド処理が一括してサーバー側で実行されるため、処理中のほかのユーザーからの更新を防ぐことができます。

    サーバーリソースへアクセスできる

    通常のコマンドの場合、たとえば「PDFエクスポート」コマンドにより出力されたPDFファイルはクライアントへとダウンロードされます。一方、サーバーサイドコマンドではサーバー側の指定したフォルダー上やそのサーバーからアクセス可能なネットワークフォルダー上にPDFファイルを保存することが可能です。また、サーバー側に存在しているバッチプログラム(EXEファイル)を実行することもできます。

    クライアント側の要素にアクセスできない

    通常のコマンドの場合、A1のようにセル位置を指定することでページ上の要素にアクセスしたり、またはリストビューで選択されたカレントレコードの情報などにアクセスしてコマンド処理を実行することができます。しかしサーバーサイドコマンドは、Webブラウザーによる表示を必要としないヘッドレスで実行されるコマンドです。つまり、クライアント側のWebブラウザー上に表示される値やユーザーが選択した値などはサーバーサイドコマンド側からアクセスすることができません。
    そのためクライアント側にある値をサーバーサイドコマンドで利用したい場合は、パラメーターを使ってその値を渡す必要があります。

    利用例

    このような特性により、サーバーサイドコマンドは次のような処理を実現できます。