Skip to content

UiPath Attended Frameworkって何?

Posted in RPA, and UiPath

Last updated on 2020年7月26日

今回は、UiPath社が公開しているマーケットプレイスで提供されているAttededロボットのためフレームワーク"Attended Framework"が想像以上に使いやすかったので紹介します。

以前、エラーハンドリングはこうするほうが良いという記事を書いたのですが、このフレームワークを利用すればエラーハンドリングだけでなくその周辺の課題を解決することができるので気になる方は使ってみてください。


Attended Frameworkとは

Atteded Framewrokとは、REFreameworkと互換性を持つUiPath社が提供しているシンプルなプロセス向けのフレームワークです。

UiPath Connectのマーケットプレシスから無料でダウンロードし利用することができます。

利用するメリットとして次のようなものが挙げられています。

Attended Framework 概要

・モジュール化: 3 つのメインステップ (初期化、処理、およびクリーンアップ) への分離

・よりきめ細かな例外処理: アプリケーション例外とビジネスルール例外の区別 (それぞれの例外の具体的な処理を含む)

・コンフィグレーションファイル: ユーザーフレンドリーな設定定義により、柔軟性が高く、メンテナンスが簡単

・ReFramework 用に作成されたダッシュボードとの互換性

UiPath Go!

少しイメージしづらいかと思いますので、より具体的にまとめたのが下記となります。

(完全に主観となるのでその辺よろしくお願いします)


Attended Framework を利用するメリット

私が考えるAttended Frameworkを利用するメリットは次の通りです。


エクセルを用いた設定の読み込み

UiPathでの開発では、変数を利用する場合がほとんどであると考えていますが、(開発が業務部門へよればよるほど)変数の値を直接ワークフロー内へ書き込んでしまうケースが見受けられます。

これは、「UiPath の開発自由度が高いこと」および「現場での開発手法が統一されていないこと」に起因しますが、保守や修正を行う場合(0からワークフローを眺めなければならず)非常に苦労します。

Attended Frameworkでは、そのような環境に依存する変数の値を外部のエクセルファイルから読み込む仕組みが実装されています。

そのため、エクセルファイルを確認するだけで、利用している値やその用途を把握することができるようになっています。

読み込むエクセルについては、Attended Framework内の[Data]フォルダ内に格納されており、Config,.xlsxという名称です。

ReFrameworkを使ったことがある方は同様のものを見たことがあるのではないでしょうか。

実際のファイル(書き込む前)は、次のようになっています。

シートに Settings/ Constants/ Assets とありますが基本Settings内へ変数を追加していきます。

ドキュメントでは次のように定められています。

SettingsとConstantsは結構曖昧です。

  • Settings:環境ごとに変更が発生するおそれのある変数値
  • Constants:プロジェクト、開発ルールに関連した定数
  • Assets:Orchestartorのアセット機能と連携する値

下記のような議論が、UiPath Communityでありましたので参考にしてください。(英語です)

[bcard url="https://forum.uipath.com/t/config-best-practices-settings-vs-constants/140571"]

このようにエクセル(Configファイル)上に記載した値をワークロー内で呼び出し利用できる点が非常に協力となっています。

Configファイルに記載した値を取得する場合は、次のように書き込むことで取得することができます。

//Mainファイルから呼び出す場合
Config("Name列の値")

//Mainファイル以外、例えばProcessファイルから呼び出す場合
in_Config("Name列の値") 

デフォルトで入っている「log_BusinessProcessName」の値(初期では、AttendedFramework)を取得したい場合次のようになります。

//Valueの値「AttendedFramework」文字列を取得
Config("log_BusinessProcessName") 

//Valueの値「AttendedFramework」文字列を取得
in_Config("log_BusinessProcessName") 

例外処理の標準実装

Attended Frameworkを利用することで基本的なエラーハンドリングについては網羅することが可能です。

一度 Attended Framework を見ていただければよいのですが、実行の起点となる Main.xaml ファイルには事前に2つのアクティビティが配置されていると思います。

Attended Framework では具体的な処理は Process.xaml というワークフローに記載していくのですが、Main.xaml 内でこのワークフローを呼び出しています。

その際、呼び出しにて使う【ワークフロー呼び出し】アクティビティを【トライキャッチ】アクティビティで囲むことでこれを可能としています。

実際の業務プロセスを記載するワークフローの呼び出しは次のようになっています。

トライキャッチのfinallyブロックで、例外対応の処理をしている形式となっていますが、「メールを飛ばしたい」「ポップアップを出したい」等行いたい場合は、必要に応じここをカスタマイズをする必要があります。

余談ですが例外の種類としてUiPathでは「アプリケーション例外」と「ビジネス例外」があります。

それぞれ対応も異なると思いますので、例外対応の際は注意してください。



ログの標準実装

先程、finallyブロック内で見たように【ログフィールドの追加】【ログメッセージ】アクティビティが標準で実装されています。

また、Configファイルの「Enable_Screenshot」をTrueとした場合は、スクリーンショットを取得する処理も実装されています。

出力形式もREFramework と同様な形式となっていますので、集計し分析する際も問題なく利用することができます。


まとめ

簡単にですが、 AttendedFrameworkとは?およびその導入メリットについてでした、

引き続きAttendedFrameworkを利用した開発手法についても、説明していきます。

ご不明等有りましたらコメントへよろしくお願いしますφ(゚-゚=)

では、最後までお読みいただきありがとうございました。


参考


UiPathの Attended Framework テンプレートを使ってみた

Quiita の記事です。

導入手順〜テンプレート化まで画像が豊富なのでイメージしやすいです。

導入はちょっと、でも気になっている方にはおすすめです。


いちばんやさしいRPAの教本

RPAの基本的な事柄が網羅的に書かれています。

詳しいことが知りたい方には物足りない内容になるかもしれませんが、RPAのことを大まかに把握したいという方には非常に良い本かと思います。

Kindle Unlimitedで実質無料で読むことができます。


UiPathアカデミー

実践あるのみという方、すでにある程度利用経験がある方はRPAベンダーであるUiPath社が提供している無料Eラーニングである UiPathアカデミー をオススメします。

2020年度にリニューアルされ更に体系的に整理されています。

UiPathは個人で利用する分には無料なので利用してみてください。

※書籍もあるようですがツールのアップデートが早いためおすすめしません


単行本(ソフトカバー): 208ページ 出版社: インプレス (2018/10/15)
単行本(ソフトカバー): 192ページ 出版社: インプレス (2019/2/7)

Be First to Comment

コメントを残す