じっぱひとからげ

十把一絡げになんでもかんでもつづる。

UiPath入門(5)〜UiPath Orchestratorとは

待ちに待ったUiPath Orchestratorの教材がUiPath RPA Academyで公開された。

念のために宣言しておく。評価版であるUiPath Community EditionではOrchestratorとの連携機能に制約があるため、教材そのもので学習することはできるが、OrchestratorからRobotsを実際に動かして評価することはできない。無償の範囲で学ぼうという人は、Orchestratorとの連携については机上の学習になってしまうことは予めお伝えしておく。UiPath Community Editionであることの制約はUiPath CommunityのサポートサイトのQAを参照

現時点では、エンタープライズ向けにしかOrchestratorの連携の評価はさせていないので、どうしてもという人はUiPathの営業に連絡してくれとのこと。

(2017/08/13 追記)
Orchestrator CE - Others - UiPath Community Forum - Robotic Process Automation UiPath OrchestratorのCommunity Editionが利用可能になったとのこと。2016.2から2017.2にバージョンアップすると利用できるようになるというやりとりがある。
(追記ここまで)

さて、前回のUipath入門(4)ではUiPathのオンライン教材、UiPath RPA Academyを紹介した。
blog.jippahitokarage.com

ここではUiPath開発のメインの機能であるUiPath Studioの使い方を学ぶ UiPath Developer Foundationのコースを受ける方法を紹介した。実は、その記事を公開した数日後の2017/08/02に、UiPath Academyを登録しているアカウントにメールが来た。ついに、みなさんお待ちかねのUiPath Orchestrator を学ぶコースがリリースされたということなので、早速コースを受講してみた。

例によって、コースを修了するとOrchestrator Trainingの修了証のPDFがオンラインでダウンロードできる。

f:id:jippahitokarage:20170805120521p:plain
(UiPath Orchestrator 2016.2 Trainingの修了証書)

どうやら、UiPath Orchestrator TrainingはRPA Developer Foundationを修了するとunlockされるらしい。Orchestratorをさわってみたいという人はまず、RPA Developer Foundationを修了しよう。(参照:UiPath入門(4)〜UiPath RPA Academyの教材を使い倒す - じっぱひとからげ)ちなみに2016.2というのはOrchestratorのバージョンを指している。

f:id:jippahitokarage:20170805120616p:plain
(RPA Developer FoundationとUiPath Orchestrator Trainingを修了)

UiPath Orchestratorとは

UiPath OrchestratorはUiPathのRobotsを管理するためのWebベースの運用ツールである。Robotsのジョブスケジューリングやキューイング、即時実行ができるほか、各Robotsの実行結果や現在のステータスなどもWebから確認ができる。

Orchestrator利用の流れ

公式の絵もUiPath RPA Academyの絵もいまひとつイメージがつかみにくいので、Orchestratorの構成をざっくりと描いてみた。

