RPAシステムを構成するソフトウェア
No | 役割 | ツール |
1 | GUIオートメーション(RPA) | Sikulix |
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での開発が、完全にノンプログラミングでできるわけではありません。少し込み入った処理は、やっぱりプログラムの力が必要になってきます。そして、「少し込み入った処理」は必ず発生します。
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)だけを使用しています。
3.MySQL
MySQL(マイエスキューエル)は、世界中で最もよく利用されているオープンソースのデータベースの一つです。高速で使いやすいことが特徴です。
4.Hinemos
Hinemosは大規模、複雑化するITシステムの「監視」や「ジョブ」といった「運用業務の自動化」を実現している統合運用管理ソフトウェアです。NTT Data社が提供しています。
Hinemosはサーバー監視など多くの機能を持っていますが、RPAシステムでは、ジョブ管理の機能を利用しています。
5.myRobo
自動化が実際に動き出すと、SikuliXに画面操作を行わせますが、「何の作業を現在やっているんだっけ?」と思う時があります。また、ユーザーとSikuliXが共同で作業を進める必要があるような場合も「何をすればいいんだっけ?」という時があります。
myRoboはSikuliXと連動してセリフを言うことでユーザーをサポートします。
もう一つの機能として、SikuliXを外部から起動させる役割があります。
ランチャーとして、手軽にSikuliXを起動させることもできますので、ちょっとした作業を自動で行わせたい時(たとえば、グループウェアに毎日ログインするから自動化する、とか出先でVPNを起動させてログインするのが面倒だから自動化するなど)に便利です。
このツールだけは、当社で開発したものです。