前回は、「対象アプリケーション範囲」の視点で、一般的なRPAツールとUiPathの違いを含めたUiPathの特徴をご説明させていただきました。今回は、「開発容易性(開発俊敏性)」の視点で、ご説明させていただきます。
シナリオ作成方法
RPAツールは、対象アプリケーションの画面に対して、人の代わりに疑似的にキーボードやマウス操作を行うことにより、業務作業を行う仕組みとなっています。事前にどのようなキーボードやマウス操作を行うかのシナリオを作成し、シナリオに従って動作することにより業務作業を実現します。
一般的なRPAツールでは、どのようにシナリオを作成するかを説明しながら、UiPathが他のRPAツールとどのように違うかを見ていきたいと思います。
a)操作記録型シナリオ作成タイプ
RPAツールの作成機能により、画面上の操作対象項目とキーボードやマウスなどの操作内容を選択しながら、繰り返しや判断などの処理を含めて作成するタイプとなります。
b)操作選択型シナリオ作成タイプ
RPAツールの作成機能により、画面上の操作対象項目とキーボードやマウスなどの操作内容を選択しながら、繰り返しや判断などの処理を含めて作成するタイプとなります。
c)プログラミング型シナリオ作成タイプ
専用のプログラミング言語により、画面上の操作対象項目とキーボードやマウスの操作、繰り返しや判断などの処理をプログラミングしていくタイプとなります。
ポイント解説
一般的には「操作記録型シナリオ作成(連続記録)」>「操作記録型シナリオ作成(1操作毎記録)」>「操作選択型シナリオ作成」、「プログラミング型シナリオ作成」の順で、開発生産性が高いとされています。
多くのRPAツールでは、「操作記録型シナリオ作成(1操作毎記録)」又は「操作選択型シナリオ作成」を主体としているものが多いようです。
UiPathでは、「操作記録型シナリオ作成(連続記録)」、「操作記録型シナリオ作成(1操作毎記録)」、「操作選択型シナリオ作成」をサポートしており、独自のシステム解析技術(コンピュータビジョン)により、画面項目のオブジェクト認識が可能なため、安定的に「記録型シナリオ作成(連続記録)」ができます。
但し、下記のような特殊な操作については「記録型シナリオ作成(1操作毎記録)」が必要となりますので、注意が必要です。
- キーボードショートカット/モディファイアキー(CtrlキーやAltキーなど)操作
- クリップボードからの複写操作
- マウス右クリック操作
- 表示項目から文字取得
開発ツール概要
UiPathでのシナリオ作成は、「UiPath Studio」と呼ばれるツールにて開発を行います。同ツールは、現状処理上での日本語処理には何ら問題ありませんが、画面の表示項目やメッセージは日本語化されておりません。なお、次バージョン(2018.2)より、日本語表示機能の提供を予定しています。
また、同ツールはMicrosoft社Workflow Foundationフレームワークを採用しているため、他社RPAツールと異なり、Microsoft社ツール(オフィスツールなど)と操作互換性が高く、慣れてくると各種操作に違和感がありません(コントロールキーを利用したショートカットキーなどもほぼ同様です)。
01_開発ツール「UiPath Studio」画面イメージ
他RPAツールでは、一覧表形式でシナリオを管理するツールもありますが、UiPathでは、同処理を業務フロー書式で作成することができ、制御の流れなどをビジュアルに表現することが可能です。
また、シナリオ内で操作中にエラーが発生した場合のエラーハンドリングする制御(Try/Catch)なども簡単に作成することができます。
02_ダブルクリックをすると詳細内容が表示
デザイナーパネルに表示されている業務フロー書式のシナリオは要約(折り畳み)表示されており、該当項目をダブルクリックすることにより、簡単に詳細内容が表示されます。
また、画面項目に関する操作は、(開発者が)どの欄を操作しているのかを分かり易くするように、操作対象項目の画像イメージを併せて保存しておくことも可能です。(前項でご説明したツール自身が操作を認識するための画像認識方式とは、関係ありません。)
03_UIオブジェクトの認識イメージ
UiPathでは「UIオブジェクト認識」されている画面情報を、補助ツールの「UI Explorer」により確認及び変更することも可能です。
【動画でわかる】UiPath Studioによるシナリオ開発イメージ
【動画で分かる】UiPath Attended Robotの実行イメージ
文字だけでは、うまく伝わらないと思いますので、UiPathにおけるシナリオ開発のイメージをご理解いただけるよう弊社UiPathセミナーで紹介している動画を公開いたします。
ロボット利用資源管理
シナリオを作成する上で、ガバナンス/セキュリティや動作独立性(同一のシナリオを複数のロボットで並列に稼働させる場合や本番環境と試験環境などの違いをシナリオから独立)などの観点より、シナリオ内で利用するシステムのユーザーID/パスワードなどのクレデンシャル情報やシステムURLなどのシステム資源情報をシナリオ外部で管理する(シナリオを修正せずに外部から簡単に修正を可能とする)必要があります。
上記のような管理機能は、利用者が業務処理の一部として実装する(例えば、外部ファイルにユーザーID/パスワードなどを記録しておき、シナリオから同ファイルを読み込むなど)ことも可能ですが、UiPathでは標準的な動作部品(アクティビティ)として同様な機能が準備されておりますので、開発生産性が非常に高くなります。
部品化/テンプレートの流用
シナリオは1から作成することも可能ですが、例えば、Excelファイルに設定されているデータをシステムに登録する処理を作成する場合、以下のような処理の流れとなります。
05_UiPathのシナリオの部品化イメージ
これらの一連処理を事前にテンプレートシナリオとして準備し、それを流用して作成することにより、より作成効率を上げることが可能です。
テンプレートを数多く準備することにより、開発効率を上げるだけではなく、品質の向上、テストやメンテナンスの効率を上げていくことも期待できます。
UiPathでは、部品化/テンプレートの流用に対して、シナリオを複数ファイルに分けて管理する機能、ライブラリ/スニペット機能など多くの支援機能が準備されています。
さらに、UiPathでは、内部で独自のソース共有/バージョン管理を持たず、外部のSVN、TFSによるバージョン管理にて、従来から利用している開発環境との融合を図れる仕組みなども提供されています。
今回は、「開発容易性(開発俊敏性)」と題して、シナリオ作成方法、開発ツール概要、ロボット利用資源管理、部品化/テンプレートの流用の視点でUiPathと他RPAツールの違いを交えながら、UiPathの特徴をご説明させていただきました。
なかなか全てをお伝えすることが出来ませんが、UiPathの魅力の一部でもご理解いただけましたでしょうか?
次回は、「導入柔軟性(拡張性)」と題してUiPathの特徴をご紹介させていただきますので、ご期待ください。