RPAツールの仕組みを完全解説!導入前に知っておきたい3つの実行環境パターン

RPA(Robotic Process Automation)は、業務プロセスを自動化するための技術で、多くの企業が導入を進めています。本記事では、RPAツールの仕組みを図解とともにわかりやすく解説します。

RPAツールは複数存在しますので、この記事では、日本でシェアが大きいUiPath、WinActor、Power Automate for desktopについて整理して解説します。

この記事を書いた人
この記事を書いた人
こさい
こさい

(株)完全自動化研究所代表のこさいです。

1) ITエンジニア歴25年超。RPA開発歴8年超
2) RPA関連の書籍を6冊出版。
3)RPAトレーニング動画を販売しています。
4)RPAトレーニング研修を行っています
5)ご質問・お仕事のご依頼はこちら

RPAツールの仕組み

RPAツールは以下のような構成要素を持っています。

部品(アクション)

RPAツールには、自動化の部品が最初から用意されています。部品はRPAプロセスの中で特定の操作を実行するための基本的な機能や構成要素です。業務の各ステップを実現するための命令や動作を担っています。

主な部品のカテゴリ

  • UI操作:
    ユーザーインターフェース(UI)を操作します。ボタンのクリック、テキストボックスへの入力など。
  • データ操作:
    データの処理や変換を行います。値を変数に代入する、Excelやスプレッドシートからデータを読み取るなど。
  • 3. ファイル操作
    ファイルやフォルダの操作を行います。 ファイルをコピーする、新しいフォルダを作成するなど。
  • 4. メールアクティビティ
    メールの送受信を管理します。Outlook経由でメールを送信する、IMAPサーバーからメールを取得するなど。
  • 5. システム操作アクティビティ
    システムレベルでの操作を行います。外部アプリケーションを起動する、PowerShellスクリプトを実行するなど。
  • 6. フロー制御アクティビティ
    条件分岐やループ処理を制御します。条件に応じて処理を分岐する、 リストやデータテーブルを繰り返し処理するなど。

RPAツール別の名称

RPAツール名称
UiPathアクティビティ
WinActorノード
Power Automate for desktopアクション

プログラム(シナリオ)

これらの部品(アクション)を並べて、具体的な業務手順を記述したものです。

シナリオ
シナリオ

例えば、「毎朝のメールから添付ファイルをダウンロードし、Excelにデータを集計する」といった手順をプログラム化します。

このプログラムは、RPAツール内での操作を順序立てて指定するもので、フローチャートやシーケンスといった形式で記述されます。作成されたシナリオは、ルールに基づいてロボットが実行するため、一定の安定性と信頼性を持つ処理が可能です。また、条件分岐やループ処理などを含む複雑な業務フローにも対応可能です。

RPAでは、このような処理の記述を「プログラム」とは呼ばず、「シナリオ」と呼ぶことが一般的です。

RPAツール別の名称

RPAツール名称
UiPathワークフロー
WinActorシナリオ
Power Automate for desktopフロー

シナリオ作成ツール

プログラム(シナリオ)を作成するための専用インターフェースで、多くの場合ドラッグ&ドロップで操作可能です。これにより、プログラミング未経験者でも容易にシナリオを作成できます。

ここでは「シナリオ作成ツール」と呼びます。

シナリオ作成ツール
シナリオ作成ツール

RPAツール別の名称

RPAツールには、シナリオを作るための専用のツールが用意されています。

RPAツール名称
UiPathUiPath Studio
WinActorWinActor
Power Automate for desktopフローデザイナー

ロボット

実際に業務を遂行する仮想労働者で、作成されたシナリオに従って動作します。実際は「ロボット」の定義はRPAツールによって異なり、一概に呼ぶことはできませんが、ここでは、ローカル環境でシナリオを実行するソフトウェアのことを指すこととします。

ロボット
ロボット

RPAツール別の名称

RPAツール名称
UiPathRobot(UiPath Assistant)
UiPath Assistantについて
WinActorローカルで実行する場合、コマンド経由で実行可能。
Power Automate for desktopフローデザイナーで開発したフローを管理・実行する画面「コンソール」がある。

運用管理ツール

