主要無料RPA比較 (Power Automate Desktop for Win10, UiPath Community Edition, Automation Anywhere Community Edition)

Microsoft Ignite 2021で『[Power Automate DesktopがWindows 10ユーザーが無料で使える](https://rpasouken.com/topic/news/7064/)』というインパクトのある発表が行われました!

Windows 10ユーザーはどこまでRPA機能を無料で使えるのか、また他社の無料RPAと比較して何が違うのか、どういう場合にどちらを使ったほうがいいのか、ということもあわせて検討してみました。

比較検討したのは以下の3つの製品です。
比較内容については、公式にリファレンスがあるものと独自検証のものがありますのでご了承ください。

* [Power Automate Desktop for Windows 10](https://go.microsoft.com/fwlink/?LinkId=2102613&clcid=0x409) (略称:**PAD**)
* [UiPath Community Edition](https://cloud.uipath.com/portal_/register?selected_language=ja) (略称:**UPCE**)
* [Automation Anywhere Community Edition](https://www.automationanywhere.com/jp/products/enterprise/community-edition) (略称:**AACE**)

# 1. 利用環境/利用条件
ざっくり言うと、Windows 10を持っていればPAD for Win10、そうでない場合は他のRPAの無料版を使う、です。

|比較項目|PAD|UPCE|AACE|説明|
|:--|:--|:--|:--|:--|
|業務利用での資格|Win10を持っていれば制限なし|スモールビジネスでの利用のみ可能|スモールビジネスでの利用のみ可能|<ul><li>PADはWin10デバイスを持っていれば個人でも職場でも制限なく使えます。</li><li>UUCEとAACEは個人、学生、かスモールビジネス(マシンが 250台未満、ユーザー数が 250 未満、年間収益が 500 万ドル未満の3条件をすべて満たす)である必要がある。</li></ul>|
|動作OS|Win10全般|Home Edition系を除く<br/>Windows全般<br/>(Client/Server)|Home Edition系を除く<br/>Windows全般<br/>(Client/Server)|<ul><li>PAD for Win10はWindows 10ユーザーのみが無料で利用できる(有料版はこの限りではない)。</li><li>つまりWindows 7/8.xとサーバ系OSでは無料ではありません。これらのOSの場合はUPCEかAACEを使うことになります。</li><li>一方、PAD for Win10は一般消費者向けのWindows 10 Home系でも無料で使えそうなのは特徴です。Home系OSはPAD一択です。(UPCEもAACEもHome系のOSで実際に基本機能が動かないわけではないが、動かない機能もあると思われサポート対象外)</li></ul>|
|インターネット接続|必須|必須|必須|無料版はどれもインターネット接続が必須です。ネット接続のない環境での利用は、UP/AAの有償版が必要です。<ul><li>PADは起動時に職場用アカウント or MSアカウントでのサインインが必要。シナリオの保存もクラウド上。(OneDriveなど)</li><li>UPCEはネット上で登録が必要。Studio自体はクライアントソフトウェアだが、実行時に毎回ネット経由でライセンス認証をしている。</li><li>AACEはブラウザー+クラウドベースなので、ネットがないとそもそも動かない。</li></ul>|

#2. 開発機能
RPAのコア機能については、細かい差異はいくつかあるものの、大まかなカテゴリで見ると、どのツールも大差がありません。ただし、RPAの周辺機能 (OCR、デジタルアシスタント、プロセスディスカバリ)については無料で使えるかどうかは大きな違いがあります。
どのRPAツールを選ぶかは、コア機能の有無というよりは、その他の条件で決めていくことになるでしょう。

|比較項目|PAD|UPCE|AACE|説明|
|:--|:--:|:--:|:--:|:--|
|利用可能コマンド数|約450|約420+拡張|約740|UPCEは開発環境内からインターネット上の追加パッケージを検索してシームレスに追加する仕組みがあります。|
|コマンド拡張|❌|👍|❌|UPCEのみインターネット上の追加パッケージを入れていくことでどんどん拡張コマンドを獲得可能です。AACEはコミュニティ版では拡張機能がありません。|
|開発画面|フロー|フロー<br/>(2種類)|フロー<br/>リスト|UPCEはStudio/StudioXの2種類のモードがあり、StduioX⇒Studioへの変換は一方向。AACEはフロー/リストを相互に表示変更可能、アクション数が増えたときの見通しが良い。|
|エラーハンドリング|👍|👍|👍|TryCatchやRetry、Ignoreなど、対応している方式はツールにより異なるが、どれもエラー処理は行うことが可能。|
|デバッグ機能|👍|👍|👍|どのツールもデバッグモード、ステップ実行、ブレークポイント、変数ウォッチなどに対応。|
|ローカルPCアプリケーションの画面操作|👍|👍|👍|どのRPAツールもMSAAやUI AutomationといったアクセシビリティAPIを利用して安定した画面操作を行うことができる。|
|Webアプリケーションの画面操作|👍|👍|👍|どのRPAツールもDOMを利用した安定した画面操作を行うことができる。|
|Webの壊れたリンクの検出|❌|❌|👍|AACEには、ページのリンク切れを検出する専用のコマンドがある。|
|画面レコーダー|👍|👍|👍|画面操作を記録できる仕組みとしていくつかの方式がある。PADはWebレコーダとデスクトップレコーダの2種類、UPCEはベーシック、デスクトップ、Web、画像、ネイティブCitrix、コンピュータビジョンの6種類、AACEはユニバーサルレコーダとAISenseの2種類ある。|
|対応ブラウザー|IE, Chrome, Edge, Firefox|IE, Chrome, Edge, Firefox|IE, Chrome, Edge, Firefox|どのRPAツールもメジャーな4種類のブラウザーに対応。IEは拡張機能不要、その他はブラウザ拡張プレグインのインストールで画面操作などの連携が可能です。AACEの一部のレガシーブラウザー機能はIEにしか対応していません。|
|変数|👍|👍|👍|どのRPAツールも、情報を保持しておくための変数が使える。保持するデータの種類によりデータ型を選択でき、インラインでデータ型を変換する型キャスト機能を備える。PADとAACEには、変数を自動生成する機能があるため、プログラマーでなくても比較的簡単に変数を使うことができます。|
|ファイル/フォルダ処理|👍|👍|👍|ファイル/フォルダーのコピー、削除などの基本操作を実行するコマンドがあります。|
|ファイルの圧縮/解凍|👍|👍|👍|ZIP形式圧縮ファイルにファイルを格納、取り出しが可能です。|
|Excel連携|👍|👍|👍|Excelがインストールされている環境で、Excelを介した自動化ができます。PADは約25種類、UPCEは約40種類、AACEは約50種類のコマンドがあります。|
|Excelなしの環境でのExcelファイル連携|❌|👍|👍|UPCEとAACEには、Excelがインストールされていない環境でZIP+XML形式の.xlsxファイルを直接操作するコマンドが含まれている。Excelありの環境でのコマンドに比べるとできることは少なく、UPCEでは約10種類、AACEでは約15種類のコマンドが実装されている。Excelライセンスがいらないので大量のマシンで単純処理を並列実行する場合に安価に環境を整えることができ便利。|
|CSV連携|👍|👍|👍|テキスト形式のCSVファイルからデータを読み込んだりデータを書き込んだりできます。|
|データベース連携|👍|🔺|👍|PADはSQL接続文字列を使って標準でいろいろなデータベースに接続できます。UPSEはUiPath.Database.Activitiesなど様々な追加パッケージをインストールすることでデータベース接続が可能になります。AACEはSQL Server、MSAccess、Oracle、MySQLなどの中から選択をして操作をするコマンドが標準であります。|
|Webサービス連携|👍|🔺|👍|PADは標準でREST、JSON、XML関係のコマンドが使える。UPSEはUiPath.Web.Activitiesで拡張すると、SOAP、REST、JSON、XML関係のコマンドが使えるようになる。AACEは標準でSOAP、REST、JSON、XML関係のコマンドが使える。|
|メール連携|👍|👍|👍|POP/IMAP/SMTPやExchange、Outlookなどを介したメールの送受信ができます。UPCEでは加えてLotus Dominoもサポートしています。|
|PDFからの情報抽出|👍|🔺|👍|PADとUPCEはPDFから画像/テキストを抽出、PDFファイルの統合などを行うことができます。。UPCEはUiPath.Activities.PDFの追加インストールでPDFから情報を取り出せるようになります。|
|ターミナルエミュレータ|👍|🔺|👍|PADはMicro Focus Relection APIやHLLAPIをプロバイダーとして指定することでターミナルエミュレーションが可能です。UipathはUiPath.Activities.Terminalで拡張するとネイティブで可能。AACEはANSI、VT100、TN3270E、TN5250Eといった定義済みのターミナルに対してネイティブで対応します。|
|OCR連携|🔺|🔺|👍|PADとUPCEは画面ショットまたは単一文書の画像からの文字抽出機能、AACEはそれに加えてたくさんの準定形文書を扱えるIQBotエンジンが月に100ページまで使えます。PADは無料枠としてMODI or Tesseractエンジン(どちらも要追加インストール)と連携しているが、MODIはOffice 2007までにバンドルされていたが、すでにサポート終了でWebでの無料SharePoint Designer 2007の配布も終了、Google Tesseractはオープンソースでほぼ使い物にならない。別途料金が発生するGoogle / MS Vision APIでテキスト抽出が可能。UPCEは無料枠でTesseract/MODIとの連携が可能、追加パッケージUiPath.OmniPage.ActivitiesをインストールするとOmniPage OCRが無料で使え日本語も可能。無料枠ではOmniPageの日本語精度が一番高い。別途料金が発生するGoogle / MS Vision APIでテキスト抽出が可能。AACEはOCRコマンドとIQBotコマンドの2系統に大別でき、OCRコマンドはABBYYを無料で使え日本語にも対応、IQBotはABBYYに加えTessearct/Google Vision API/Azure Computer Vision APIが無料で使えてしまう。|
|クラウドサービス連携|👍|👍|👍|クラウド連携は連携先のクラウドサービスの費用が別途発生します。PADはAWS EC2、Azure VM/リソースグループとGoogle / IBM / MSのコグニティブAPIを直接呼び出せるコマンドがあります。UPCEには、Azure / Google Computer Vision APIが標準で使えるが、パッケージ拡張により様々なクラウドのコマンドが使えるようになる。AWS Comprehend NLP、G-Suite、IBM Watson Speech to Text、MS Anomaly Detection、MS LUIS NLP、Office 365/OneDriveといったサービスと標準で連携するコマンドがあります。|
|SAP|❌|👍|👍|UPCEとAACEには、SAPアプリケーションに特化した操作コマンドがあります。|
|トリガー|❌|👍|👍|ローカルPC上での各種イベント (ファイルの出現、メール受信など)をトリガーとしてロボットを実行開始またはリッスンループを抜ける仕組みがUPCEとAACEにはあります。|
|デジタルアシスタント連携|❌|❌|👍|AACEはデジタルアシスタントAARIを呼び出すコマンドがあり、AARIもAACEで利用可能。|
|VBScript/Javascript実行|👍|👍|👍|どのRPAツールもVBScript/JavaScriptをサブルーチンとして呼び出すことができ、変数の引き渡し/受け取りなどを行うことができます。|
|Python実行|👍|🔺|👍|PADとAACEはPythonをサブルーチンとして呼び出すことができ、変数の引き渡し/受け取りなどを行うことができます。UPCEは普通のプログラムとしてPythonを外部呼出しして、テキストファイル等を介して値をやり取りする必要があります。UPCEはUiPath.Python.Activitiesで拡張するとネイティブで可能。|
|DLL関数実行|❌|👍|👍|UPCEはCOMベースの関数を呼び出すことができる。AACEはC#で作られたDLLの関数をサブルーチンとして呼び出すことができ、変数の引き渡し/受け取りなどを行うことができます。|
|外部ロボット実行|👍|👍|👍|どのツールも外部ロボットをサブルーチンとして呼び出すことができ、変数の引き渡し/受け取りなどを行うことができます。|
|ロボットの保存先|クラウド|ローカルPC|クラウド|ロボットの保存先はUPCEのみローカルファイルとして保存されます。PADとAACEはクラウド側に保存され、また、いずれもローカルに取り出すことができません。|
|Git連携|❌|🔺|❌|UPCEはクライアント側のUiPath Studio経由でGit連携ができます。|

#3. サーバ機能
PAD for Win10は、サーバ側(クラウド、MSアカウントならOneDriveなど)に情報を保存するものの、他のサーバ機能は利用できません。UiPath Community EditionとAutomation Anywhere Community Editionは、制限はあるもののいくつかのサーバ機能が利用できるため、この部分の機能が必須な場合はこれらのCommunity Editionを利用するのが望ましいです。UPCEはUiPath Orchestrator Community Editionの機能を使うことが前提です。

|比較項目|PAD|UPCE|AACE|説明|
|:--|:--:|:--:|:--:|:--|
|ユーザー管理|❌|🔺|🔺|UPCEとAACEでは、1ユーザーしかいないのであまり意味がないが、ユーザー情報、ライセンス管理は可能。権限変更などは不可。|
|デバイス管理|❌|👍|👍|UPCEとAACEでは可能。UPCEでは2デバイスまで利用できる。AACEは複数デバイスを登録できるが同時実行は1デバイス。|
|ユーザー/パスワード管理|❌|👍|👍|UPCEはOrchestratorのアセット機能で、AACEはCredential Vault機能で可能。|
|ロボット管理|❌|👍|❌|UPCEでは管理が可能。|
|活動履歴|❌|🔺|👍|UPCEはOrchestrator上の活動履歴のみわかる。AACEはロボットの実行も含めて履歴がわかる。|
|実行スケジュール管理|❌|👍|❌|UPCEは可能。|
|ダッシュボード|❌|👍|👍|UUCEとAACEはロボットの実行状況、およびロボット内の変数で扱ったデータを可視化する機能が利用できる。|
|無料テンプレート利用|❌|👍|🔺|UPCEはアクションパッケージの拡張、ロボットのインポートがいずれもできる。AACEはロボットのインポートのみ可能。|