こんにちは。ロハスマ管理人koheiです。
前回記事「WordPressにMarkdownエディタプラグインをいれてみた」にて、次の記事はGooglePhoo連携のプラグインに挑戦だ!!と鼻息荒く意気込んでいました。
がしかし、少し調べると「Photo Express for Google」というプラグインが存在し、それによってGooglePhotoに保持されているメディアがWordPressの投稿画面で使いやすいモーダルUIで選択できることが判明。
さらにいうと上記プラグインのインストールから、少し煩雑なOAuth2.0認証まわりの設定までを詳しく解説しているサイト様も存在。※章末のリンク参照
まったく私の出る出番はないと判断しました。
※あ、おかげさまで「Photo Express for Google」は正常に導入できました。
ちなみに調査過程でOAuth2.0の仕組みをすごく分かりやすく説明している記事に出会いました。
▼OAuth2.0の説明サイト様
一番分かりやすい OAuth の説明
このような説明をできることがこれからのAI時代に生き残れるエンジニア/技術者なんだろうな、と感動した次第です。
さてこのような大人事情により、今回は別ネタを投稿します。
それが「RPA」です。
▼Photo Express for Google のインストールや設定に関する参考サイト様
【wordpress】Googleフォトにある画像を表示するプラグイン
※Google Developers Console(略してGDC)の認証まわりの設定について丁寧なキャプチャ付きで非常にわかりやすかったです。部分的にGDCの仕様が変更となったようで、承認ドメインの事前登録が必要等、サイト内容と異なっている点もありましたが、それでも基本的には問題ないレベルでした。
「RPA」ってなんなんだい?
ずばり「Robotic Process Automation」の略。
余談ですが、自分もよく分からなくなってARP、RAPなどと間違えます。
(そんでGoogle検索するもんだから、ARPテーブルが検索にひっかかってきたり、それならまだしも、いかつい黒人ラッパーやエミネムなんかが引っかかってきたりしています。)
「Robotic Process Automation」の詳細説明はWikipediaさんに任せるとして、ようはPC系作業の自動化取り組みをいうそうです。普段PCのデスクトップで自分が行っているようなルーチン系作業をRPAがあたかも仮想ロボット(ボットと称される)のようにやりますよ!ってこと。
「ふーん、バッチ処理/マクロ処理みたいなものか。」
と少しPC系作業を知っている人は感じるかもしれませんが、現時点ではさほどその認識はずれていないと思います(多分)。
現時点の自分のRPAツールに対するイメージもbatなどスクリプト × VBマクロ × セレニウムを組み合わせてプログラムの稼働可能な処理範囲を広げましたよといったところ。
ただ*.shell/batもVBマクロもセレニウムも多少なりプログラミングが読み書きできないと基本は何もできないわけですが、RPAのツールはプログラミングなんて知らない人にもロボの動作をGUIで組み立てさせることで門戸を広げているところも重要な特徴なのかなと。
これだけだと、「へー(ハナホジ)」 くらいなもんですが、これで終わりではありません。
ただこのRPAの取り組みや考え方は、将来的に(むしろ現在進行形で)人工知能(所謂AI)が備わってくるといわれており、単なる記録されたルーチン処理よりさらに複雑なPC作業ができるようになってくるんじゃないの!?という見通しがあるわけなのです。
そうなってきたら普段職場でExcelやなんやらでイジイジやっている事務作業や、さほど重要性のないお仕事なんかはすべてAI × RPAに奪われますよ~なんて危惧も提唱されてたり。
(近未来におけるAI社会像については、「ポスト新産業革命 「人口減少」×「AI」が変える経済と仕事の教科書」で著者の加谷 珪一さんが、いろいろ予想を提唱してくれています。多少大袈裟感もありますが読みやすく、とっても考えさせられた面白い書籍でした。)
そうなるまえにポンコツSEとしては「RPA使ったことあるっす」、「それくらいなら使えるっす」、くらいは言っておきたいわけで。
ただこのRPAツールって対企業様への商品なわけで、値段もウン十万円~ウン百万円のものがぞろぞろ。とても私には無理なシロモノ。
そんななか、「ウチ、タダでRPAツール公開してますよー」という稀有な会社様がおり、今回はイチサラリーマンでもRPAに触れてみることはできますよー。って話。
そのフリーツールがRPAExpressだったのです。
(※ちなみにフリーで使えますが、有償版もしっかりありそちらのほうが高機能なのはいうまでもない)
RPAExpressをPCにいれてみた。
RPAExpressを自PCに導入したりしているのは、すでに日本語記事にて紹介例が2~3ほどあるようなので、本サイトでは割愛。
※特にセットアップにあたって小難しいことはないと思いますが、基本英語なのと、ある程度のPCスペックが必要なのは要覚悟。とはいえ英語もボリューム・難易度ともにGoogle翻訳で余裕レベルです。
じゃあ何を紹介しようか、というのが問題なのですが、つーか正直私もまだあまり何も触れておらず、セットアップも終わったことだし、デモも入っているようなので、「RPAがどんなもんかいっちょデモでもGIF動画で流しておこうか」といった内容。
そしてそのデモがこちら。
(このデモの準備に半日ほど費やした。。。Youtuberとか動画コンテンツの準備をする人って偉いですね。)
\ RPAExpressのデモHelloWorldの挙動[/caption]
はい、なにやらデスクトップ上で私が作業しているだけかのようなGIFですが、私はPC画面を眺めていて、作業開始/完了時に録画開始・ボット作業の開始、RPAのメニューの位置調整・録画完了をポチっとしただけです(証明しようもないので信じてください)。
手作業らしい手作業がほぼなく、4つのテキストファイルをディレクトリに保存するところまで出来ました。
初歩デモなのでとくに効果的なお仕事でもないですが、一応順を追って説明しようかと。
RPAExpressのボット作業設計はWorkFusion Studioにて
インストール完了したRPAExpreeのアイコンを起こすと何やら見たことのある起動ポップおよび画面が。
皆大好きEclipse風の画面ですね。
\ 20181130_RPAExpress_welcome[/caption]
詳しくは知らないですが、RPAExpressはEclipseのカスタマイズ商品のようですね。
この開発画面をWorkFusion Studio(面倒なので以降IDE)と称しています。
さてEclipseでのJavaなどでいうプロジェクトなどの単位を、当IDEではレコーディングと称するようです。
このあたりExcelのマクロレコーディングを彷彿させます。
いきなりオリジナルのボット作業用にレコーディングの新規作成するのもいいですが、まずはWelcome画面上にあるdemoを試してみましょう。
- Hello World
- Dates transaction
- Typing using variables
- Automating Salesforce
- Tic-Tac-Toe using conditions
- Web table scraping
- Capture screenshot and draw
一番上の「Hello World」が今回紹介したデモでした。いずれ他のデモも紹介できればしてみようかな。
さて「Hello World」を選択すると、用意されたレコーディングが開きます。
開いた画面もEclipseっぽいですが、各エリアの枠(ペイン)の内容が違いますね。
まだあまり経験していないですが、左上ペインがボットの様々なアクション種別で、真ん中がそれらアクションを組み合わせ作るボットの作業フローとなっているようです。
\ 20181130_RPAExpress_openrecording_hello_1[/caption]
真ん中ペインのアクションフローをすべて展開すると以下のようになります。
\ 20181130_RPAExpress_openrecording_hello_2[/caption]
プログラム知識が少しでもあれば、二重ループとif条件によってボットの行動が制御されていることが分かると思います。
細かい説明はここでは割愛しますが、当デモは左下ペインのメディアファイルの中にあるCSVのデータ × 当アクションフローで実現されていました。(CSVの中はファイルにタイピングするテキストや、ファイル保存時のファイル名などが定義されてました)
最後に中央のアクションフローの各要素を選択すると右ペインにその詳細設定が表示されますが、Hello Worldのデモ内容がコメントとして記載されていました。
\ 20181130_RPAExpress_openrecording_hello_3[/caption]
This demo opens notepad, types some text there and saves file in user temp folder. Texts and file names and configured in file_list variable.
If you edit file names, be sure to adjust file_name_template variable as well - it is used to find out file names out of other things.
Before running this demo ensure that there is no open windows with names similar to names used here - any notepad windows, Save As or Confirm Save As dialogs.
せっかくなのでgoogle翻訳すると・・・
このデモは、メモ帳を開き、そこにテキストを入力し、ファイルをユーザーの一時フォルダーに保存します。テキストとファイル名、およびfile_list変数で構成されています。
ファイル名を編集する場合は、必ずfile_name_template変数も調整してください。他のものからファイル名を見つけるために使用されます。このデモを実行する前に、ここで使用されている名前に似た名前の開いているウィンドウがないことを確認してください – メモ帳ウィンドウ、[名前を付けて保存]または[名前を付けて保存]ダイアログ。
RPAExpressの感想と、今後のRPAへの所感
まだほぼデモ一発目しか試していない状況ですが、RPAExpressについてはまだかなり改善の余地があるようです。
PCスペックにもよると思いますが、高速性は現時点では求められないと感じます。そもそも利用するためのPCスペック要求が高いという点もありますが。
そして冒頭のほうでお伝えしたように、RPAは非プログラマ向けの取り組みという側面がありますが、現状のEclipseベースのUI、そしてエラー発生時の原因特定や回避手段の検討はITを専門としない人には難しいかと思います。
※実は記録しているデモ動作はすべてをErrorなく動かすために、2~3か所をデフォルトから修正しています。
\ ボット作業でERRORが発生すると、Javaのスタックトレースが表示されます。[/caption]
またUIのみならず、作業内容の指示粒度もほぼプログラミングレベルであり、非IT系の人に普段の自らの業務をツールに記録・定義するのは至難かと感じました。
ちなみにPC操作をレコーディングして、ボットの動きを自動生成してくれる機能も搭載されていますが、十中八九動きません。
RPAExpressでボットを作成する際に、アプリやファイル、ブラウザなどのウィンドウの指定が重要なのですが、レコーディングによる自動生成された動きではウィンドウ名を完全一致で探索するため、「そんなウィンドウないっすよ、勘弁してくださいよー」とスタックトレース吐くのです。勘弁してほしいのはこっちだよって感じですが。
とはいえタスクの種類としてはコマンド実行やマウス・ウィンドウ操作だけでなく、OCR解析(テキストデータではなく、画像データから情報をテキストとして取得する技術)を持たせていたり、作業内容のレコーディング機能があったりと、フリーの範疇でも十分役に立つボットを作れる気もします。
また機能として搭載されていないようですが、プロンプト作業などのCLI操作も予定されているようです。
しばらくはこのようなRPAツールをSEなど専門家がお客様の現場に持ち込んで、その場でお客様の業務内容を観察・ヒアリングし、ツールを用いてライブコーディングを行うかのようにお客様の業務内容を支援するボットを提供する、というのがお仕事として舞い込んでくる気がします。
そしてこれからのRPAについては、正直AIが何をどこまでやってくれるかが未知なのですが、ボットへの作業指示はより抽象化・簡略化していくと予想します。
それこそAmazonEcho(Alexa)のような音声デバイスなどでボットに作業内容を指示できてしまうでしょう。
そーなったときには、世のSEはお客様に「いーよ、自分でやるから。」って言われるのでしょうね。
そしてそうならないための今からの身の置き方も考えとく必要がありますね。。。
働きたいわけではないけれど、働けなくなるとそれはそれで困ってしまう悲しきkoheiなのでした。
またRPAExpressでの試みはちょくちょく公開していこうと思います。
(動画コンテンツの準備が面倒なんだよなー・・・)