本記事は『絵で見てわかる RPAの仕組み』の「第6章 ロボット開発」から一部を抜粋・編集したものです。書籍掲載の画像はより高解像度のものを使用しています。
6.1 ロボットファイルの開発
6.1.1 基本はプログラム開発と一緒
ロボットファイルの開発は基本的にはプログラム開発をするのと大きな違いはありません。RPAの動作の対象となるソフトウェアに対して、どのような処理を実行するかを定義します。
ただし、5.8でも解説したように、プログラミング言語のようにゼロの状態からコードを書いたり定義したりする必要はありません。対象となるオブジェクトへの設定の選択や操作を記録することで定義できます。簡単に言い表すのであれば設定の連続でしょうか。
稼働までにすること
基本的には図6.1のようにプログラム開発と同様なステップとなりますが、RPAの場合には管理ツールでの設定が最後にあります。
開発環境の構築
各製品固有の開発環境です。通常は処理を実行する端末とは別に開発環境用の端末を用意します。
ロボットファイルの設計・開発
開発環境でロボットファイルの開発を進めます。ロボットファイルには大きく3つのタイプがあります(詳しくは6.2で解説します)。デバッグ機能で動作の確認もできます。
ロボットファイルと実行環境のインストール
ロボットファイルを実行させるデスクトップやサーバーに、ロボットファイルと専用のランタイムである実行環境をインストールします。
管理ツールでの設定
RPAでは管理ツールからの指示によりロボットファイルを実行することから、管理 ツールで動作のタイミングやスケジュールなどを設定します。開発環境の構築から実 行形式のファイルと実行環境をインストールするまでは通常のプログラム開発と大き な違いはありません。管理ツールで設定することを意識して進める点が異なります。
プログラミングスキルは必要か?
プログラミングスキルは必ずしも必要ではない
シナリオの作成にあたり、プログラミングスキルやシステム開発の経験は必要なの でしょうか。答えは「否」です。もちろん経験がある人のほうが学習はスムーズに進 みます。理解するのも早いでしょう。しかし、RPA製品の基本はオブジェクトタイプで すから、プログラミング言語に関する知識を必須とはしていません。ただし、留意す るポイントがいくつかあります。
構造化の発想は必要
RPAはルールベースのツールといわれることがあります。業務の操作で行われてい るルールに従って、ロボットシナリオを定義して処理を実行させるからです。
次のようなプロセスで業務の操作のルールを定義しています。
- ルールを見いだす
- ルールの詳細を確認する
- 確認したルールをロボットファイルに定義する
実際にはRPAソフトを通じてコンピューターが処理できるように定義しているので、 定義自体もコンピューターが行うやり方にしなければなりません。
重要なことは、ルールを順次、条件分岐、繰り返しなどの考え方で表現することです。 できている人は無意識のうちにやっている行為です。
6.2 タイプ別ロボット開発
6.2.1 画面キャプチャタイプ
デスクトップで人間が操作している画面を認識して記録します。動画の撮影やパラ パラ漫画を作るように操作順に記憶させる方式です。4.2で説明したExcelの「マクロ の記録」を思い浮かべていただければ良いでしょう。
録画ボタンをクリックした後で記録させたい処理を実行していきます。
画面キャプチャタイプは便利な機能のため、今後実装される製品が増えると想定さ れます。
6.2.2 オブジェクトタイプ
製品で提供されているテンプレートを活用してシナリオを作成する方式です。 Windowsオブジェクトを選択して定義を進めていきます。
オブジェクトタイプも画面の操作を確認しながら行いますが、Windowsオブジェ クトごとに画面を止めて、テンプレートを選択して定義していきます。動画やパラパ ラ漫画というよりは、紙芝居の絵の1枚1枚の裏面にシナリオを描いていくイメージ です。
6.2.3 プログラミングタイプ
大きな意味ではオブジェクトタイプです。テンプレートはありますが、プログラミ ング言語を活用して定義しているような方式です。
マイクロソフトの.NET Frameworkで使われるVisual Basic、C#、Javaなどを活用す る製品があります。使われているフレームワークや言語は現在の開発シーンでポピュ ラーなものです。
6.2.4 各製品は複数のタイプを備えている
3つのタイプの分け方は、シナリオ作成をわかりやすく伝えるためにあえてこのよ うにしています。製品の大半はオブジェクトタイプをベースとして、画面キャプチャ の要素を持っている、あるいはプログラミング言語を活用するなどのように整理でき ます。
6.4で解説するオブジェクトを認識する技術にも関わりますが、シナリオ作成の観 点で製品を整理すると図6.2のようになります。たとえば、製品Aはオブジェクトとプ ログラミングタイプを備えている、製品Dは画面キャプチャとオブジェクトの方式を 備えているという意味になります。
画面キャプチャタイプの例:WinActor
画面キャプチャタイプとオブジェクトタイプの一例として、NTTデータより提供さ れている「WinActor」を紹介します。日本市場で最も導入企業数や団体数が多い製 品として知られています。
WinActorは独自の開発環境ですが、日本語の画面での提供でもあることから、比 較的わかりやすいRPA製品です。
6.3.1 WinActorのロボット開発の手順
実際によくあるケースであるアプリケーションAとアプリケーションBの間の処理 を定義する場合は、図6.3のような手順になります。
メインとなる操作で①大枠のグループ(操作フロー)を定義します。②その後で変 数などを活用して詳細を定義します。
6.3.2 WinActorで作成するロボットのシナリオ
csvファイルに注文したい商品の一覧があります。Webのアプリケーションの「チ ュートリアル.html」に、「商品登録.csv」からカテゴリと商品名をコピーして登録し ていきます。
Webアプリケーションのメッセージの下にあるテキストボックスに登録内容が表 示されるようになっています。左側がExcelで開いた商品登録.csvで、右側がチュート リアル.htmlです(図6.4)。
商品登録.csvのすべてのレコードをWebアプリケーションに登録して表示するとこ ろまでをロボット化の範囲とします。
6.3.3 アプリケーションの読み込みと操作の設定
図6.5は、WinActorの初期画面です。初期画面は、メイン画面(1)、フローチャー ト画面(2)、監視ルール一覧画面(3)、イメージ画面(4)、変数一覧画面(5)、デー タ一覧画面(6)、ログ出力画面(7)の7つの画面から構成されています。途中まで、 3~7の画面は使いません。
作業効率を高めるために、それぞれの右上にある×をクリックして閉じて進めてい きます。後ほど必要なときに再度表示します。
先にWebアプリケーションの読み込みから始めます。
対象のアプリケーションの起動
Webアプリケーションの「チュートリアル.html」を起動します(図6.6)。
図6.6 Webアプリケーションのチュートリアル.html
WinActorの左上部のメイン画面の右端にある[ターゲット選択]をクリックしま す(図6.7)。丸に十字が刻まれたボタンです。
図6.8は[ターゲット選択]をクリックした後の状態です。選択ボタンの色が変わ るとともにドラッグできるようになりました。
図6.8にある(マウスアイコン)を、記録対象のWebアプリケーションのウィンドウタイトル部分に持っていき、クリックして記録対象のウィンドウとして認識させます。
認識されるとメイン画面の下に「IE:チュートリアル - Internet Explorer」が表示 されました(図6.9)。
操作の自動記録
続いてメイン画面の右側から2つ目に配置されている赤色の[編集/記録]をクリ ックします(図6.10)。
自動記録が開始されているときには、[編集/記録]ボタンは赤い円から青の正方 形を囲んだ円のマークに変わり「記録を開始しました。」のメッセージが表示されます。
ここからは、記録したい操作を行います。「カテゴリ」欄からプルダウンでレコー ドの1行目の「パソコン」を選択します(図6.11)。
選択をするとフローチャート画面に、自動的に「リスト選択」のアクションが追加 されます(図6.12)。
「商品名」欄に「タブレットPC」と手入力します(図6.13)。なお、後の工程で「変 数」に置き換えて、元データのcsvファイルから自動的に読み込ませるようにしますが、 ここではまず1件目のレコードのタブレットPCを手入力します。
フローチャート画面のグループの中に「文字列設定」のアクションが追加されまし た(図6.14)。
[登録]をクリックします(図6.15)。
グループに「クリック」のアクションが追加されます(図6.16)。
記録したい処理が完了したので、メイン画面の[編集/記録]をクリックします。 すると元の赤い円に戻るとともに、「記録を停止しました。」と表示されます(図 6.17)。
自動記録後のフローチャート画面の状態を確認すると、図6.18の通りです。
6.3.4 変数の設定
Webアプリケーションへの登録操作の記録ができました。続いて変数の設定を行 います。
先ほど閉じた変数一覧画面を表示します。表示の方法は、メイン画面の[表示]を クリックし、サブメニューから「変数一覧」を選択します(図6.19)。
変数一覧画面が表示されたら、[変数名インポート]をクリックします(図6.20)。
ファイル選択画面で対象となる「商品登録.csv」を選択します(図6.21)。
すると、csvのフィールドの1行目のタイトルが変数名として読み込まれて、レコ ードが表示されます(図6.22)。[OK]をクリックして変数名を設定します。
成功すると「変数名のインポートに成功しました。」と表示されます(図6.23)。
変数一覧画面で設定した変数名の「カテゴリ」、「商品名」とそれぞれの初期値が確 認できます(図6.24)。
6.3.5 シナリオの編集
先ほどWebアプリケーションへの登録操作を記録しました。csvファイルと先ほど 設定した変数に関してのひも付けはしていません。
手入力で実施した部分を自動的に読み込ませるためにアクションを編集します。フ ローチャート画面の[リスト選択]をダブルクリックしてプロパティ画面を開きます (図6.25)。
プロパティ画面が開かれた状態は図6.26のようになります。「選択内容」のプルダ ウンから、先ほど変数として設定した「カテゴリ」を選択し、[OK]をクリックして プロパティ設定を終了します。
フローチャートの[文字列設定]をダブルクリックして同様にプロパティ画面を開 きます(図6.27)。
プロパティ画面が開かれた状態は図6.28のようになります。「設定値」に先ほど変 数として設定した「商品名」をプルダウンで選択します。[OK]をクリックしてプロ パティ設定を終了します。
対象となるプロパティが、リストボックスとテキストボックスで異なることから、 プロパティ画面のタイトルも異なります。
6.3.6 ナリオの編集からロボットの動作に移行する
一連のアクションの塊である「グループ」を「シナリオ」フローの中にドラッグ& ドロップすることにより、編集状態からロボットが動作できる状態に移行します。
図6.29が「シナリオ」の中に「グループ」が入った状態です。これで基本的なシナ リオの作成は完了しました。
実際に読み込ませたいcsvデータを指定
閉じていたデータ一覧画面を変数画面と同様に開いて戻します。データ一覧が表示 されたら、[データインポート]をクリックします(図6.30)。
ファイル選択画面で「商品登録.csv」を選択します(図6.31)。
データ一覧画面に「商品登録.csv」データが取り込まれました(図6.32)。
自動操作シナリオを実行
メイン画面の[実行]をクリックし、シナリオを実行させます(図6.33)。
ロボットの動作が完了し、Webアプリケーションに商品登録.csvのデータがすべて 取り込まれました(図6.34)。
続きは本書で
本書ではこのあと、オブジェクトタイプのKofax KapowやプログラミングタイプのPega、設計画面の例としてBlue Prismの使い方について解説していきます。興味のある方はぜひ手に取ってみてください。