Help us understand the problem. What is going on with this article?

【RPA】コーディング知識の必要度/ツール別比較

RPAはシステム開発と違って現場のメンバーでも開発できる、というのが売りの1つなのですが、利用するRPAツールによってはそれが本当ではなくなることがあります。フローチャートの作成までは簡単であっても、そのプロパティにロジックを仕込む段階で難易度が格段に上がるツールもあります。そうなってしまうと、高度なコーディングスキルを持つ担当者を常に張り付けておく必要があり、いつまでたっても外注に頼る=システム開発と同じ状況に陥ってしまいかねません。現場メンバーの(一番できる人ではなく)平均的なスキルレベルにあわせて、そのコーディングレベルにあわせたRPAツールを選択する必要があります。

ということで、この点に絞って主要5大RPAソフトウェア (WinActor、BizRobo!、UiPath、Automation Anywhere、Blue Prism)の必要なコーディングスキルのレベルを比べてみたいと思います。

ロジックの作成とコーティング知識の必要度 - ずばり比較!

RPAソフトウェア 必要なコーディングレベル 説明
WinActor ★★★★★ 各シナリオにはプロパティのスクリプト実行にVBScriptを埋め込むことでロジックが組めます。ただし、ダイアログボックス内のテキストボックスにスクリプトをべた張りするだけなので、ステップインなどのデバッグ機能はなく、待機ボックスやログ出力をコード内に仕込んでデバッグする必要があるなど、デバッグには高度なテクニックが必要になります。
変数一覧を表示しておき、必要な場所で「待機ボックス」ノードで一次停止すると変数の内容確認ができます。もしくは、「デバッグ:変数値保存」でログに書き出すなどする必要があります。
BizRobo! ★★★★ 各ステップの「アクション」として「値判定」をはじめとしていくつかのアクションで条件/値を指定するところで「エクスプレッション」、つまり式や関数などによる指定を行うことができます。関数やオペレーターはJava様式です。ドロップダウンメニューを選択していくことによる入力支援機能があるので、利用できる関数やオペレーター自体を覚える必要はないものの、並べ方までは支援してくれないため、文法や引数の数などを正しく配置するために、Javaの知識が必要になります。文法が正しくないと赤い感嘆符が表示されて赤の波線が表示されることがあるが、コーディングを知らない人はどう直せばいいかお手上げでしょう。デバッグモードではステップごとに実行して一時停止したり、ブレークポイントを設定する機能があります。
UiPath ★★★★★ 各アクティビティに付属する様々なプロパティで「VBの式」を設定することができる。その書式はほぼVisual Basic.NETであり、式エディターでは入力していくとVB.NETのクラスや関数がインテリセンスで表示される。まさにVisual Studioで開発しているのと同じ感覚でコーディングを行うことになる。Visual Studioに慣れている開発者であれば容易に使いこなせる一方、スキルの高くない現場メンバーには難しい。デバッグ機能もVisual Studioと同様、ステップイン/ステップオーバーや変数の監視など様々な機能が用意されている。
Automation Anywhere 各コマンドをドラッグ&ドロップして表示されるダイアログボックスは文字列の指定を除くと関数や数式を入力できる自由度はほぼない。そのため、コーディングの知識がなくてもダイアログボックス上で選択肢を選択していくだけでロジックが完成します。
アクションリスト単位でのデバッグ機能があり、1コマンド毎に実行を一時停止して変数の中身を見るステップオーバー機能や、ブレークポイントを設定する機能があります。部品ロボットであるMeta Botは通常のロボットと同じコマンドから構成することもでき、任意の開発言語でDLLを作成してそれを呼び出すようにすることもできる。
Blue Prism ★★ 開発工程はオブジェクトとプロセスの設計に分かれている。フローチャートの各ステップでアクションプロパティにVBO (Visual Business Object) と呼ばれるライブラリを指定してその中のアクションを指定して入出力の引数を指定することでロジックを組むので、基本はコーディングは発生しない。一部のダイアログボックスでは式/関数の入力を求められる。入力支援機能があるものの、手入力と修正を許す自由度があるため、このダイアログボックスの編集では多少のコーディング知識が求められます。
デバッグ機能は、実行中に停止したり、データ項目を書き換えて途中から実行する等の機能があります。また、VBOはVisual Basic.NET/C#で開発します。

WinActorのロジック作成画面

ダイアログボックスのテキストボックスにスクリプトを貼り付ける構造になっています。入力支援の仕組みや、ステップインなどのデバッグの仕組みは備わっていません。
WinActor-code.png

BizRobo!のロジック作成画面

アクションの内容も、エクスプレッション (数式) で使える関数やオペレーターも、すべてメニュー形式で選んでいけるのは初心者にもやさしい。ただし、自由に入力できる余地があるので、いくら支援機能があったとしてもコーディングの知識がないと正しい式は組めないでしょう。
bizrobo-code.gif

UiPathのロジック作成画面

アクティビティの様々なプロパティで「VBの式」の入力が可能で、式エディターではVisual Studioのインテリセンスという入力支援機能がほぼそのままの形で利用できる。ただし、VB.NETのクラスや関数をある程度覚えている必要がある。
uipath-code.gif

また、UiPathは変数に利用できる型が豊富であり、VB.NETのライブラリがそのまま使えるが、これも知識のない現場メンバーには難しく感じるでしょう。逆に、メンバーにVisual Studioを使いこなす平均的なスキルがあるのであれば、さまざまな自由度があるので重宝します。
image.png

Automation Anywhereのロジック作成画面

Automation Anywhereでは左側のコマンドリストからドラッグ&ドロップでコマンドを追加します。ドロップが完了するとオプション設定のダイアログボックスが表示されます。
AutomationAnywhere-command.gif

ダイアログボックス内では選択式のユーザーインターフェイスとなっており、自由に入力できる部分は基本、静的テキストを入力するボックスです。変数に値を代入するVariable Operationコマンドでは、四則演算と変数を使った簡単な式を入力できます。文法を間違った場合は文字列として認識されます。少し複雑な式を作ろうとすると、このVariable Operationを変数を媒介して複数回実行する必要があり、多少まどろっこしいと感じる場合もあるでしょう。
image.png

Blue Prismのロジック作成画面

Blue Prismでは、フローチャートのアクションプロパティでビジネスイブジェクト内のアクションを指定していくという方法でロジックを組んでいきます。VBO (Visual Business Object) というライブラリが標準またはインターネット上で配布されており、必要なVBOを指定してそのアクションを指定して、入力、出力の引数を指定すれば動作するようになっており、基本的にはコーディングは発生しない。
image.png

ただし、「計算のプロパティ」など一部のダイアログボックスでは数式を最終的に手入力で入れることが求められます。基本は左側の関数からドラッグ&ドロップするのですが、最終的な文法チェックは手で修正した後に「Evaluate Expression」ボタンを押して評価するため、ここで間違った文法で指定すると修正するにはコーディングの知識が一部必要になります。
image.png

まとめ

まとめると、WinActor、UiPathは最もコーディングスキルが要求されるつくりになっています。現場のメンバーが触れるロジックもその分自由度が高くなっています。BizRobo!は次いでスキルが要求されます。Automation AnywhereとBlue Prismはコーディングスキルはあまり要求されないため、スキルレベルが高くない現場メンバーでも扱うことが容易です。

関連記事

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away