(BluePrism)Login Agentことはじめ ~その3 仕組み~
おはようございます。おむおむです。
前回、前々回と、Login Agentをとりあえず使ってみるところまでできました。
ところが、きっとこう思っているはずです。
結局何がどう動いとるんや???
と。
長くなりそうな気配がプンプンするが頑張って書きます('Д')
Login Agentの正体
有能なLogin Agentくんの正体、それは
サービス です。
(懐かしい)
Login Agentインストール後、「Blue Prism Login Agent」という名前の
サービスが追加されていることが確認できるかと思います。
SASの機能もインストールした場合は「Blue Prism SAS Service」という
サービスも追加されています。
これらのサービスは、ログオンしていない状態でのみ動作します。
裏を返せば、ログオンしたら動作しないということ。
RRを起動するbatファイルをスタートアップフォルダに格納したり、
スタートアップスクリプトを書いてログオン時に
自動でRRが起動するようにしろという理由はコレです。
挙動の流れを要約すると以下のような感じ↓
1. Login Agentサービス(ドキュメントではLogin Agent RRと表現)が起動する。
2. Appサーバからの実行指示によりWindowsユーザにログオンする。
3. Login Agent RRの機能が停止する(サービス自体は起動したまま)。
4. batなどにより自動でRRが起動する。
5. Appサーバからの実行指示により各種プロセスを実行する。
コントロールルームから見ているとわかるのですが、
ログオンに成功すると一度RRが「オフライン」になって、
疎通が取れなくなってしまいます。
(上の流れの2、3)
そして通常のRRが起動し(上の流れの4)、
Appサーバとの接続が確認されると、「オンライン」になり、
実行指示が出せるようになる、という動きなんですね~。
この辺はドキュメントの概要にフロー図が載っているので
併せて確認するとわかりやすいかと思います。
Loginの処理は必ず1つのプロセスとして独立させること、
Login後にほかのプロセスを実行する場合は
スケジュールの実行間隔を5分ほど空けることなどの注意事項は、
オフラインになることにより発生する問題を回避するためなのです!
※詳しくは我らが聖典を参照
まとめ
・Login Agentは「サービス」である。
・ドキュメント内の「Login Agent RR」は通常のRRとは別物。
疲れた!あと1記事でLogin Agent関連は終わる予定です。