Enterprise Blue Ocean ◮

神谷町RPAブログ

  • Blue Prism 初級者向け
    • Blue Prism を 無料で利用する 方法はこちら
    • Blue Prism の Blue Prism 事始め!オンボーディングの記事はこちら
    • Blue Prism で Excelを操作 する記事はこちら
  • Blue Prism、ちょっと進んだコンテンツ☆
    • Blue Prism の ベストプラクティス 記事はこちら
    • Blue Prism の 逆引きナレッジ wiki こちら
    • Blue Prism を リアルタイムで起動する 方法はこちら
  • RPA、そもそも論!
    • Youtube で、あらためて振り返る RPA とは?・・・はこちら☆

Blue Prism でリアルタイム起動フレームワークを構築する(詳細編② 先に返却係を作る☆)

この記事も、

まぁまぁ長いです!

(マンネリ)

 

前回の記事👇

www.ebocean.work

 

 

返却係とは

返却係の話に入る前に、

全体像を振り返ると、こんな感じ。

f:id:EnterpriseBlueOcean:20200402125236p:plain

返却係は、👇ですね(上図の下部)。

f:id:EnterpriseBlueOcean:20200402125355p:plain

Blue Prism の言葉に直すと、

こんな感じになります。

f:id:EnterpriseBlueOcean:20200402125913p:plain

前回の記事で、

業務プロセスの起動時ワークキューに

エンキューアイテムを追加)してました。

 

返却係は、

  • 定期的にワークキューに残っているアイテムを見て、
  • アイテムに書かれているセッションIDを読み取り
  • 読み取ったセッションIDに等しい業務プロセスの実行状態チェックして、
  • 完了していたらワークキューのアイテムを消し込む
  • クライアントアプリ(またはクライアント)に、コールバックする

・・・といった感じの処理をします。

 

返却係のポイント

返却係の処理を、順にみていきます。

 

返却係の定期実行

基本的に、業務プロセスはいつ終わるかは

誰にもわかりません

したがって、今回の仕組みでは返却係を

定期的に実行し、業務プロセスの処理結果を

チェックするようにしています。

 

定期的に実行する方法は、

  1. スケジューラーを使って、短い時間間隔で定期実行
  2. 無限ループにして長期実行

などが思いつきますが、

今回は1(スケジューラー)を採用しています。

2(無限ループ)は試してませんが、、

試すとしたら、安全に停止させる機能

必須だと思います(IsStopRequested() を使う)。

www.ebocean.work

 

なお、定期実行しないという選択も

可能だと思います。

つまり、業務プロセスが完了したら、

その時点で返却係を呼び出すような

方式です。

 

ただ、この方式をやろうと思うと、

まず、業務プロセス側に適切な例外処理と、

返却係呼出し組み込む必要があります。

これは、プロセスは必ずプロセステンプレート

ベースに作るなど、工夫が必要ですね。

www.ebocean.work

 

次に、この方式だと、返却係はそれぞれ

任意のタイミングで呼び出されるので、

業務プロセスと同じランタイムリソースで実行するか、

返却係専用のランタイムリソースを用意して、

返却係オブジェクトをWeb API公開(リクエスト蓄積)

する必要が出てきます。

 

今回は定期実行方式にしますが、

他の方式もぜひ、チャレンジください!

丸投げ

 

キューの中身(アイテム)を処理する

返却係を定期実行したら、

次に行うことはキューの中身をチェックし、

そこからプロセスが完了しているかを確認します。

 

処理イメージは、文章で書いてもわかりにくいので、

図解します!

 

最初にキューのアイテムを取得して、、

f:id:EnterpriseBlueOcean:20200402140931p:plain

アイテムからセッションIDを取り出し

AutomateC.exe で業務プロセスの処理状態

セッションIDをキーにして取得、、

f:id:EnterpriseBlueOcean:20200402141058p:plain

AutomateC.exe の結果を見て、

業務プロセスが完了していたら、

アイテムを完了とマーク。

(業務プロセスが実行中なら、

 アイテムを延期しています。

 また、完了でなく失敗、停止など、

 業務プロセスのステータスは

 いろいろあるので、

 そのハンドリングも可能です)

f:id:EnterpriseBlueOcean:20200402141329p:plain

 

クライアントアプリへのコールバック

クライアントアプリへのコールバックは、

これも様々な方式が考えられます。

 

クライアントアプリから、

状態を問い合わせることもできます。

これは、前回の取次係を拡張する方向に

なると思います。

 

あるいは、クライアントアプリではなく、

メールやビジネスチャットで通知することも

可能です。

 

Outlook を操作してもいいし、

digitalexchange.blueprism.com

 

今風に Slack にしてもいいし、

digitalexchange.blueprism.com

 

以前は、Power Automate 経由で

Teams に通知したりもしてた。

www.ebocean.work

Power Automate は必須ではなく、

こんな風に PA 抜きで Teams に

投稿する事も可能です。

www.ebocean.work

👇は、もっと簡単☆

www.ebocean.work

 

最後に、返却係実装結果

貼っておきます。

こんな風になりました☆

f:id:EnterpriseBlueOcean:20200402143030p:plain

 

まとめ

  • Blue Prism でリアルタイム起動フレームワークを作っていくシリーズ、第3回
  • リアルタイム起動フレームワークの下半分、返却係を作成
  • 返却係のポイントは、ワークキューの中身(アイテム)を取得、アイテムの中のセッションIDで AutomateC.exe してプロセスの実行状態を取得、取得した実行状態に応じてアイテムをマークする、クライアントにコールバックする

 

開発したVBO、プロセスは、後でDXにアップして公開する予定です。

アップされたら、リンクもつけますね☆

 

次回は、、

全体の流れを、一回、通しで見てみましょうか。

www.ebocean.work

 

どう考えても長丁場確定ですけど、

がんばるゾ☆

github.com