ロボットやシナリオの状態を監視し、スケジュール管理やエラー発生時の通知を行うツールです。運用管理ツールを使うことで、複数のロボットが効率よく稼働しているか確認でき、エラー対応やメンテナンスが容易になります。

シナリオの実行方法

シナリオを実行する場合、主に4つの方法があります。

  1. シナリオ作成ツール上で実行する
  2. シナリオ実行用のソフトウェアで実行する
  3. コマンドラインで実行する
  4. 専用の運用管理ツールで、スケジュール実行する

4番の専用の運用管理ツールは、それぞれ下表のものが用意されています。

RPAツール別の名称

RPAツール名称
UiPathUiPath Orchestrator
WinActorWinDirector / WinActor Manager on Cloud
Power Automate for desktopPower Automete
Power Automate for desktopは「Power Automate」の一機能なので、「Power AutomateがPower Automate for desktopを運用管理する」というのは語弊がありますが、ここでは整理のためにあえて並べています。詳しくは次の記事をお読みください。
>>Power Automate Desktopとは?【5分でわかる】

RPA実行環境の構成

RPAの実行環境にはいくつかの構成型があります。それぞれの特徴を以下に示します。

スタンドアロン構成

開発、テスト、実行、管理がすべて単一の環境で行える形態です。

全部入りパターン
スタンドアロン構成
  • シナリオ作成ツール
  • シナリオ
  • ロボット(実行環境)

が全て1台のマシンに格納されています。RPAツールがインストールされているマシン自体を「ロボット」と呼ぶこともあります。

メリットとデメリット

  • メリット:
    シンプルな構成で、導入や運用が簡単です。すべてが一つの環境に統合されているため、設定やツール間の相互連携を考慮する必要がありません。また、学習コストが低く、初心者でも始めやすいのが特徴です。小規模なプロジェクトや、限定的な自動化を目指す場合には非常に適しています。
  • デメリット:
    スケールが難しく、大規模なプロジェクトには向きません。一つの環境で全てを処理するため、ロボットやシナリオが増えるとパフォーマンスの低下が懸念されます。また、障害が発生した場合、開発・実行・管理の全てが影響を受ける可能性があります。そのため、複数チームや部門での同時使用には不向きです。

クライアントサーバー構成

「開発用環境」と「実行用環境」を分けた形態です。チームでのプロジェクト推進が効率的に行えるパターンです。

開発実行分割パターン
分散環境

メリットとデメリット

  • メリット:
    開発者が安心してシナリオを作成できる一方、本番環境の安定性が保たれます。開発環境でシナリオを試験的に実行することで、エラーや不具合を本番環境に持ち込むリスクを低減できます。また、チームが並行して作業できるため、プロジェクトの進行が効率化します。このパターンは、大規模な自動化プロジェクトや、複数のチームが関与する環境に適しています。さらに、開発ライセンス数を少なく抑えることが可能で、ツールのライセンス費用を削減する効果もあります。
  • デメリット:
    環境構築や管理に一定のリソースが必要です。開発環境と実行環境の分離により、初期設定やツール間の連携が複雑になることがあります。また、環境間でのデータ同期やシナリオ移行のプロセスを適切に管理しなければ、効率が低下する可能性があります。さらに、運用管理者と開発者の間でのコミュニケーションが不足すると、トラブルシューティングに時間がかかる場合があります。

サーバー集中型構成

3つ目は、複数の開発PCと実行PCを、運用管理ツールで集中管理するパターンです。

一元管理パターン
一元管理パターン

メリットとデメリット

  • メリット:
    大規模な自動化を効率よく管理できます。また、複数のロボットやシナリオの状況を一目で把握可能です。中央サーバーで全てのリソースを一元管理するため、運用効率が向上し、スケジュールやエラー発生時の対応が容易になります。さらに、セキュリティ対策が強化され、データ保護やアクセス管理がしやすくなるのも利点です。この構成は、業務が多岐にわたる企業や、多数のロボットを活用する場合に最適です。
  • デメリット:
    導入コストが高くなる傾向があります。中央サーバーのセットアップや維持管理には、高度なインフラストラクチャと専門知識が必要です。また、サーバーに障害が発生した場合、全体の業務が停止するリスクがあります。そのため、バックアップや冗長化構成が求められる場合もあり、これがさらなるコスト増加につながることがあります。