RPAで業務自動化

UiPathで良いとされるワークフロー ReFramework

こんにちは、RPAコンサルタントのプロコアラです。

プライベートでは、個人利用無料のUiPathを使用しています。

今回はReFrameworkテンプレートからどのような処理が良いのか見ていきたいと思います。

 

ReFramework

ReFrameworkはRobotic Enterise Frameworkの略でUiPathの新規プロジェクト作成時にも選択することが可能です。

下の図を見ていただければわかりますが、ステートマシンで書かれています。

UiPathアカデミーでもステートマシンについては全然解説がなかったため、とっつきにくいかと思います。

ステートマシンは状態と状態遷移する条件が設定でき、ステートに入った時の動作と出ていくときの動作を設定していきます。

フローチャートだと複雑な処理でもステートマシンだと簡単に書くことができます。

簡単すぎる処理だとステートマシンを使うと冗長になってしまう場合があるため注意が必要です。

 

全体は4つのステートで構成されています。

Init アプリケーションの初期化と設定ファイルの読み込みを行います
Get Transaction Data データの取得を行います
Process Transaction 自動化のメイン処理です
取得したデータを使用して自動化処理を実施します
End Process 処理完了後の後処理を実施します

 

Init

ReFrameworkでは、各ステート内でトライキャッチを使用して信頼性を高めています。

トライキャッチはステートマシンだけでなくどのワークフローでも信頼性を高めるために有効な手段です。

 

Initステートでは大きく分けて4つの処理を行っています。

Invokeでワークフローを処理を呼び出しています。

このようにInvokeを使用することにより処理全体が把握しやすくなります。

プログラミングでいうところの関数と同じです。

同一処理をまとめることができるという利点もあります。

 

コンフィグデータをファイルから呼び出しています。

このようにコンフィグデータをファイルとして外に出しておくことで、別の自動化処理を作る時に、処理を変えずにコンフィグデータファイルだけを変更するだけでよくなるというメリットがあります。

 

Get Transaction Data

データを取得するステートです。

Check Stop Signalアクティビティは、Orchestratorからの停止信号の有無を確認する際に使用します。

Orchestratorを使用しない場合は、GetTranactionDataワークフローが呼ばれます。

コンフィグデータの内容に従い、データを取得します。

 

Process Transaction

取得したデータを処理するステートです。

ProcessTransactionワークフローを呼び出しています。

実際に自動化したい処理を、このProcess.xamlへ追加していけばReFrameworkフレームワーク内に自分の処理を埋め込むことができます。

End Process

後処理を行います。

例外発生時にはここで例外を発生させます。

Closeアプリケーションでは、ログを出力します。

アプリケーションの終了処理はこちらに追加していけばいいですね。

まとめ

ReFrameworkをみることで、UiPathにおける信頼性を高めるテクニックを見てきました。

ステートマシンでは冗長となる場合、フローチャートなどを用いる時でも今回見てきた次のようなテクニックは使えると思います。

・トライキャッチ

・コンフィグファイルによる設定値の切り出し

・ログの出力

 

UiPathには、世界中で作られた自動化のコンポーネントが多数公開されるUiPath Goがあります。

UiPath Goの公開コンポーネントを人気順でソートすると、信頼性のテンプレート「UiPath Go Enhanced REFrameWork」が公開されています。

こちらも同様に新たなテクニックが学べるかもしれませんので、参考にしてみてください。

 

 

 

ABOUT ME
プロコアラ
プロコアラ
RPAコンサルタントのプロコアラです。長年のエンジニア経験を活かしてして外資系コンサルファームでRPAコンサルしてます。 転職ノウハウ、プログラミング、英語の勉強方法など分かりやすいように解説していきます。