こんにちは!UiPath Friendsコミュニティ運営メンバの @masatomix です。この記事は 2019/12/5(木)に開催予定の、UiPath Friends 東京 Orchestratorハンズオン勉強会 向けの資料です。
半年ほど前に、UiPath Studio/Robot/UiPath Orchestrator CEを用いた運用環境の構築手順のご紹介 という記事を書いたのですが、今回の勉強会向けに、UiPath Orchestrator 2019用に改訂しました。
さて、具体的には下記のハンズオンを行います。
- UiPath Orchestrator の機能概要ご紹介
- UiPath Orchestrator Community Edition へのサインアップ
- そのOrchestratorを使った、UiPath Studio/Robotのライセンスのアクティベーション
- UiPath StudioからのPublishと、Publishしたワークフローの実行
対象の方
- 会社で UiPath Orchestrator(以下OC)を導入するみたいなんだけど、ヒトに構築をお願いするにもひととおりはさわっておかなくちゃなー、って方。
- UiPathはソコソコ使ってるけど、StudioやRobotを**Orchestratorとともに使うのってどうやるのかな??**って方
- UiPath Loveな方
などなどです。
前提事項
- ご自身でPCの操作をしたい場合は、ご自身のWindowsPCをご準備ください。
- 管理者権限のユーザでログインできるようにしてください。
- あらかじめUiPath Studioをインストールしておくと、ハンズオンをスムーズに進められます。
- 勉強会資料は2018.4.5で疎通確認してありますが、それより新しいバージョンであれば問題ないかと思います
- OCを利用するためのEmailアドレスをご準備ください(当日サインアップも行いますが、すでにサインアップ済みでも問題ありません)
- こちらで複数人で共有いただく「共有PC」も会場に設置していますが、2019.xバージョンのUiPath Studioがインストールされているため、画面イメージが本資料と異なることがありますが、ご了承ください。
1.UiPath Orchestrator の機能概要ご紹介
まずは UiPath Orchestratorの構成のご紹介から。
システム構成
いろいろなUiPath構成(Studio単体からOrchestratorまで)を速攻解説 でOrchestratorの構成要素をご紹介しましたが、図のようにUiPath StudioやRobot(Attended/Unattended Robot)をUiPath Orchestratorに接続することで、
- リリース(配布)する「ワークフロー(xaml/nupkg)」の管理
- 「ワークフロー」を実行するPCの管理
- 「ワークフロー」のリモート実行、スケジュール実行
- 他システム連携
- StudioとRobotのライセンスの管理
- カスタムアクティビティの管理
などを行うことが出来ます。
OCの構成要素
これらを実現するために、OCは以下の構成要素をもっています。
- マシン
- ロボット
- ロボットグループ
- パッケージ
- プロセス
- ジョブ
- トリガー(2018版までのスケジュールのこと)
その他の構成要素は以下の通り(今回のハンズオンでは対象外)。
- ロール
- キュー
- アセット
- タスク(新機能)
- フォルダー(新機能ぽい)
- Webhook
論理構成
これらOCの構成要素を論理構成として図示するとこんな感じです。
では各機能の概要をご説明します。
マシン
いわゆるPCに対応しています。「マシンキー」という各PCがOCに接続するためのキー値を管理します。
ロボット/ロボットグループ
ロボットは**「マシン」に「Windowsアカウント」をあわせたモノです。ライセンスのカウントの単位にもなるいわゆる「ロボット」**です。
マシンにWindowsアカウントを紐付けている図。**ライセンスの種類(Studio/Attended/Unattended など)**もココで設定
ロボットグループは、文字どおりロボットのグルーピングです。ロボットへのワークフロー(xaml/nupkgのこと)の配布はこのロボットグループ単位になりますので、実運用時は「何の単位でロボットグループを作成するか」はとても重要な検討事項となります。
あるグループに、あるロボットを属させている図
パッケージ/プロセス
パッケージはいわゆるワークフローのことです。UiPath StudioからPublishされたワークフローがココで管理されます。
Publishされたワークフローは、バージョンを複数もつ事ができます。
つづいてプロセスは、パッケージとロボットグループの組み合わせです。Publishされたパッケージのうち、どのパッケージをどのロボットグループに配布するかを決める、リリース統制をつかさどる重要な機能です。またパッケージは複数バージョンを持つので、どのバージョンを配布するかもあわせて管理します。
ジョブ
ジョブはワークフローを実際にリモート実行するための機能です。
ジョブ作成画面。あるプロセスを、ロボットグループのなかの具体的にどのロボットで実行するかを指定しています。
実行結果なども記録されます。
トリガー(スケジュール)
スケジュール機能です。プロセスを実行サイクルとともにスケジューラに登録することで、スケジュール実行することができます。2019.x版から「キュー」にアイテムを入れることをトリガーにプロセス実行出来るようになったみたいですね。
概要の説明は以上です。
2.UiPath Orchestrator Community Edition へのサインアップ
記事の途中で「共有PC」「こちらで用意したアドレス」などが出てきますが、あらかじめこちらで準備しておいたPCやE-mailアドレスのことだと読み替えてください。
サインアップ
ご用意されたPCや共有PCに、Windowsアカウントでログインしておいてください。(Windowsアカウントとパスワードはあとで使用しますので、控えておきましょう)
さて、さっそくサインアップから。
https://platform.uipath.com へアクセスします。下記の画面で「登録」をクリック。
下記の画面で必要事項を入力します。個別にPCをご準備された方は、ご自身でご用意したアドレスをお使いください。共有PCではこちらで用意したアドレスをお伝えしますので、そちらをご利用ください。
組織名・姓・名などはなんでもよいかと。さいごに「登録」をクリックします。
メール確認
下記のような E-mailが来ているはずなので、メールの「メールアドレスを確認」をクリックすることで本人確認が完了します。
こちらで用意したアドレスについてはこちらで順次確認の作業をいたします。
サインアップは完了です。
ログインしてみる
さてログインしてみます。サインアップ完了画面で**「こちらをクリックしてください」を選ぶ**か、もしくは初めの https://platform.uipath.com で、Email/Passwordを使ってログインします。
トップページ(Services画面)が表示されました!わかりやすいように、左下のプルダウンより、日本語表記に変更しておきます。
変更されました。
さて、サービス画面から、ひとつのサービス(画面キャプチャ上「kinoorgDefault」に表示されているモノ)をクリックします。
UiPath Orchestratorのダッシュボード画面が表示されました。
以上で自由に利用出来るUiPath Orchestratorが手に入りました。共有PCをお使いの方は、後日ご自身のE-mailアドレスでやってみるのもよいかと思います。
以後「Orchestratorにログインする」と書いたときはこのダッシュボードを表示することだと思ってください。
3.Orchestrator からのライセンスのアクティベーション
さて、すでに共有PCにはUiPath Studioがインストール済みなので、あとはアクティベーションです。
アクティベーションは、
- Community Edition としてオンラインでアクティベーション
- UiPath社から購入したライセンスキーで、スタンドアロンでアクティベーション
- 自前のOCとか、OCのCommunity Editionからライセンスをもらう形でアクティベーション
というやり方がありますが、せっかくなので今回は**3の「OCのCommunity Editionでアクティベーション」**してみます。
これは UiPath StudioやRobotを利用するPCをあらかじめOCに登録しておくことで、ライセンスをOCに管理してもらう仕組みです。
マシン名を確認
スタートメニューから「UiPath Robot」を起動すると、タスクトレイにロボットが常駐します。OCに接続していないとアイコンは「白」です。
右クリックから「設定...」を選択。
下記の通りダイアログが表示されるとおもいます。あ、ちなみにこのダイアログを表示するにはWindowsの管理者権限が必要ですのでご注意。
マシン名(↑このキャプチャ上の「PBPC0124」のことです。適宜ご自身の環境に読み替えてください。)を使用しますのでコピペなどしてメモっておきましょう。
Orchestrator上でマシンを登録してマシンキーを取得
Orchestrator にログインし「マシン」画面に遷移。右肩のプラスをクリックして「標準マシン」を選択して新しいマシンを登録します。
マシン名は先ほどメモっておいたご自身のマシン名(キャプチャ上は「PBPC0124」)を指定します。最後に「プロビジョニング」をクリック。
マシンが登録されたようです。マシンに割り当てられたマシンキーを確認するため、一覧上の 右端の点々のボタン >> 編集 をクリックします。
マシンキーが確認出来ます。右のボタンでクリップボードにコピーするなどして控えておきましょう。
Orchestrator上でロボットを作成
つづいてログインしているWindowsアカウントにUiPath Studioのライセンスを割り当てるために、OC上にロボットを作成します。
OCのロボット画面を表示し、右肩のプラスをクリックして「標準ロボット」を選択します。
マシン名はプルダウンになっているので各自のマシン名を指定します。
名前は任意なので、とりあえず「マシン名_ROBO」(キャプチャでは「PBPC0124_ROBO」) としました。
タイプは「Studio」を指定します1。Studio以外を指定した場合はUiPath Studioが起動出来ないなど、ライセンスの種類による制御が行われています。
ドメイン\ユーザ名は、ドメインユーザを使用する場合は**今ログインしている(Windowsの)「ドメイン名\ユーザ名」**としてください。ローカルアカウントであれば「ユーザ名」を指定してください。
パスワードはUnattendedロボを利用するときに使用するんですが、とりあえず入れておきましょう。
PC上で、マシンキーを使ってOCへ接続し、アクティベーションしてもらう
ふたたびPC上で、右クリックから「設定...」を選択。
ダイアログが表示されるとおもいます。
またスタートメニューから、UiPath Studioを起動しておきます。アクティベーションされていない状態だと、おなじみの「アクティベーションしてね」画面が表示されると思います。
マシン名が先ほどOCに登録したマシン名と一致していることを確認しつつ、
OrchestratorのURLと、先ほどメモっておいたマシンキーを入力し「接続」をクリックします。
2019/12現在のOrchestrator Community Edition だと URLは https://platform.uipath.com/[AccountLogicalName]/[ServiceName]/ となるようです。ん??って感じですが、ようするに今表示しているOCのURLとなるっぽい。キャプチャの例だとhttps://platform.uipath.com/kinooqmollho/kinoorgDefault/ です。わかりにくいですね。(昔はhttps://platform.uipath.com/ だけでわかりやすかった)
接続ボタンが「切断」にかわり、接続できたようですね。下のステータス表示も「接続中、ライセンス済み」となりました。ということで**「Orchestrator からライセンスを取得」**をクリックしてみましょう。Studioのアクティベーションができたかとおもいます。
ヘルプを見てみると、ライセンスのプロバイダーが「Orchestrator」になっていますね。。
またタスクトレイのアイコンも、OCへの接続を意味するアイコンが「青」になっています2。
OCの画面上でもライセンスを確認してみましょう。右肩のアイコンをクリックして「ライセンス」を選択します。
Studioのライセンスをひとつ消費していることがわかります。
以上で、OCのCommunity Editionからライセンスをもらう形でアクティベーションすることができました!
4.UiPath StudioからのPublishと、Publishしたワークフローの実行
では、UiPath Studioで作成したワークフローをOC経由で配布して実行するまでをやりましょう。
事前準備。ロボットグループの作成
これから作成するワークフローを紐付けるためのロボットグループの作成です。右肩のプラスボタンをクリック。
このロボットグループに属させるロボットを指定します。ロボットは複数指定出来ますが、各自のロボットを指定してください。最後に「更新」をクリック。
Studioでワークフローの作成
UiPath Studioを起動し、ワークフローを作成します。名前はなんでもよいですがココでは「HelloUiPathFriends20191205」としました。
ワークフローはなんでもよいので、とりあえずMessageboxを出すようにしておきます。一応実行しておくと、
StudioからのPublish
さて StudioからOCへPublishしていきましょう。右上の「パブリッシュ」をクリックします。
UiPath StudioがOCに繋がっていないときは、ローカルにnupkgが出力されていましたが、OC接続時はパブリッシュ先にOCを指定できるので、そのようにして、ついでにバージョンも確認しつつ「パブリッシュ」をクリックします。
(OCに未接続の状態で)ローカルにnupkgを出力した場合、このままワークフローを実行可能だったと思いますが、OCにパブリッシュした場合はすぐにはワークフローは利用可能にならないことに注意して、次に進みます。
OC画面でのリリース作業
さて、各ロボットでワークフローを実行できるようにするため、リリース作業を行います。リリース作業とはPublishされたワークフローとロボットグループを紐付けることです。概要で説明したとおり、プロセスを作成することで、そのロボットグループに属しているロボットは該当するワークフローを実行できるようになるということですね。
まずはパッケージ画面で、さきほどPublishしたワークフローを確認しておきます。確かにありそうです。
念のためバージョンも確認します。たしかに先ほどStudioで確認したバージョン「1.0.7276.19589」が表示されています。
パッケージの確認はココまで。つづいてプロセス画面にうつります。プロセスは**「ロボットグループとパッケージ(とバージョン)の組み合わせ」**のことでした。
プロセスはまだ作成していないので空です。右上のプラスボタンからプロセスを作成します。
プロセスは「ロボットグループとパッケージ(とバージョン)の組み合わせ」なので、「パッケージ」「パッケージのバージョン」「ロボットグループ」を選択していきます。
パッケージにさきほどの「HelloUiPathFriends20191205」を選択。
バージョンは「1.0.7276.19589」、そのワークフローを動かしてよいロボットグループに「GROUP01」を指定し、「作成」をクリック。
ロボットからの実行
業務利用する場合は、StudioのライセンスではなくAttended/UnattendedなRoboのライセンスを使う必要があるのですが、今回はテストってことでStudioライセンスのまま実行します。
タスクトレイからロボットをみてみると、先ほどのワークフローが表示されていますね。まだ配布が行われていないので「更新」のアイコンでワークフローをダウンロードします。
ダウンロードが完了すると実行可能なアイコンになりますので「開始」をクリックします。
以上で、StudioからPublishしたワークフローを、OCで配布することでロボット上で実行することが出来ました。今回はUiPath Studioと実行環境であるRobotが同じPC上でしたが、OCを経由することで別のPCにもワークフローの配布が容易にできることがわかりました。
つづき1:ワークフローの更新と再配布
つづいてStudioでワークフローを更新したとき、それらがどのように各PCへ再配布されるかをみてみましょう。
ワークフローの更新
Studioでワークフローを更新して(Hello....1205_01 → Hello....1205_02 ) 、再びパブリッシュをクリック。
バージョンが新しくなってることを確認して(「1.0.7276.19589」→「1.0.7276.24770」)、パブリッシュをクリックします。
パブリッシュが完了しました。
この時点では新バージョンの配布は行われていないので、OC上でバージョンアップ作業を行います。
OC画面でのバージョンアップ
OCのパッケージの画面をみてみます。あたらしいバージョン「1.0.7276.24770」のワークフローがアップロードされていることがわかります。
またそちらのバージョンは「非アクティブ」になっていますね。どのプロセスからも使用されていないということを意味しています。
つづいてプロセスの画面です。ダウンロードっぽいアイコンで**「あたらしいバージョンのワークフローがあるよ」**と知らせてくれています。
さて該当行の、右部のメニュー >> プロセスの表示 を選択して、バージョンを選択する画面を開きます。
開きました。このプロセスが使用しているバージョンには「使用中」と出ています。まだ古いバージョン「1.0.7276.19589」が使用されているとのことなので、あたらしい「1.0.7276.24770」の「使う」アイコンをクリックします。
「HelloUiPathFriends20191205_GROUP01」というプロセスが使用するパッケージをバージョンアップしちゃうよ?と聞かれるので「はい」を選択。
使用中のアイコンが表示されているバージョンが変わり、バージョンアップが完了しました。
ロボットからの実行
さて、PC上のロボットを見てみます。OC上でワークフローがバージョンアップされたことをあらわす「更新」アイコンになっているので、クリックしてダウンロードします。
新しいバージョンにバージョンアップされたようです。実行してみると、、、
つづき2:Unattended Robotでの実行
さいごに、ジョブ機能をつかってワークフローをリモート実行してみます。
ライセンスをStudio → Unattendedへ変更
リモート実行はRobotのライセンスがUnattendedである必要があるので、ライセンスを変更します。
OC画面の 管理>>ロボット画面(監視のほうではないので注意)で、該当ロボットの右メニュー >> 編集 を選択します。
ライセンスのタイプが「Studio」になっているので、プルダウンを選択して、
Unattended に変更します。
反映されました。
Unattended Robotで実行
さて、リモート実行です。ジョブ画面を表示して、右肩のボタンをクリック。
プロセスを選択して、実行するロボットを選択し「開始」をクリックします。すると、、指定したロボットで、、、
今回のハンズオンでは「WEB画面を操作するPC」と「ワークフローを実行するPC」が同じなので、あまりリモート実行された臨場感がないのですが、実際は**「ワークフローを実行するロボット」はWindowsが起動しているだけでよく(ログインしている必要すらない)、他のPCからOC画面を操作して、ワークフローを実行することが可能**です。
つづき3:スケジュール実行
OCのトリガー画面より実施します。。「プロセス」と「実行するRobot」と「スケジュール間隔」を指定しますが、詳細は勉強会にて。
まとめ
今回の勉強会で、UiPath Orchestratorの基本をハンズオンしましたが、いかがでしたでしょうか?UiPath Orchestratorにはほかにも様々な機能がありますが、それらについてはニーズに応じて「第二回ハンズオン」を開催していきたいと思います。また、今回のハンズオンも多数の方がキャンセル待ちとなってしまいましたので「第一回ハンズオン」の二回目なども検討したいです。などなど、ご要望については、アンケートに書いてくださると幸いです。
謝辞
今回の件でご協力いただいた UiPath Friendsの運営メンバーの方、またUiPathの中の方々、またもちろん、参加してくださった方々に感謝いたします。Orchestratorまわりを盛り上げていければとおもいますので、みなさま今後ともよろしくお願いします。
以上、おつかれさまでしたー。。。