こんにちは、とらのすけです。

RPA(Robotics Process Automation)ってご存知でしょうか?
一見すると、流行りの3文字バズワードに見えますよね。

「ま~た、新しい3文字言葉かよ。IoTとかそのあたりの親戚か?
 どうせすぐ消えるんだろう?」

とか思ってたんですが、ちょっと調べてみたところ
結構いろんなところで使われていて、今後も
RPAを活用していく流れは、止まらないと思われます。

今回は、そんなRPAツールの一つUniPathの
無料オンライントレーニングを受けてみたお話です。

RPAとはなにか?

Robotics Process Automationの略で
ロボットを使った自動化です。

ロボットと言っても、工業製品の
開発に使われているような工作機械や
アシモやペッパー君のような、ヒューマノイドロボットではなく
コンピュータ上で動作する、人間がコンピュータを使って行うような
処理を行うロボットです。


「それって、プログラムと何が違うの?」

という疑問が沸いたあなた、いい線行ってます。
実は、RPAもプログラムの一種です。

「なーんだ、プログラムなら昔からあるじゃない。
 なんでいまさら、取り立ててロボットなんて言っているの?」

と思われたかと思います。

そうなんです、RPAは「プログラム」と呼ばれている
物の一種なんですが、これまでのプログラムと
はちょっと違うところがあり、それは

人間が行っている処理を、人間がやっているのと同じやり方で、プログラムが自動的に行う

という点にあります。

通常プログラムで何かのシステム間をつなぐ処理作る場合は
プログラムが処理しやすい、GUI(=画面のこと)を使わない
やり方で処理をするようなプログラムを作ります。

例えば、Aというシステムのデータを
Bというシステムに渡すという処理を行う場合

・Aシステムから、データを出力する機能(APIやファイル出力等の機能)
・Bシステムにデータを入力する機能(APIやファイル出力等の機能)

を用意し、それぞれのシステム間の入出力の仕様を加味した
・Aシステムから出したデータをBシステムに入力する、インターフェース機能

をつくりこみます。

ところが、この方法は専用のプログラムを作りこむ
専門的な知識と作りこみのための時間を必要とする(つまりお金がかかる)
という点がネックとなります。

もちろん、システムを開発する会社はこういった
手間を省力化するために様々な工夫(JSONやXMLなどを使ったIFとか)
を凝らすのですが限界があります。

このため、プログラムによる自動化を行う領域は
ある程度以上の省力化が見込まれる(つまり費用対効果がでる)
領域に限られていました。


ところがRPAを使うと、この制約を取っ払うことができます。
上述したように、「PAは」
人間が行っている処理を、人間がやっているのと同じやり方で、プログラムが自動的に行う
ことができるようになります。

具体的には、皆さんがパソコンを使っているときにやっている
「マウスのクリック」「マウスの移動」「コピー」「文字の入力」
といった操作を記録し、プログラムが行います。

このため、

1.それぞれのシステムに連携用の機能(APIやファイル出力などの機能)
 がなくても連携させることができる。(たいていのシステムはGUIはありますから)。

2.一般のユーザが使っているツール(エクセルや、Outlook、ワード、PDFなど)
 に対する操作を記録して、自動化することもできます。


この2つの特徴(特に2つ目)により、RPAが適用できる範囲
は非常に広くなり、事務系の定型的な仕事を自動化して
効率化するツールとして、爆発的に普及しています。

また、近年日本ではいわゆる「働き方改革」や
近い将来に直面する「労働人口の減少」といった
社会的・経営的な後押しもあり、注目が集まっています。

RPAツール

様々ベンダーから、RPAを実現するためのツールが
出されていますが、世界で最も使われている
3強と呼ばれるベンダーがあります。

・Automation Anywhere
・Blue Prisme
・UniPath

それぞれのツールの特徴や、価格、得意分野
等は別のサイトで詳しく説明してるので省きますが、
この3強の一つ、UniPathという会社が
無料のオンライントレーニングを提供しています。

