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

【RPA】どのランタイム環境上で作られているか/ツール別比較

RPAソフトウェアはロボットが動作するプラットフォームですが、OSの上で動くソフトウェアでもあります。そして、いずれのRPAソフトウェアもOSの上で動くソフトウェア開発/ランタイム環境の機能を使って構築されています。これによってRPAソフトウェアのUI、動作プラットフォームや実行速度など、いくつかの点でランタイム環境上で動作するRPAソフトウェアが制約を受けることがあります。ということで、どのランタイム環境上で作られているかについて主要5大RPAソフトウェア (WinActor、BizRobo!、UiPath、Automation Anywhere、Blue Prism)の比較をしてみたいと思います。

どのランタイム環境上で作られているか - ずばり比較!

RPAソフトウェア 構築プラットフォーム 説明
WinActor Amazon Corretto OpenJDK 8 (~v6)
Microsoft .NET Framework 4.8+(v7)
Version 6.xまではJavaランタイム環境上で動作していましたが、v7より.NET Frameworkに切り替えて全面作り直しをすることによりUIの刷新と実行速度の向上を図っています。
BizRobo! Oracle Java SE 8 or OpenJDK8 (v10.x) 昔からJava8一択で動作します。RPAソフトウェアとして利用できる機能の中にもJavaの特長が組み込まれています。開発環境、運用環境ともWindows/Linuxの両方に対応しています。
UiPath Microsoft .NET Framework 4.6.1+ 昔から.NET Framework一択で動作します。RPAソフトウェアとして利用できる機能の中にも.NET Frameworkの変数や式の構文の特長が組み込まれています。
Automation Anywhere Microsoft .NET Framework 4.6+(~v11)
Java 11 Zulu OpenJDK (A2019)
v11.xまでは.NET Framework上で動作していましたが、A2019よりJava11に切り替えて全面作り直しをしています。Windows以外にMacやLinuxなどマルチプラットフォームへの展開を見据えています。現時点でサーバー環境はWindows/Linux両方に対応しています。
Blue Prism Microsoft .NET Framework 4.7+ 昔から.NET Framework一択で動作します。

個人的には、WinActorとAutomation Anywhereがランタイム環境を真逆の方向に移行しているのが興味深いです。WinActorは元々Windows環境のみをターゲットしているのにJavaを使っていたので、Ver.7 でパフォーマンス向上を目的としてランタイム環境乗り換えを決断したのでしょうか。逆にAutomation Anywhereはマルチプラットフォーム化を目指してランタイム環境を乗り換えたのでしょうか。

以下は、開発者視点ではなく、ランタイム環境上で実行されるソフトウェアをエンドユーザーが使う観点からのそれぞれのメリット、デメリットを記載してみました~

Javaのメリット、デメリット

メリット

  • Javaが動作する環境「JVM (Java仮想環境)」はWindows、Mac、Linux、Android、iOSなど様々なプラットフォームに移植されており、マルチプラットフォーム化に適しています。エンドユーザーは様々なOSで同じソフトウェアを動作させることが可能となります。

デメリット

  • 一般的に言ってJavaのプログラムは起動や実行がC/C++や.NET Frameworkで書かれたプログラムよりも遅く、実際にエンドユーザーが使う環境下だと動作がもっさりしている印象を受けます。1
  • ユーザーインターフェイスの作りが通常のWindowsアプリケーションと異なる印象になります。フォントもつくりを気を付けないと設定によっては日本語文字に中華フォントが使われてしまうなど、違和感が出ます。

.NET Frameworkのメリット、デメリット

メリット

  • Windows環境上でアプリケーションを構築する場合は、エンドユーザーにとっては高速で通常のアプリケーションと同じユーザーインターフェイスで使うことができます。

デメリット

  • Windows以外の環境への移植がまだ実績がありません。wineや.NET CoreによるLinux環境などへの移植も進んでいますが、実用化段階に至るのはもう少し先の話になりそうです。

関連記事


  1. Javaのパフォーマンスについてはいろいろなベンチマークがあり、整備された環境下での単体機能テストだとC/C++や.NET Frameworkで書かれたプログラムと同等の値を出すこともあります。 

Okura_
新しいことが大好きです。見習いエンジニア。作ったサンプルBotをGitHubに置いています(^_-)-☆
Why not register and get more from Qiita?
  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
No 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
ユーザーは見つかりませんでした