完全自動化を実現する「RPAシステム」を構成するソフトウェアについて解説していきます。
RPAシステムを構成するソフトウェア
No | 役割 | ツール |
1 | GUIオートメーション(RPA) | Sikulix/他のRPA |
2 | ETLツール | Pentaho(Spoon) |
3 | データベース | MySQL |
4 | ジョブ運用監視ツール | Hinemos |
5 | ファイル監視・ナビ | myRobo |
各ソフトウェアの説明
1.Sikulix
RPAシステムではSikuliXというGUIオートメーションツールを採用しています。
SikuliXとは、OpenCV(インテルが開発・公開したオープンソースの画像解析ライブラリ)を利用したGUIオートメーションツールです。操作対象を画像としてマッチングするため、スクリーン上に表示されているものであればアプリケーションの種類を問わず操作することができます。開発環境が付属していますので、画面上のある場所をクリックしたり、テキストボックスに文字入力したりといった、人間が行う作業を記述することが簡単にできます。
Javaの実行環境があればよいので、OSの種類を問わず実行することができます。
公式サイトはこちら(http://www.sikuli.org/)
JythonかJRubyというスクリプトで記述します。開発環境で簡単な操作を自動で記述させることができますが、それ以上に込み入ったことをさせたい場合は、直接スクリプトを記述すればよいので、プログラム経験者であれば抵抗なく利用することができると思います。
SikuliXは、バージョンがあがるごとに、バグが修正されて進化していっていますので、今後も楽しみなオープンソース・ソフトウェアです。
有償のRPAと違いUIが「ノンプログラミング」を意識して作られていませんので、「プログラムは分からない!」という方には難しいと思います。
しかし、月10万円程で利用できるデスクトップ型RPAでの開発が、完全にノンプログラミングでできるわけではありません。少し込み入った処理は、やっぱりプログラムの力が必要になってきます。そして、「少し込み入った処理」は必ず発生します。
追記
この記事を書いたのが2017年なので、2024年の今はずいぶんと状況が変わっています。RPAツールがたくさん出てきて、すでに落ち着いた状態ですね。なので、SikuliX以外にも選択肢がたくさんあります。
RPA部分は取り換えが効くパートなので好きなツールを選択するといいと思います。ただし無償で使えるツールは少ないです。WinActorやUiPathは有料ですね。UiPathは無償版もありますが、あくまで試用版といったイメージなので本格的に利用するなら有料版が安定しています。
Power Automate for Desktopは無償で使えますが、外部からコマンドで実行することはできません。やり方が無いわけではありませんが、基本的には無理です。
この3つのRPAツールで考えるなら、Power Automate for Desktopの有料版(Premium)を契約する方法が1番安価です。ジョブ運用監視ツールと連携させることも工夫すればできます。これについては別途記事を上げようと思います。
「無料がいい」「安定して稼働させたい(バージョンアップがない)」「小規模だ(3台以内)」というなら、SikuliXで十分だと思いますよ。
2.Pentaho
RPAシステムではすべてをRPA(GUIオートメーションツール)にさせる方法はとっていません。
デスクトップ型RPAは以下の問題(特徴とも言える)があるからです。
- 動作が遅い
- デスクトップ環境に依存しやすい
- バックグラウンドで動かない
RPAシステムでは、
- RPAより処理が早い
- 安定して動作する
- バックグラウンドで動く
- 複雑な処理もできる
という利点を重要視して、GUI操作以外の処理はETL(Extract、Transform、Loadの略で、企業内に存在する複数のシステムからデータを抽出し、抽出したデータを変換/加工した上でデータウェアハウス等へ渡す処理を行うソフトウェアのことです)で行うことを推奨しています。
利用しているETLはPentahoです。
Pentahoはデータを抽出・準備・ブレンドする「データ統合基盤」、統合したデータを分析・可視化する「データ分析基盤」の2つの基盤からなる総合的なBIツールです。2015年にPentaho社を米国日立データシステムズ社が買収し、2017年現在はHitachi Vantaraという会社になっています。
エンタープライズ版は有償ですが、コミュニティー版(CE)は無償で利用できます。
PentahoはBIに必要なツールが詰まっていますが、RPAシステムではETL部分(data-integration)だけを使用しています。くわしくは完全自動化研究所のYoutubeチャンネルをみてください。以下のような動画がありますので、参考にしてください。
3.MySQL
MySQL(マイエスキューエル)は、世界中で最もよく利用されているオープンソースのデータベースの一つです。高速で使いやすいことが特徴です。
4.Hinemos
Hinemosは大規模、複雑化するITシステムの「監視」や「ジョブ」といった「運用業務の自動化」を実現している統合運用管理ソフトウェアです。NTT Data社が提供しています。
Hinemosはサーバー監視など多くの機能を持っていますが、RPAシステムでは、ジョブ管理の機能を利用しています。
5.myRobo
自動化が実際に動き出すと、SikuliXに画面操作を行わせますが、「何の作業を現在やっているんだっけ?」と思う時があります。また、ユーザーとSikuliXが共同で作業を進める必要があるような場合も「何をすればいいんだっけ?」という時があります。
myRoboはSikuliXと連動してセリフを言うことでユーザーをサポートします。
もう一つの機能として、SikuliXを外部から起動させる役割があります。
ランチャーとして、手軽にSikuliXを起動させることもできますので、ちょっとした作業を自動で行わせたい時(たとえば、グループウェアに毎日ログインするから自動化する、とか出先でVPNを起動させてログインするのが面倒だから自動化するなど)に便利です。
このツールだけは、当社で開発したものです。
コメント ログインすると書き込めます