Cyro Technology

ReFramework

Le ReFramework est une base de projet maintenue par UiPath, qui permet de partir sur une structure implémentant les bonnes pratiques de conception.

Initialiser le projet

Pour créer un projet sur la base du ReFramework, sélectionnez le modèle « Infrastructure d’entreprise robotique » dans la partie droite de la fenêtre (Nouveau projet)

Vous pouvez alors nommer et paramétrer les bases du projet.

 

 

Main.xaml

Le fichier Main.xaml contient la structure principale du projet, c’est le fichier appelé en premier lors du démarrage du robot. La structure est une machine à états.

Il est possible de lui passer le paramètre in_OrchestratorQueueName pour préciser le nom d’une Working Queue Orchestrator.

Initialization

Cet état regroupe tous les processus d’initialisation du projet

  • Lecture du fichier de config
  • Initialisation du nom de la Working Queue Orchestrator
  • Nettoyage des process
  • Ouverture des applications

Si toutes les opérations se déroulent sans erreur, on passe à l’état « Get Transaction Data ».

Dans le cadre des robots sans Orchestrator, c’est ici qu’il faudra initialiser la source de donnée que le robot doit traiter.

Get Transaction Data

Cet état a pour objectif de transférer chaque élément de travail à l’état « Process Transaction ».

En début de cycle, on contrôle si l’arrêt du robot a été demandé, dans ce cas on indique artificiellement qu’il n’y a plus d’élément à traiter.

Une fois tous les éléments traités, il basculera vers l’état « End Process » via la transition « No Data »

Cet état est très adapté lorsque le robot doit traiter une succession d’éléments identiques.

Dans le cadre d’un robot qui aurait plusieurs types d’éléments différents à traiter, ou un robot très simple, il est possible de supprimer cet état et relier directement l’état « Initialization » à l’état « Process Transaction ».

Process Transaction

Cet état effectue le travail du robot à proprement parlé en utilisant les paramètres de la variable TransactionItem.

L’état exécute le workflow « Process.xaml » en lui passant les informations du fichier de Configuration (in_Config) et les informations de travail (in_TransactionItem).

Une fois le travail exécuté, l’état de la transaction est initialisé dans le workflow « SetTransactionStatus.xaml » (dans le bloc « Finally » du TryCatch) puis, retournera à l’état « Get Transaction Data » si tout s’est déroulé correctement.

Set Transaction Status

Ce worflow est exécuté immédiatement après l’exécution du « Process Transaction », quel que soit le statut. Son but est d’initialiser le statut de la transaction pour en informer le serveur Orchestrator ainsi que de renseigner le fichier de log, il peut y avoir 3 états :

En cas de réussite du travail, la transaction est marquée comme réussi (uniquement si Orchestrator)

Les détails sont renseignés dans les logs

Le TransactionNumber est incrémenté pour pouvoir passer à la transaction suivante (dans l’Etat « Get Transaction »)

En cas d’erreur Business, la transaction est marquée comme échouée (uniquement si Orchestrator)

Les détails sont renseignés dans les logs

Le TransactionNumber est incrémenté pour pouvoir passer à la transaction suivante (dans l’Etat « Get Transaction »).

Pour Orchestrator, on indique qu’il faut retenter la transaction, la transaction est marquée comme échouée et le compteur de Retry est initialisé avec celui de la transaction.

Si on n’utilise pas Orchestrator, on ne retente pas le travail.

Dans tous les cas, on passe au flowchart « Retry current transaction » (en orange sur le schéma, détaille plus bas) puis on prend un Screenshot et on ferme toutes les applications.

Retry current transaction

Ce Workflow, exécuté en cas d’exception système, permet de gérer le comportement du robot au niveau des re-tentatives sur la transaction en cours.

End Process

Cet état est l’état final du process ReFramework, c’est dans cette état que toutes les applications sont fermées et les éventuels rapports envoyés.