UiPath Orchestrator のバージョンその他による挙動の違いにぐったりきたので整理(用語集)

こんにちは。[UiPath Friendsコミュニティ](https://uipath-friends.doorkeeper.jp/)運営メンバの @masatomix です。

## イントロ

突然ですが、、2017年頃、初めて触った UiPath Orchestrator(以下、OC) を触ったときの印象ですが

> Orchestrator って、UiPath (もよく分からないけど) のワークフローをリモート・スケジュール実行できるしくみなのね。[^1]
> ほー。

[^1]: あ、統制とか、とっても重要なところは、ココでは はしょって書いてます)

くらいのシンプルさ。
ネット上にデモサイトもありましたが、基本的に**オンプレでOCサーバを構築して、ロボットにはAR/URがあるくらいの平和な世界**でした、、。

さて数年経って、2021年。
昨年くらいからクラウドサービスが本格化されてきたなぁ、、くらいに思ってたら、、導入の立場から真面目に切り分けていくと

> あ、ロボットをインストールする際には、**ユーザモードとサービスモード**があるからAR/URで使い分けてね、
> そういえば**対話型サインイン**ってのも最近でてきたよ、あ、ユーザモードで入れたARのときだけだけど。
> URは相変わらずマシンキー接続だけだから。



> あー今後は**モダンフォルダ**だけになるので、ロボットの作り方やマシンキーの払い出し方、いままでと全く違うんで。
> まあ、ARはそもそも対話型がデフォルトなので、マシンキーがそもそもいらないけどね。

> あ、クラウド ~~のEnterprise~~ の場合はライセンスの割り当て方が「**ユーザライセンスモデル**」ってのになるから、、前のヤツ廃止で。
>

> うーん、PCのタスクトレイからOC接続したとき、なんかオレンジになっちゃって**「ライセンスなし」って言われる**な、、、。
> あ、OCの2020まではOSログインしているWindowsアカウントでロボットを特定しにいってたけど、OC2021から(正確にはクラウドから) はWindowsアカウントはロボットの特定には使われず、対話型サインインしたときのユーザに紐付くロボットを特定しにいくんで、だからじゃない？。今後はWindows **アカウント確認してください、じゃダメ** なんですよね。
> (あー対話型サインインで探しに行くロボットだけど、2020はARだけを探しに行くけど、2021からはURも探してるよーにみえるな、、、。)

、、、、。
完全にカオスですね。ややこしすぎる。。。

というわけで、UiPath Orchestratorを運用するには**バリエーションがいろいろとあったり、それによって挙動がちょっとずつ違ったりするので、その辺の用語などをざっと整理**してみました。

あ、もちろん下記は公式の整理ではなくてあくまで**自分個人の整理メモ**なので、間違っていたらゴメンナサイ。というか正確な情報を知りたければ、公式見てね :-)


## 用語

### サービスの形態

| サーバ方式 | 説明                                                         |
| ---------- | ------------------------------------------------------------ |
| オンプレ   | 自前でサーバを用意する方式。<br />サーバの準備が必要でそしてインストールはメンドクサイ(もちろんバージョンアップもメンドクサイ)が、**勝手にバージョンアップされないので、とても安心**して運用できる |
| クラウド   | クラウド上のサーバを準備する方式。インストール不要。サーバ準備不要なのですぐ始められる。<br />**勝手にバージョンアップされるので、運用自体はとっても楽**。<br />が、勝手にバージョンアップされるので、突然画面が変わります。ドキュメントを作ってる側からすると相当ツラい。 |



| サービスの種類 | 説明                                     |
| -------------- | ---------------------------------------- |
| Enterprise     | 有償版。オンプレとクラウド**両方あり**。 |
| Community      | 無償のCommunity版。**クラウドのみ**。    |

### OC/Robotのバージョン

| OC/Robotのバージョン (2021/08/15現在) | 説明 |
| ------------------------------ | ---- |
|〜 21.4.4||
|〜 20.10.9||
|〜 20.4.5||
|〜 19.10.8||
|〜 18.4.8||

