日本のRPA市場はWinActorとUiPathの2強と業界内では言われています。
筆者はIT業界に10年程在籍しており、RPA導入案件、運用保守にも携わっております。
RPA導入となった場合、これまでの経験上はほぼ間違いなくWinActorかUiPathで争っています。
そこで結局、どっちを導入すべきか?
という問いにお答えすべくこの記事を書きました。
結論はどちらも一長一短があり結論は出せない。
というのが私の結論です。
申し訳ございません。
結局のところ個々の事情によってベストなRPAは変わります。
少しでもお役に立てますようWinActorとUiPathの長所短所を書いていきます。
まずは比較と言っても何を基準にして比較すべきか?
という問題があります。
そこで物差しとなる基準を下記の通りとします。
以上の3点で比較したいと思います。
まずは価格ですね!
一番気になるところではないでしょうか。
WinActor 908000円/年
※あくまで定価ですので実際はもっとお安くなります。
UiPath 定価が公表されておらず不明です。
販売代理店から見積書を頂くしかないようです。
しかし年額60万程度と聞いたことがあります。
価格は仕入先や時期によって様々のようですね。
特に様々なRPAが出現して競争が激化しています。
※UiPathの場合は条件を満たせば無料で利用できます!
ライセンス費用はUiPathの方が安くすむ場合が多いようですが、
後述するようにUiPathの方が操作難易度が高いため後々RPAエンジニアにかかる保守費用も考えると
WinActorの方が安くすむというパターンも多いようです。
ですので単純に年間ライセンス費だけで比較するのは危険です。
RPAはノンプログラマーでもできる!
というのが謳い文句であります。
実際のところはどうなでしょうか?
SEやプログラマーでない人と言っても
様々です。
学生時代は理系だったが、現在は全く別仕事をしている人。
そもそも理系科目がだっ嫌いな人。
文系を歩んできたが論理的思考に優れた方。
まあ色々ですよね。
それを一色単にして
ノンプログラマーでできるというのはいささか乱暴な言い方に感じます。
私の経験上は
ノンプログラマーでも可能ではあるが、論理的思考力及び
パソコンスキルが必要と考えます。
なぜならRPAは人がするパソコン操作を覚えさせるため、そのパソコン操作を人がしっかり理解できていないとRPAに指示できません。
これはWinActor、UiPathともに必須になります。
さて本題に入ります。
習得するまでの難易度ですが
これは圧倒的にWinActorの方が優れていると思います。
感覚的に使えるというのが理由になります。
UiPathはプログラミング的な思考が非常に強いため、
プログラミング経験のない方はやや時間を要すると考えます。
しかし逆を言えばプログラミング経験のある方にとってはUiPathの方が
プログラミングに近いため使いやすいと感じられるかもしれません。
では実際に自動化処理をやってみて比較してみます。
そこで下記の処理をWinActorとUiPathそれぞれで作ってみました。
難易度や機能面の違いがわかると思います。
比べてみましょう。
ブラウザ起動するという処理を両方のRPAで処理を作ってみました。
・WinActorの場合
ライブラリURLを指定してIE起動を使います。
下記のようにフローチャート画面にドラッグアンドドロップでセットします。
URLを指定してIE起動をダブルクリックします。
以下のように設定画面が現れます。
URLに表示したいURLを記入すれば完了です。
・UiPathの場合
アクティビティブラウザを開くをドラッグアンドドロップでセットします。
下図のブラウザを開く内のここにURLを入力します。
にURLを入力すれば完了です。
※アクティビティはWinActorのライブラリ、ノードと同じ意味です。
いかがでしょうか。
どちらも似たような感じではあります。
まとめます。
WinActorの使い方① ブラウザの起動Edge Chrome
分岐処理を両方のRPAで処理を作ってみました。
変数に点数を入力してそれが80点以上かどうかという分岐です。
※変数は箱のような入れ物と思ってください。
・WinActorの場合
ノードから分岐を下記のようにセットします。
ダブルクリックしてプロパティを開きます。
以下のように設定すれば完了です。
※点数は変数になります。
箱ですので50を入れることもできれば80を入れることもできます。
・UiPathの場合
利用可能→System→Activities→Statements→条件分岐アクティビティをドラッグアンドドロップします。
※シーケンスは自動的に入ります。
条件式は80以上かどうかですので
下記のように条件式を直接入力します。
これで完了といいたいところなのですが
UiPathでは点数という変数をいきなり書き込んでも
”そんなものないよ!”
と警告表示が出現するだけです。
ですので変数パネルから変数:点数を宣言しなければなりません。
対してWinActorでは宣言のない変数に対しては警告ポップアップが出現し
その場で変数を登録してくれます。
変数パネルをひらきます。
変数:点数を宣言します。
更に変数の型Int32に設定します。
※プログラミングの世界では型という概念があります。
Stringは文字列を意味しております。
今回は80以上か?という数字で判別するためInt32へ変更する必要があります。
いかがでしょうか。
分岐処理ではやや違いが出てきました。
分岐処理で新たに出てきた違いをまとめてみます。
それぞれの分岐処理の詳細は下記を参考にしてみてください。
次は繰り返し処理で比較してみましょう。
表形式データを用いて繰り返し処理を作ってみました。
比較してみましょう!
その前に、表形式データとは何でしょうか?
下図のような行と列をもつデータです。
金額や距離は適当に入力したので無視してほしいのですが、
出発駅、到着駅・・・のようにヘッダーがあります。
ExcelだったりCSVだったりします。
RPAではこのような表形式データを取り込んで処理させることが可能です。
それではこのような表形式データをWinActor、UiPathに取り込んで処理をさせてみましょう!
・WinActorの場合
表示タブのデータ一覧をクリック、
一番左側のデータインポートをクリックします。
ファイル、シート名を指定します。
※見出し(ヘッダー)は必須です。
見出しが変数になります。ここでは出発と到着。
インポートしたデータ分繰り返して処理をしてくれます。
後は繰り返したい処理を作ればOKです。
・UiPathの場合
利用可能→アプリの連携→Excel→Excelアプリケーションスコープを用います。
インポートするExcelファイルを指定します。
範囲を読み込みアクティビティを追加します。
読み込みしたいシート名を記入します。
プロパティを開いて設定します。
出力にはデータテーブルの⊕をクリックして変数駅名テーブルを作成します。
後はWinActor同様に繰り返したい処理を作ればOKです。
表形式データを用いる場合も双方で設定方法が異なることが分かります。
それでは違いをまとめます。
表形式データの扱い方は双方で大きく異なります。
優劣をつけるのは非常に難しいのですが、複数の表形式データを用いる処理を自動化したい場合はUiPathの方が向いているとも思えます。
それぞれの処理の詳細は下記をどうぞ。
WinActorの使い方⑤データ一覧を用いて繰り返し処理を作ってみよう。
UiPathの使い方⑤繰り返し処理をデータテーブルを用いてつくる。
スクレイピングとはウェブからデータを取得することを意味します。
今回は表データを取得する処理を比較してみましょう。
下記webサイトの表データを取得します。
https://ja.wikipedia.org/wiki/Microsoft_Window
・WinActorの場合
04_自動記録アクション→01_デバッグ→表の値取得(IE)を使います。
表の値取得のプロパティを開き、対象コントロール等を設定します。
次に出力先を指定します。
更新ボタンを押下すれば完了です。
・UiPathの場合
データスクレイピングをクリックします。
詳細設定は省きますが、設定が終わりますと下記のようになります。
プロパティを開くと出力先のデータテーブル変数名:ExtractDataTableが設定されています。
その後表データをCSVに出力する設定をします。
利用可能→アプリの連携→CSV→CSVに書き込みアクティビティを利用します。
下記に出力先を設定すれば完了です。
※Excelファイルに出力したい場合はExcelアプリケーションスコープを用います。
まとめてみましょう。
5-1WinActorのフローチャート画面の操作性の高さ!
WinActorのフローチャー画面のつくりが非常に優れていると思います。
下記のようにノード、ライブラリの出し入れが可能なのです。
UiPathはできません。
不要なら消すしかありません。
輪郭マッチングではイマイチだな・・・
一旦外に出しておいて詳細設定はそのままで後から別のところで使う
という事が可能です。
またwinactorでは不要なノードやライブラリは一括削除できます。
不要なものを下記のように囲んで削除できます。
下記を参考にしてみてください。
5-2WinActorのウィンドウを閉じるのが便利!
プロパティ(詳細設定画面)を閉じる場合、赤矢印の×ボタンで閉じるのですが
プロパティ画面以外の箇所をクリックしてもウィンドウが閉じます。
青紫で囲ったあたりをクリックすれば誤操作もなく良いでしょう。
5-3WinActorのパス設定でドラッグアンドドロップを活用!
ファイルやアプリケーションのパス設定をする場合、
パスをコピーして貼り付けると思いますが、
ドラッグアンドドロップも利用できます。
5-4変数適応範囲の違い
UiPathでは変数の適応範囲を常に意識しなければなりません。
宣言して宣言の範囲内でしか利用できません。
WinActorではその必要はありません。
※書籍を読み比べるのも良いかもしれません。
実際使って比べてみるのが一番ですが現実無理かと思います。
書籍でも多少イメージがわくでしょう。
両方とも同じ著者が書いていますので比較しやすいです。
最後の比較です。
機能面や難易度もエンジニアにとって重要ですが
RPAエンジニアとして仕事をする上でどちらが良いかという点を考えます。
結論はUiPath案件の方が圧倒的に多いです。
ですのでRPAエンジニアとして身を立てるのであればUiPathの技術習得は必須と思います。
なぜ多いかというのはやはりUiPathの方が難しいんですね。
なので企業さんも依頼するならUiPathになってしまうのだと思います。
WinActorはUiPathと比べて簡単であると感じる方が多いようです。
これは私もそう思いますし、RPA業界でよく言われていることです。
本記事を読まれた方であればWinActorの方が操作しやすく感じられたのではないでしょうか。
WinActorの方が難易度が低い点を考えると、エンジニアの内製化を進めやすいという利点があります。
より自動化を進めやすくなるかもしれません。
UiPathの方が技術情報が多いです。
ネット上でかなり解決できます。
WinActorは・・・・。
個人であれば利用可能なUiPathに対して個人であってもWinActorはライセンス料がかかりますので、フリーのエンジニアが記事を書きにくいのだと思います。
UiPathの方が軽く感じます。
エンジニアでないと気にならない点かもしれませんが、
この動きの軽快さはエラー率にも関わってくるかもしれません。
※正確に計ったわけではないです。
いずれは比較して記事を書きたいと思います。
ここまで読んで頂きありがとうございました。
私自身WinActor、UiPathの全てを知っているわけではありませんし、
特にUiPathについてはまだまだです。
そのため本記事の内容はあくまで2022年1月現在です。
それぞれのRPAの機能も日々アップデートしています。
日々勉強し記事はリライトしていきます。
宜しくお願い致します。
現時点での結論を比較表にしてみました。
優れているRPAツール | 備考 | |
金額 | UiPath | 実際は仕入先によって金額はまちまちです。 個人であれば無料でUiPathは利用できますのでUiPathの方が優れていると結論づけます。 ※あくまでライセンス費用の話です。 |
習得までの難易度 | WinActor | WinActorの方が簡易的です。設定が細かくありません。変数の型などが顕著な例です。 |
機能面 | UiPath | 詳細に設定しなければならない分、細かな調整もききそうです。拡張性も感じられますが、WinActorでも代理店が独自でオリジナルライブラリを作ったりしておりますので負けていません。 但し、表データの扱いについてはUiPathが優れています。 操作性ではwinactorの方が使いやすいです。 |
動作速度 | UiPath | UiPathの方がやや軽く感じます。 |
エンジニア目線では? | UiPath | UiPathの方がお仕事はあるでしょう。それだけUiPathは難しいという意味かもしれません。 |
インターネットの情報 | UiPath | UiPathの方が情報が多いように思われます。 |
保守性 | WinActor | WinActorの方が難易度が低いためエンジニアを内製化しやすいと思います。内部に詳しい人材がいれば保守もやりやすくなります。 |