【UiPath】テンプレートをつかってみよう！（その２）

## 皆もすなるQiitaといふものを、儂もしてみむとてするなり。

と言う訳で、こん＊＊は！はなっち！です。

【初めに】
[【UiPath】テンプレートをつかってみよう！（その１）](https://qiita.com/HANACCHI/items/66d6a6f064db3b0d46f0)のまとめとして、
`・そのUiPath社として公開しているものもインストールしてみない事には中身がよくわからない（**続編に続く**）`
としました。

その続編です。
今回は、テンプレートの中身って何？って事をまとめてみます。
- - - 
## どんなものがある？
テンプレートがありそうな箇所の「組み込み」がUiPath Studioインストール時に組み込まれているテンプレート(?)っぽいので、そこから表示されるTemplateを見てみましょう。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/669015/33568eac-255b-d6af-01b6-72e234fa3959.png)

|テンプレート|パブリッシュ者|説明|
|:----------------:|:-:|:-|
|[Robotic Enterprise Framework](https://docs.uipath.com/studio/docs/robotic-enterprise-framework)|UiPath|大規模なデプロイにおけるベスト プラクティスに従ったトランザクション業務プロセスを作成します|
|オーケストレーション プロセス|UiPath|サービスの、人の介入、および実行時間の長いトランザクションを使用するプロセスを実装します|
|トランザクション プロセス|UiPath|プロセスをフローチャート ダイアグラムとしてモデル化します|
|トリガー ベースの有人オートメーション|UiPath|マウスまたはキーボード操作によるユーザー イベントに応答して、オートメーションをトリガーします|
|バックグラウンド プロセス|UiPath|バックグラウンドで開始するプロセスを作成します。このプロセスが UI 操作を使用しない場合は、他のプロセスとに実行できます。|
|モバイル テスト プロジェクト|UiPath|モバイル アプリの自動化テスト ケースのプロジェクトを作成します。|

## Robotic Enterprise Framework
「Robotic Enterprise Framework」は、ステートメントマシンで構成されている。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/669015/6c3450ca-0c55-852d-1fd8-5b8e59456ce5.png)

どうもステートメントマシンは便利なのだが、なかなか読み切れない。ただ、Startから始まり、「STATE」アクティビティを経て、「最終STATE」アクティビティで終わる。「STATE」アクティビティから次の「STATE」アクティビティ、「最終STATE」アクティビティへ遷移するには、条件が存在し、その条件を可視化すると理解がしやすいと思っています。俗にいう「**状態遷移図**」なるものをまとめるといいでしょう。
以下の図はその一例。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/669015/e6e45194-7ae1-1f57-e22d-4060a6fce2ab.png)
※左の「STATE」アクティビティの表示名から、条件を満たす交点の上方の「STATE」アクティビティの表示名に遷移するようにまとめてあります。交点部分の●は表示名、◇は遷移の条件です。

## オーケストレーション プロセス
「オーケストレーション プロセス」は、なじみのあるフローチャートで構成されています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/669015/cc6a04ae-abe1-43ab-a4c7-93cd205de14b.png)

Topシーケンスは「INVOKE WORKFLOW」アクティビティが順に実行されるようになっていて、それぞれのINVOKE WORKFLOW先でのエラー発生時は、そのまま異常終了してしまうような...

## トランザクション プロセス
「トランザクション プロセス」も、なじみのあるフローチャートで構成されています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/669015/1b95061a-2d5a-ff6d-68af-a1af64136d54.png)
簡単そうに見えて、簡単すぎて、どうすればいいんだ！？って、却って疑問になってしまいます（個人の感想です）。

## トリガー ベースの有人オートメーション	
「コメント」アクティビティには、`必要に応じて他のトリガー アクティビティを追加/削除しながら、以下のトリガーを構成します。 それらは同時に監視され、発生したイベントに対してイベント ハンドラーが 1 回実行されます。`と書かれていて、なるほど、「Click Trigger」アクティビティ、「Key Press Trigger」アクティビティ、そして「Hotkey Trigger」アクティビティが未設定のまま、サンプルとして配してある。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/669015/60dde65e-6dbe-3ad6-5f7e-7014c0c54c61.png)

ただ、過去開発の中で、ロボットを実行させ、イベントをトリガーさせてから処理を始めるような要件がなかったから、トリガーってこんな時に、このように設定し、こんな風になるのかと言う勉強にはなりますね（個人の感想です）。

## バックグラウンド プロセス
これは！
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/669015/29c53059-69e7-fd49-5bd5-94e26f8ef8e3.png)
これはテンプレートなんだろうか…何もない…
ただ、複数のjsonファイルが存在し、その中に必要そうな情報が格納されているので、時間が出来たらひも解いてみたい。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/669015/acda4827-e57c-decc-53eb-615cbee8acad.png)

## モバイル テスト プロジェクト
これは！
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/669015/af3f0266-f3ab-2818-da9a-52bf0807b663.png)
通常は、最初に実行されるMain.xamlがなく、Project.json中の"main"にも指定はなぅ("")、まだまだ勉強が足りません。ごめんなさい。

## 【まとめ】
・UiPath社として公開しているものもインストールしても、じっくり解読して、使いこなすには時間が掛かりそう（**続編に続く**）

- - - 

##おわりに
いかがでした？

今回も読んでいただきありがとうございました！
是非UiPathでのロボ開発の一助になればと思っています。

ありがとうございました！