はじめに
RPAの開発者・管理者向けに、UiPathで開発したロボットのソースファイル(xamlファイル)から、コーディング情報を一覧化するツールを作ってみました。
↓ツールへのリンク
UiPath Coding Checker
【動作環境】
Chrome, Firefox, Edge(IE不可)
【開発】
html, css, JavaScript, Bootstrap
【使い方】
画面右上からxamlファイルを選択し、右側の「Check Start」ボタンを押下(複数ファイル対応)
※補足
ファイルをブラウザ上で処理するだけであるため、チェック対象のファイルが外に出る事はありません(アクセス後にインターネット接続を切っても動きます)
機能説明
本ツールが表示する情報の一覧は以下です。
タブ | 概要 | 表示内容 |
---|---|---|
Dashboard | コーディングサマリ | ・xamlファイル数 ・アクティビティ総数 ・変数総数 ・引数総数 ・分岐総数 |
Activity | アクティビティ情報一覧 | ・アクティビティ別使用数 ・アクティビティ名 ・表示名 ・アノテーション ・スコープ ・スコープID |
Variable | 変数情報一覧 | ・変数名 ・型 ・アノテーション ・初期値 ・スコープ ・スコープID |
Argument | 引数情報一覧 | ・引数名 ・方向 ・型 ・アノテーション ・初期値 |
開発の背景
UiPathはGUIのドラック&ドロップベースのフローチャート形式でロボットが作れるのが売りなんですが、結構困るのが、開発したソースの情報の一覧化が難しい事です。
UiPathは、使用アクティビティや変数、条件分岐数などを開発画面から1つずつ確認するしかないため、よくあるケースとして、
「プロジェクトで策定した開発標準にロボットが準拠できているかのチェックが大変・・」
「ロボットの改修を依頼されたけれど、このロボットの規模感や処理の複雑さがわからない・・」
といった事があります。
プロジェクトで開発標準を策定し、開発標準準拠のチェックシートを作って開発完了時に開発者に提出してもらうというような事も多いと思いますが、そもそも一つ一つの確認作業が大変な上に、一般のシステムに比べて改修が頻繁に発生するRPAにおいて、このチェックは開発者にとって非常に骨の折れる作業になります。
しかも、管理者目線で見ると、チェックシートはあくまでサインでしかないため、本当に守れているかどうかは定かではありません。後から確認したら「実は守れていなかった」「一部抜けがあった」という事例も少なからずあります。
私が参画したプロジェクトでは、品質担保のために、開発者にチェックシートを提出してもらいつつ、更に管理者が定期的に実際のソースを見て確認するという事を実施しており、開発者・管理者共に非常に負荷が高い状態となっていたため、自動チェックツールの作成に至りました。
自動チェックツールの作成により、開発者が開発途中でも随時・簡単に確認可能になったため開発の手戻りが大幅に減った上に、管理者も一覧のチェックのみで済むようになったため、RPA開発の高速化と品質担保に大きく寄与しました。
また、使用アクティビティ数や変数の数、条件分岐数などから、ロボットの規模感や複雑さなども確認できるため、既存ロボットの改修時の見積もりや、ロボットの統廃合の判断材料としても使用可能になりました。
本ツールは、幅広く使えるように、プロジェクト独自の開発標準準拠のチェックや分析箇所を落とし、汎用的なコーディング情報の一覧化に焦点を当てています。
さいごに
プロジェクト毎の開発標準や分析への対応・改善要望等ありましたらお知らせ下さい。
少しでもUiPathを使用して業務改革に取り組まれている方々の役に立てば幸いです。
<参考>
Qiita記事
・RPAは誰でも簡単に作れるという罠
・VBAが組める人ならRPAは簡単に作れるという罠
・RPAへの理解がぐっと深まる、RPAがよくこける理由
・寿司打を自動化してみた【RPA×OCR】
・RPAのオススメ書籍
・RPAの開発に向いている人、向いていない人
・RPAの推進に必須なRPAOpsという考え方
・【AI】Deep Metric Learning
・【AI】Deep Learning for Image Denoising
・Deep Convolutional Autoencoderベースの教師なし異常箇所検知
デモ
・AI World:DeepLearningによるAIのデモサイト
・UiPathCodingChecker:UiPathのxamlファイルからコードを分析
・寿司打自動化(YouTube):タイピングゲーム寿司打のRPA×OCRでの自動化