これくらいの変更なら変えなくて良いのでは、、ってほどに**毎回インストーラがかわる**。
マニュアル作成者泣かせ(´д`;)

参考: [プロダクトライフサイクル](https://www.uipath.com/ja/legal/trust-and-security/legal-support/product-lifecycle)



### ロボットの種類

| ロボットの種類 | 説明 |
| ------------------------------ | ---- |
|Attended ロボット(AR)|人間がタスクトレイから実行するロボット。Studioとかもこっちに含まれる。|
|Unattended ロボット(UR)|OCからジョブ実行される想定のロボット。|

参考: [ライセンスの種類別](https://docs.uipath.com/robot/lang-ja/docs/according-to-license)



### Named か Concurrentか

ARに対して、バージョン2018〜2020くらいにあった方式。

| Named/Concurrent | 説明                                                         |
| ---------------- | ------------------------------------------------------------ |
| Named User       | ロボットを作成した時点でライセンスが消費される方式<br />(ライセンス数までしか、ロボットを作成できない) |
| Concurrent User  | タスクトレイにロボットを常駐させたときにライセンスを消費する方式<br />(つまりロボットはいくらでも作成できた方式) |

参考:[ライセンス](https://docs.uipath.com/orchestrator/lang-ja/v2020.10/docs/about-licensing#concurrent-user)

https://qiita.com/masatomix/items/c7948dd9470abfaa4a79


>https://www.uipath.com/ja/licensing-models の「定義語」の節をみると、かつてのConcurrentは「Multiuser」ライセンスに移行されたっぽいですね。(OC2020までは「Concurrent」って表示されるライセンスをOC2021でアクティベーションしたら「Multiuser」って表示されました。。)





### インストール方法

| インストール方法 | 説明 |
| ------------------------------ | ---- |
|ユーザー モード|ユーザがログインして利用することを想定したモード。<br />ログアウトしたらプロセスが終了されるので、**ログイン状態じゃないとOrchestratorからのジョブを受けてくれない**。<br />なので、おもにAttended Robotを想定。<br />このモードでインストールしたときだけ、**対話型ログイン「のみ」による接続が出来る**。|
|サービス モード|Windowsのサービスに常駐してくれるので、**ログイン状態でなくてもOrchestratorからジョブ実行**を受け付けてくれる。<br />従って、おもにUnattendedロボット向け。こちらは**マシンキーによるOC接続が必須**。|

参考:[デプロイの種類別]( https://docs.uipath.com/robot/lang-ja/docs/according-to-deployment)

### フォルダ


| インストール方法 | 説明                                                         |
| ---------------- | ------------------------------------------------------------ |
| クラシックフォルダ  | 標準ロボットを**ロボットグループで分類わけして使う**、今までのフォルダ。<br />廃止されるとか、されないとか。 |
| モダンフォルダ  | フローティングロボットとロボット自動生成機能とともに用いて、**マシンやロボットの管理負荷を軽減**する新しい(というか現在の標準の)フォルダ。<br />ちゃんと使いこなすと、たぶん元のフォルダ運用には戻れないとおもえる。[^2] |

参考:[主な機能と動作](https://docs.uipath.com/orchestrator/lang-ja/docs/key-features-and-behavior)

[^2]: クラシックでは出来ていた**「あるユーザのAR利用について、PC1ではワークフローAは実行OKだけど、PC2では実行NG」とかができない**( 人を特定すると、使えるワークフローが決まっちゃうしくみなので。 ) とかが微妙にデグレってるけど、それ以外のメリットがとても大きい。 



### ロボットを接続するときの接続方式

PCをOrchestratorに接続するときには、**かつては「マシンキー」でマシンを認証して、Windowsアカウントで「ロボット」を特定する、というのが唯一の仕組み**でしたが、2020あたりから「対話型サインイン」という仕組みが導入されました。

簡単にいうと「Windowsアカウントでロボットを特定するのではなくて、接続時にOrchestratorのWeb画面でログインしてもらって、そのユーザの持つロボットを特定する[^3]」方式ですね。

[^3]: モダンフォルダ運用だとユーザを特定するとロボットが特定できるのでした


| 接続方式                   | 説明                                                         |
| -------------------------- | ------------------------------------------------------------ |
| マシンキーによる接続       | マシンは「マシンキー」で認証して、**ログイン中のWindowsアカウントと、ロボット画面で設定したWindowsアカウントでロボットを特定**するしくみ。URはマシンを特定してライセンスを消費するので、URはまだマシンキー接続のみ。 |
| 対話型サインインによる接続 | Windowsアカウントでロボットを特定するのではなくて、OC接続時に**OCのWeb画面でログインしてもらって、そのユーザの持つロボットを特定**する方式。 |

参考:[対話型サインイン](https://docs.uipath.com/robot/lang-ja/docs/interactive-sign-in)

マシンキー接続していても、**追加で対話型サインインが必要なシーン**があったり、オンプレだと**Orchestrator側で設定**を入れておかないと対話型サインインが有効にならなかったり、ロボットをサービスモードで入れていると、OCで設定していても**対話型サインインは出てこなかったり**[^4]、などなど、パタン分けが相当ややこしいです。

ただモダンフォルダになって、マシンキーをPC単位で発行する必要がなくなり、ARに関してはもはや全く意味をなさなくなった[^5]マシンキーですので、**対話型サインインを導入することでマシンキー管理が不要になるのはとってもイイ**です。マシンキーの設定はOSの管理者アカウントが必要だったりするので [^6]その観点からも対話型サインインは導入したい機能ですね。

[^4]: 昔から使ってると「Enterprise版使ってるときはとりあえずサービスでインストールしとけ」なので、対話型サインインがあることに気づけませんでした、、。


[^5]: URはライセンス数を割り当てたり、PCをグルーピングしたり、まだ機能している

[^6]: ~~もしかしたらユーザモードだったらいらないかもしれないけど、、分かんないや~~ユーザモードでインストールした場合は、管理者権限は不要っぽいですね。

あー、あとはロボットの特定方法が**「Windowsアカウントによる特定」と「対話型サインインによってきまるユーザで特定」って二つの概念が入った**ことで、**何のWindowsアカウントでワークフローが動かせるかの自由度があがり、ややこしくなりました**。ココは対話型を導入する場合の注意点になりそうです。( [対話型サインインとマシンキー](https://qiita.com/masatomix/items/a200c2ab6f03fc430bb5#%E3%81%9F%E3%81%A0%E7%B5%B1%E5%88%B6%E7%9A%84%E3%81%AB%E3%81%AF%E3%81%A9%E3%81%86%E3%81%8B) )

### ユーザー ライセンスの管理

| 管理方式                   | 説明                                                         |
| -------------------------- | ------------------------------------------------------------ |
| ユーザー ライセンス管理 モデル | Automation Cloud画面でユーザ・グループ作成時にライセンス種類を指定する方式|
| レガシー ライセンス管理 モデル | Orchestrator画面でユーザ・グループ登録時にライセンス種類を指定する方式|

参考

- [ユーザー ライセンスの管理(公式)](https://docs.uipath.com/automation-cloud/lang-ja/docs/user-license-management)
- [UiPath Orchestrator のユーザー ライセンスの管理方法が変更された件(備忘メモ)](https://qiita.com/masatomix/items/e3ece1b9759293155399)



## まとめ

今後、Orchestratorの記事を書いていくにあたって「**どの環境むけに書いてるか**」を明記しないと混乱しそうなので、(やってみたけど動きが違うんだけど、、、的な) 、それらを整理しました。

今後の記事は必要に応じて、

- クラウドの Orchestrator (2021/08/08時点 バージョン 21.7.28-release.33) Community版と、ユーザモードでインストールしたUiPath Studio (21.4.4)
- オンプレ版の Orchestrator  2020.10.7 と、サービスモードでインストールしたロボット(2020.10.x)を用いています。
- オンプレ版の Orchestrator  2020.10.7 と、ユーザモードでインストールしたロボット(2020.10.x) で対話型ログインを用いるケースです。

とかを明記しながら書いていこうと思います。

## 蛇足

さらにさらに、この場合分けを表にしてみるとこんな感じになりました、、、。

![pattern](https://imgur.com/5v6yEM3.png)

お疲れさまでしたー。

## 関連リンク

- [プロダクトライフサイクル](https://www.uipath.com/ja/legal/trust-and-security/legal-support/product-lifecycle) 公式
- [ライセンスの種類別](https://docs.uipath.com/robot/lang-ja/docs/according-to-license) 公式
- [デプロイの種類別]( https://docs.uipath.com/robot/lang-ja/docs/according-to-deployment) 公式
- [フォルダの主な機能と動作](https://docs.uipath.com/orchestrator/lang-ja/docs/key-features-and-behavior) 公式
- [対話型サインイン](https://docs.uipath.com/robot/lang-ja/docs/interactive-sign-in) 公式
- [よくわかるモダンフォルダ(イントロ編)](https://qiita.com/masatomix/items/686b6af4fac69a0b18a3) オンプレOC 2020.10.7 と、サービスモードのロボット 向けの記事
- [クラウド版 UiPath Orchestrator 2021.x版のサインアップからロボット実行までの手順ご紹介(よくわかるモダンフォルダ番外編)](https://qiita.com/masatomix/items/a200c2ab6f03fc430bb5) クラウドOC21.7.x Community版と、ユーザモードのロボット向けの記事