今回は、ASTERIAフローの実行スコープ、セッションとリクエストについてご紹介します。
"リクエスト"は、フローやサブフロー、Nextフローのように実行時に同じWorkerスレッドで一連の処理として実行される単位を指します。
"セッション"は、ブラウザからのHTTPリクエストなどを処理する、Webサービスを構築する場合に用いられ、同一セッションで処理したい複数のリクエスト間で変数の共有(セッション変数)やWeb上でのログイン~ログアウトを処理したい場合などに使用します。
具体的には、同一セッションで処理したいフローのフロープロパティ・セッションを"保持する"と設定することで、最初のHTTPリクエストに対するHTTPレスポンスのcookieにSession IDをセットします。ブラウザは、次のHTTPリクエスト時に同じSession IDを送信し、ASTERIAは、セッションの有効期間内であれば、前回のHTTPリクエストと同じセッションであると判断し、同一セッションとしてリクエストを実行します。
外部変数セットで定義できる、セッション変数とリクエスト変数は、上記説明のセッションとリクエストをスコープとして共有されます。
※注意:FlowInvokerで他ユーザーのフローを実行した場合、セッションを同一として実行可能ですが、セッション変数やStream変数は共有できません。