また、UniPathは個人向けに無料のツールも提供しており
・まずは、RPAでどんなことができるかを試してみたい
・スキルアップのために、RPAを勉強をしたい

といった人にはうってつけです。

日本は保守的な体質の会社が多いので
世界的にも、実績の多いベンダーのツールのほうが
何かと有利かと思います。

UniPathのオンライントレーニング

さて、UniPathのオンライントレーニングの受講をしてみたいと思います。

まずは、ここから「UniPathアカデミー」にアクセスします。

001
新規ユーザの登録画面が出てくるので、入力をして
「CONFIRM」を押します。

002


次に国や現在の就業状態、会社名等を聞かれるので入力し
「CONFIRM」を押します。

003

メールが登録したアドレスに送られます。
004


メールボックスに無事メールが届いていたので
文中の「here」をクリックして登録を完了させます。
005


クリックすると、自動でログインがされ
トップページが表示されます。

eラーニングが表示されているので
「RPA Developer Foundation」を登録します。


006


登録されると、トレーニングが再生できるようになりました。

008


「再生」すると、オンライントレーニングが始まります。

009

トレーニングを受講してみた感想

「RPA Developer Foundation Training」の
トレーニングは、時々、面白い日本語が入りますが
とても、よくできています(まだ受講中ですが)。

プログラミングをやったことがある人にとっては
最初のほうは、基本的過ぎて、ちょっとダルイ感じが
しなくもありませんが、初学者向けに、ステップバイ・ステップで
ツールの使い方や、フローの組み方、自動化の仕方を
学ぶことができ、しかも無料です。

また、Uipath community editionエディションなら
個人で使う分には無料で使えるので
初学者が勉強するのにもうってつけです。


また、ツール自体もよくできていて、
GUIのオブジェクト認識、HTMLの構造解析
OCRを使った画面操作の安定性も高そうで、
思ったよりも使えそうなツールです。


とらのすけは、10年ほど昔に、開発していたプロダクト
GUIのテストを自動化しようとしましたが、
当時のツールは、マウスの位置を記録するレベルだったので
使い物にならず、あきらめたことがありました。

しかし、このUniPathのレベルで認識できるので
あれば、十分実用に耐えられると思います。


テクノロジーの進歩が早さを
いまさらながら痛感します。


世間では、定型的な作業を自動化して
効率化するといことにフォーカスしていますが
その自動化も、そのうち一巡すると思います。

その後は、定型的でないが、手間がかかる業務を
こういったツールを各個々人が使ってシュシュっと行う。
ということが求められる時代になると思います。


丁度、小学校でのプログラミングが必修化されますが
その世代の子供たちが大人になる頃には、
至極当たり前に、こういった自動化ツールを
日常的に使うことになるでしょう。


そんな先の話ではなくても、使い手はあると思います。
例えば、突発的に依頼された、大量のインプットに
ひたすら同じことをするクソ作業的な業務を
パパっとやるとかです。

エクセルマクロとか、スクリプトでも出来る作業が
ほとんどかもしれませんが、GUIがからむと
エクセルマクロやスクリプトだと、対処が面倒ですので
こういった、GUIを簡単に操作できるツールの知識を
持っておくと、何かと重宝するとおもいます。

まとめ

オンライントレーニングの受講中ですが
とらのすけが感じた点をまとめます。


・ツール自体は昔からある、操作を記録して、自動化するツール。

・操作の記録がGUIででき、かつ記録した処理をビジュアルなフローで加工・記述できて、初心者にもとっつきやすいが、プログラムを書いたことがある人には、ちょっとまどろっこしい。

・昔と違うのは、操作の指示にオブジェクトやOCRが使え、操作の再現が安定している。

・また、AI、クラウドのAPIと連携したりする機能が充実している

・大規模になると、テストやデバッグが難しそう。

・RPAを活用する流れは、今後も加速する。


とりあえず、エンジニアの嗜みとして
自家薬籠中の物として置くのが良いと思います。


それではまた。