RPAと無料自動化ツールの違いは?

2020/07/24 コラム



 RPA (ロボティック・プロセス・オートメーション: Robotic Process Automation)の導入を検討する際に、比較対象としてあがってくる可能性があるのが、SeleniumSikuliXなどのオープンソースの自動化ツールだ。また、UWSCといったフリーウェア/シェアウェアや、PythonPowerShellVBScript等を使った自動化も出てくる可能性がある。この記事では、RPAと無料自動化ツールとの違いを紐解いていく。

 

操作する技術は同じ

 RPAといままでの自動化との違いを特徴づけるものとして「人間のデジタル行動を模倣するソフトウェアベースのロボット」を使うことが挙げられる。これはつまり人間がパソコンのユーザーインターフェイス (UI)を通して操作する方法を模倣する方法である。しかし、このUIを操作する自動化」が特別な技術を使っているかというとそうではなく、OSやブラウザーに20年近く前から組み込まれているしくみを利用しているに過ぎない。この仕組みは誰でも簡単に実装できる。

 UIを操作するしくみは大きく分けて2種類ある。ひとつは画面のUI要素を分解して、対象としているUI要素を掴んで操作する方法 (専門的にはアクセシビリティAPIを使う方法と言う)、もうひとつは画面を画像ととらえて画像認識を行い対象となるUI要素の範囲を決める方法である。前者の方が操作精度が高く、通常は前者の方法から試し、前者の方法が使えないような画面転送 (リモートデスクトップ、仮想マシン画面)や特殊なUIの場合に後者を用いる※。

 しかし前者の方法は前述したようにOSやブラウザーの標準APIで使えるため、SeleniumSikuliXといった無料自動化ツールでも実装されている。加えてAPIの呼び出し方さえ知っていればPythonPowerShellVBScriptのようなスクリプト言語からも呼び出しが可能である。

 それではなぜ、無料自動化ツールでも実装できる技術を使っているRPAを有料で採用すべきなのだろうか。

 

構築するための難易度が違う

 無料自動化ツールはIT技術に詳しいユーザーを対象ユーザーにしている。そのため、使いこなすにはITの技術やプログラミング言語の知識が必要になってくる。それに対してRPAはプログラミングができない一般ユーザーを対象としており、フローチャートを視覚的にマウス操作で構築して行けるなど、工夫がされている。

 また、UI操作は操作の前後で適切な待機時間を取る必要があったり、画面解像度を適切に設定する必要があるなど、設定にノウハウが必要になってくる。このような操作上のノウハウがない場合、UI操作は結構な割合で失敗してしまうことがある。よくできたRPAツールであれば、ユーザーが特に意識しなくても適切な値があらかじめ設定されており、UI操作の失敗を最小限に食い止めることが可能である。

 

管理ツールの有無

 また、忘れがちなのがロボットの構築だけではなく、構築後の運用時の管理の手間である。ユーザー1人が自分のデスクトップPCだけで運用する場合はあまり問題にならないが、組織的にある程度の規模で自動化を行おうとすると大きな違いが出てくる。自動化を本格的に運用するフェーズになると構築よりも運用管理に問題が出てくることが多い。

 RPA (サーバ型RPAの場合)は、複数のロボットを適切なパソコンで運用ができるよう、スケジュールやスケーリング機能が備わっていたり、また運用の履歴をしっかり記録して不正な動作を監視、ユーザー名とパスワードなど第三者に知られることなくシステムに入力されるべき文字列を安全に管理できるしくみなど、運用上必要になってくるしくみが備わっている。同等の事を無料自動化ツールで行おうとした場合、運用に行き詰ってしまうだろう。

 

導入する際の総コストの違い

 無料自動化ツールを使う場合でも、このような管理ツールをはじめとした不足している機能を、他の製品と組み合わせたり作り込みをすることで実現することは不可能ではないだろう。ただ、それを行うには、はじめからRPAツールを採用する以上に費用が掛かってしまうことがほとんどである。

 

 

 技術者ばかりでない現場メンバーを巻き込んで、複数人数で自動化プロジェクトを行おうと思った場合には、RPAツールを使って自動化を進めていくことが結果的に最小のコストで実施できることになるであろう。

 

※ シェアの高いRPAツールでもなぜかアクセシビリティAPIを使わず画像認識の方法飲みに対応しているツールがある。この場合、UI操作の精度は低くなるので注意が必要である。