Modèles de règles

Concepts

Dans le cas le plus simple, un flux correspond à un transfert. Si le flux doit transiter via des serveurs de rebond, il est alors composé de plusieurs transferts.

Prenons l’exemple du flux suivant :

left to right direction

title flux et transferts
(A) --> (B)
(B) --> (C)
(C) --> (D)
(B) --> (E)
(E) --> (F)
(F) --> (G)

Ce flux gère le transfert des fichiers du partenaire A aux partenaires D et G.

Ce flux est composé de 6 transferts (numérotés ci dessous) répartis sur deux routes :

left to right direction

title Numérotation des transferts au sein d'un flux
(A) --> (B): 1
(B) --> (C): 2
(C) --> (D): 4
(B) --> (E): 3
(E) --> (F): 5
(F) --> (G): 6
note right of (D) : Route 1
note right of (G) : Route 2

Cette numérotation se retrouve dans le contexte d’évaluation des modèles sous le nom flow_index.

Une deuxième numérotation est disponible dans le contexte d’évaluation: c’est l’indice du transfert dans la route. il se retrouve sous le nom route_index et correspond à l’ordre des transferts au sein d’une route :

left to right direction

title Numérotation des transferts au sein d'une route
(A) --> (B): 1
(B) --> (C): 2
(C) --> (D): 3
(B) --> (E): 2
(E) --> (F): 3
(F) --> (G): 4
note right of (D) : Route 1
note right of (G) : Route 2

Chaque transfert correspond à une règle de transfert de Waarp R66. Cette règle est définie à partir d’un modèle de flux.

L’écran de gestion des modèles de flux permet de consulter la liste des templates utilisé pour les flux ainsi que de les modifier.

../../_images/templates-list.png

Fig. 65 Liste des templates

Structure du template

Un modèle de flux est une liste de règles de transfert :

rules: [
  Règle 1
  Règle 2
  ...
  règle N
]

Définition des règles

Les règles sont composées d’un nom (name), d’un mode, d’une série de tâches (les traitements pré-transfert, post-transfert et en cas d’erreur), Ainsi que d’une condition d’exécution (when).

Les chaines de traitement pré-transfert, post-transfert et en cas d’erreur peuvent être définies pour l’émetteur du fichier (sender) et le récepteur (receiver).

name: "{{flow_name}}_{{flow_index}}"
when: [condition]
mode: send
tasks: {
  sender: {
    pré: [    # Tâches exécutées par l'émetteur du fichier avant le transfert
      task
      ...
      ]
    post: [   # Tâches exécutées par l'émetteur du fichier après le transfert
      task
      ...
      ]
    error: [  # Tâches exécutées par l'émetteur du fichier en cas d'erreur
      task
      ...]
    }

  receiver: {
    pré: [    # Tâches exécutées par le récepteur du fichier avant le transfert
      task
      ...
      ]
    post: [   # Tâches exécutées par le récepteur du fichier après le transfert
      task
      ...
      ]
    error: [  # Tâches exécutées par le récepteur du fichier en cas d'erreur
      task
      ...
      ]
    }
  }

Définition des tâches

Les tâches sont composées d’un type, d’arguments, différents pour chaque tâches (path), d’un délais (delay), et d’une condition d’exécution optionnelle (when).

type: ZIP
path: "#TRUEFULLPATH# #ARCHPATH#"
delay: 1
when: route_index == last_index

La saisie d’un template

L’écran d’édition d’un template est découpé en 2 partie: La première décrit le template sous la forme d’une arborescence et permet d’accéder rapidement à une partie spécifique du template. La deuxieme permet de l’éditer.

../../_images/templates-edit.png

Fig. 66 Edition d’un template

Ajout d’une règle

Pour ajouter une règle cliquer sur le bouton en face du label Règles et sélectioner Ajouter une règle.

../../_images/templates-add-rule.png

Fig. 67 Ajout d’une règle

Suppression d’une règle

Pour supprimer une règle cliquer sur le bouton en face du label de la règle à supprimer et selectioner Supprimer la règle.

../../_images/templates-delete-rule.png

Fig. 68 Ajout d’une règle

Ajout d’une tâche

Pour ajouter une tâche cliquer sur le bouton en face d’un des labels pre, post ou error et sélectioner Ajouter une tâche.

../../_images/templates-add-task.png

Fig. 69 Ajout d’une tâche

Suppression d’une tâche

Pour supprimer une tâche cliquer sur le bouton en face du label de la tâche à supprimer et sélectioner Supprimer la tâche.

../../_images/templates-delete-rule.png

Fig. 70 Ajout d’une règle