いろいろなUiPath構成(Studio単体からOrchestratorまで)を速攻解説(Slide版)


## 自己紹介

- 木野 雅富( @masatomix ) 
- UiPathとの出会い：2017/04 くらいに Studioではなく Orchestrator に出会う。
以後、野良ロボ統制などを行いたいユーザ様に、OC導入をやってます。
- 所属: 株式会社プライム・ブレインズ
- Qiitaにいろいろ書いてます
    - https://qiita.com/masatomix
- https://twitter.com/masatomix
- 趣味: ボルダリング

----
### UiPathのいろいろな構成とは

----
### よくある構成。
![02_wr.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/73777/f5bf80f5-4775-00e8-fcce-19f1a624bfe6.png)


----
### つづいて、全部のせ構成。

----
### 全部のせ構成。
![06_wr.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/73777/44c6b4da-814c-fa71-b506-a52fe87857ae.png)



----
### 全部のせ構成。
![06_1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/73777/ef3d69fd-c30b-6f06-b8da-9c76ab467e0c.png)



----
### うーん、複雑ですね┐('〜`;)┌。

----
### つまり...Studio以外にも、いろいろな技術要素があるんです

----
### そこで今回は、いくつかの構成をご紹介します

----
### 構成2: よくある構成(構成1はStudioのみ。省略)
![02_1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/73777/4a3e405f-0f44-1dbe-23fa-e07184282082.png)


----
### 構成3: Orchestratorで統制する
![03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/73777/cbfc2e2f-8505-098a-a730-7409de008b74.png)


----
### 構成3: Orchestratorの役割

- Orchestrator経由で**「ワークフロー」を配布する**ことができます
    - 配布するバージョンの指定も可能です
- **「ワークフロー」を実行するPCを選択する**ことができます
- **「ワークフロー」をリモート実行**、また**スケジュール実行**ができます
    - Windowsが起動していれば、ログインしていなくてもOK
- RESTのAPIを使って、他システムから機能をよびだすことができます
- StudioとRobotのライセンスを管理することができます
- 「カスタムアクティビティ」の配布も可能です

----
### 構成3: Orchestratorの役割(画面例)

ワークフローのリモート実行画面
![03-job.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/73777/77350dc3-e978-644a-012f-d01e1c036aca.png)


----
### Orchestratorは、ワークフローの配布を容易にし、リリース運用などを統制し、ロボットの無人化を促進するためのプロダクトです

----
### つづいて 開発まわりの構成について


----
### 構成4: Attended Framework/RE Framework
![04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/73777/522120e5-c8f1-ed96-5443-8283b969f7c9.png)


----
### 構成4: Attended Framework/RE Framework

- プロダクト
    - UiPath Studio(開発PC)上に「Attended Framework/RE Framework」テンプレート
- できること/メリット
    - 設定ファイル、エラー処理、など**ワークフロー開発者の負担を軽減**
    - Attended Frameworkは**学習が容易**(生産性が落ちない)
    - RE Frameworkは、OrchestratorのQueue/Transaction機構を使った**ベストプラクティスな運用**が出来る
- できないこと/デメリット
    - RE Frameworkは多少複雑なので、小規模だと学習コストが無駄

詳細は、**直近(2019/8)のUiPath Developer Community 第12回の資料をご参照ください**(Qiitaを「Attended Framework Slide」などで検索してみてください)

----
### 構成5: カスタムアクティビティ開発
![05.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/73777/4a8fe402-03f4-2f69-85cc-309e82fd4b4e.png)

----
### 構成5: カスタムアクティビティ開発
- プロダクト
    - カスタムアクティビティを開発するための、Visual Studio
- できること/メリット
    - 横断的に共通化したい処理などを **アクティビティとして開発・配布できる**。
    - 　例:自社独自のエラー処理(xxログを出してxxへメール通知とか)」
- できないこと/デメリット
    - C# などの**プログラミングスキル**が必要

![05-2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/73777/63ac2c31-b35f-a03a-6114-6457829b5b59.png)

----
### 構成5: カスタムアクティビティ開発

独自に開発した、カスタムアクティビティ
![05-1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/73777/453a38a8-9d30-fa1f-f093-82ea138fa507.png)


----
### 構成6:「全部のせ」。Elasticsearch/Kibana 追加

![06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/73777/d7b2fdb0-4fe2-bb39-bcb5-3a49360c9ecd.png)





----
### 構成6:「全部のせ」。Elasticsearch/Kibana 追加
- ロボごと、ワークフローごとなど、さまざまな切り口で**稼働状況を閲覧**できます
- **ロボットが正常に動いているか**を確認できます
- 利用頻度が低いロボットをしらべて**ライセンス数を見なおす**ことができます
- **時間のかかるワークフローを見つけて、開発者に**処理の改善を促すことができます
- **ロボットたちの稼働していない時間帯をみつけて、もっと働かせる(!)**ことができます
![06_ela.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/73777/94a69f23-80bb-7ed5-5cbe-3bbcb5bcbab5.png)

----
### 構成1〜構成6まとめ
| 構成 | 主要プロダクト |特徴/目的   |
|:-----------|:------------|:------------|:------------|
| 構成1: UiPath Studioだけ(省略)|UiPath Studio|シンプル|
| 構成2: Studio/Robot で開発と実行を分離  |UiPath Studio/Robot|別環境で実行|
| 構成3: Orchestratorで統制 |  UiPath Orchestrator|リリース運用・実行環境の統制|
| 構成4: Attended Framework/RE Framework  |Frameworkテンプレート| 開発フレームワークで標準化|
| 構成5: カスタムアクティビティ開発 | Visual Studio|C#で共通処理|
| 構成6: Elasticsearch/Kibana |Elasticsearch/Kibana|運用状況の可視化|

----
### まとめ(Cont.)

- かけ足でしたが、UiPath製品群の構成例いかがでしたでしょうか？
- これらは**重要な技術要素**ですが、まだまだネットに情報も少ないです。
- とくに**Orchestrator**や**フレームワーク**、**カスタムアクティビティ開発**、**Elasticsearch/Kibana** などはもっと情報を収集・発信していきたいですね。

----
### 技術系の勉強会・ハンズオンのお知らせ

- 今回をきっかけに、皆さんも一緒にUiPath Studio以外もさわってみませんか？
- 今回発足したユーザコミュニティでは、**これらの勉強会・ハンズオン**を検討しています。
- まずは**Orchestratorハンズオンを実施予定**です。ご興味のある方はぜひご参画くださいませ！
- その他の技術要素(カスタムアクティビティ、フレームワーク、Elasticsearch etc...)についても募集中です。
    - よろしければ、やりたい勉強会などをアンケートにご記載ください。。

いっしょに、楽しいユーザコミュニティをつくっていきましょう。よろしくおねがいします。

----
ご清聴ありがとうございました。