f:id:jippahitokarage:20170806124117p:plain
(イラスト出典:かわいいフリー素材集 いらすとや

基本的には開発者がUiPath Studioで開発を行い、.nupkgというパッケージファイルに出力する。これをUiPathではPublishと呼ぶ。PublishしたファイルはWebベースのアプリケーションであるUiPath Orchestratorにアップロードすることで、その他の実行環境で実行させられるようになる。

実行環境は、それぞれOrchestratorで生成されたkeyをそれぞれの環境にコピペして登録することでOrchestratorに認証される。また、図右上にあるようにそれぞれRobotを動かすためのWindowsユーザ、パスワードの登録も必要である。UiPath Orchestratorは動かす先のPCにログインして、アップロードされたパッケージファイル .nupkgを実行するだけだ。

このリモートでのログイン管理とパッケージファイル .nupkgの管理、Robotの死活を監視するのがUiPath Orchestratorの役割である。

UiPathのライセンスの種類

まずは、モノに着目するとUiPath StudioとUiPath Orchestratorの2種類しかない。ただ、UiPath StudioはRobotsの要素も含んでいるのでエンタープライズ向けのライセンスという意味では3種類に分けられる。

  • UiPath Studio
    • Developer(開発者用ライセンス、Robotsのライセンス含む)
    • Front Office(人の入力を必要とするRobots用ライセンス)
    • Back Office(人の入力を必要としないRobots用ライセンス)
  • UiPath Orchestrator(Webベースの管理ツール)

ここで挙げているDeveloperもFront OfficeもBack Officeもモノとしては何も変わらない。いずれも、ただのUiPath Studioである。ただ、開発者用端末が何台あるのか、Front Office用途の端末が何台あるのか、Back Office用途の端末が何台あるのかを申告して見積もりをもらうという形でライセンス費用が決定する。(参照:Questions: Installer Front Office Robot / Installation unstructions - Others - UiPath Community Forum - Robotic Process Automation)。

価格としては、Back Office > Front Officeということだが、このあたりがどのような意味から価格を設定しているのかはわからない。OrchestratorからのRobotsを登録するときもBack OfficeやFront Officeを選択するTypeという名前の属性があるが、どちらを選んだとしても機能として何かが変わるわけではない。あくまでもライセンス価格だけの話である。ここはいわゆる紳士協定ということになる。

UiPath Academy 専用Orchestrator教育環境

UiPath AcademyのOrchestratorのコースでは、専用のUiPath RPA AcademyのOrchestrator環境(https://academy2016.uipath.com)をSaaSで提供している。この環境はインターネット上に公開されているので、誰でも、どこからでもアクセスできるのだが、上記図の"Users"に該当するRobotsの登録はUiPath Community Editionを利用している場合は試すことができない。Orchestratorに登録するためのRobotsの画面は、以下に示すように非活性になっている。

(2017/08/13 追記)
Orchestrator CE - Others - UiPath Community Forum - Robotic Process Automation UiPath OrchestratorのCommunity Editionが利用可能になったとのこと。2016.2から2017.2にバージョンアップすると利用できるようになるというやりとりがある。
(追記ここまで)

f:id:jippahitokarage:20170806133715p:plain

UiPath Studio Community Editionがインストールされた端末のRobotsをタスクトレイから開き、Settingsをクリックする。

f:id:jippahitokarage:20170806133752p:plain

本来ここでUiPath Orchestratorで生成されたRobot keyとOrchestrator URLを入力することで、OrchestratorにRobotsを認識させる手続きが必要になるが、残念ながらUiPath Studio Community Editionではこの操作は非活性になっているため実施できない。

繰り返しになるが、Orchestratorは現在エンタープライズ向けでのみ利用可能なライセンスの整理となっているため、どうしてもさわりたい場合はUiPathの営業に連絡するしか無い。

Community Editionで試している人はここからは机上の話になってしまうが、UiPath RPA Academy専用のUiPath Orchestrator環境を誰でも自由に利用することができる。

まずは、専用の教育環境でtenantを作る。tenantというのは、Orhestratorを論理的に分けた単位である。Orchestratorを論理的に分けて管理したい場合は、2つ以上のtenantを使い分けることになる。ただ、tenant内でもさらにEnvironmentという単位でDev環境、Staging環境、Prod環境など環境を分けることができるので、どのレイヤーで環境を分けるのかは運用設計次第というところだろう。

新しいtenantを作成するには、UiPath Orchestrator環境(https://academy2016.uipath.com)にアクセスして、Become a tenantをクリックする。すでにtenantを作成済みの場合は、tenant名、ユーザ名、パスワードをを入力することでtenantにログインできる。

f:id:jippahitokarage:20170805135759p:plain

tenant作成に必要な情報(任意の文字列)を入力して、Create the tenantをクリックする。このUiPath Academyの専用環境は、UiPath Academyの教材の中に以下の注意書きがある。

Please note that tenants older than 7 days are automatically deleted.

あくまでも、これはUiPath Academyの教育用なので作ったtenantは一週間で自動的に消える仕様になっている様子。

f:id:jippahitokarage:20170805140933p:plain

tenantを作成すると、すぐにtenantにログインされOrchestratorの画面が表示される。もちろん、Robotsはなにも登録されていないので、Dashboardには何も表示されない。

f:id:jippahitokarage:20170805141500p:plain

ここにRobotsを登録することで、Orchestratorからスケジュール実行させたり、実行結果を確認したりすることができるようになる。

OrchestratorのLesson内容

UiPath Developer Foundationよりも実践が中心のコンテンツになっている。内容はおおよそこんなところだ。

  • UiPath Orchestrator上にRobotsをデプロイする
  • UiPath Orchestratorで生成されたkeyをRobotsに登録する
  • UiPath Studioで作成したプロジェクトのPublishする
  • Publishしたパッケージファイル(.nupkg)をUiPath Orchestratorにアップロードする
  • UiPath Orchestrator から Robotsに実行させる

最初に示した一連の流れをフォローするような構成になっている。

  • Lesson Orchestrator - Presentation and Agenda
  • Lesson Orchestrator - Instructions
  • Lesson Orchestrator - Video
  • Lesson Orchestrator - Documentation
  • Lesson Orchestrator - Basics of Orchestrator - Practices
  • Lesson Orchestrator - Practice 1
  • Lesson Orchestrator - Practice 2
  • Lesson Orchestrator - Practice 3
  • Lesson Orchestrator - Advanced Orchestrator Features - Practices
  • Lesson Orchestrator - Practice 4
  • Lesson Orchestrator - Practice 5
  • Lesson Orchestrator - Practice 6
  • Lesson Orchestrator - Practice 7
  • Lesson Orchestrator - Practice 8
  • Orchestrator 2016.2 Training - Feedback Form
  • Lesson Orchestrator - Quiz

例によって、最後は20問のテストがあり、70%正解でなければ修了できない。

さて、UiPathの真価が問われるのはここから。Orchestratorを活用したRPAの運用管理を実現しよう。