Créer une tâche d'enquête du répertoire

www.altova.com Imprimer cette rubrique Page précédente Un niveau supérieur Page suivante

Accueil >  Exemples de configuration de tâche >

Créer une tâche d'enquête du répertoire

Cet exemple vous montre comment surveiller les changements dans un répertoire à l'aide d'un déclencheur de système de fichier créé dans FlowForce Server (voir aussi Déclencheurs de système de fichier). à chaque fois qu'un nouveau fichier XML est ajouté au répertoire, FlowForce Server exécute une tâche de mappage qui prend le fichier XML en tant paramètre d'entrée. La sortie de la tâche de mappage est ensuite déplacée vers un répertoire d'archive.

 

Conditions préalables

Licences nécessaires : MapForce édition Enterprise ou Professional, MapForce Server ou MapForce Server Advanced Edition, FlowForce Server
FlowForce Server est exécuté sous l'adresse de réseau et le port configurés (voir Configurer l'adresse de réseau et le port)
Vous possédez un compte d'utilisateur FlowForce Server ainsi que les permissions vers un des conteneurs (par défaut, le conteneur /public utilisé dans cet exemple est accessible uniquement aux utilisateurs authentifiés).
La tâche de mappage créée dans cet exemple copie les fichiers d'un répertoire vers un autre. C'est pourquoi, sur les systèmes d'exploitation sur lesquels FlowForce Server est exécuté, veuillez vous assurer que les deux répertoires existent et que vous possédez les droits de créer des fichiers dans les deux répertoires (cet exemple utilise les répertoires C:\temp et C:\archive).

 

  Fichiers de démo utilisés

ShortApplicationInfo.mfd — le mappage MapForce à partir duquel la tâche FlowForce Server sera créée
ApplicationsPage.xml — le fichier d'instance XML à fournir en tant qu'entrée du mappage.

 

Les deux fichiers sont disponibles dans le chemin suivant sur la machine dans laquelle MapForce est installé : <Documents>\Altova\MapForce2019\MapForceExamples\.

 

Ce que fait le mappage

Le mappage MapForce utilisé dans cet exemple (ShortApplicationInfo.mfd) est illustré ci-dessous. Depuis une perspective FlowForce Server, la chose importante à retenir est que le mappage prend un fichier XML en tant qu'entrée, et produit une autre fichier XML en tant que sortie.

 

Ce mappage convertit un fichier XML (ApplicationsPage.xml) en un schéma différent et l'enregistre en tant que ShortInfo.xml. Le mappage est relativement simple à comprendre en regardant la connexion supérieure : pour chaque Item trouvé dans la source, il crée un item Info dans la cible. Les autres connexions sont utilisées pour copier des valeurs depuis les items d'enfants respectifs. La connexion représentée par des pointillés est particulièrement intéressante ; dans MapForce, cette connexion est appelée "Source-driven (Contenu mixte)" et est utilisée parce que SubSection détient un contenu mixte.

ff_map_ShortApplicationInfo

ShortApplicationInfo.mfd

Notez que les noms des schémas XML de source et de cible sont SectionedPage et ShortInfo, respectivement. Comme vous le verrez plus loin, la tâche FlowForce contiendra un paramètre d'entrée et de sortie portant le même nom, une fois que le mappage est déployé sur FlowForce Server.

 

Déployer le mappage sur FlowForce Server

Le mappage ShortApplicationInfo.mfd ne nécessite aucune préparation spéciale avant d'être déployée dans FlowForce Server. Puisque les composants de source et de cible sont des fichiers XML, ils seront inclus automatiquement dans le paquet déployé sur FlowForce Server.

 

Pour déployer le mappage sur FlowForce, l'ouvrir dans MapForce et exécuter la commande de menu Fichier | Déployer sur FlowForce Server.

ff_deploy_ShortApplicationInfo

Si FlowForce Server est exécuté sur un hôte et un port différents, changer les détails de connexion en conséquence, voir Définir les paramètres de réseau.

 

Créer la tâche de sondage du répertoire

Une fois que le mappage a été déployé à FlowForce Server, le navigateur s'ouvre et charge la page de création de la tâche. Comme illustré ci-dessous, la première étape d'exécution est créée automatique et elle appelle la fonction de mappage déployée précédemment. Veuillez noter que le paramètre d'entrée porte le même nom que le composant de source MapForce (SectionedPage), alors que le paramètre de sortie porte le même nom que le composant de la cible (ShortInfo).

ff_dir_01

 

Configurer la tâche comme suit :

 

1.Dans le dialogue Working-directory, saisir le chemin vers le répertoire de travail applicable à cette étape. Cet exemple utilise C:\temp en tant que répertoire de travail.

Un répertoire de travail est un paramètre requis par les étapes d'exécution si la tâche nécessite un emplacement pour déballer tout fichier d'entrée ou enregistrer des fichiers de sortie. FlowForce Server utilise également le répertoire de travail pour résoudre tous chemins relatifs qui se produisent au cours de l'exécution des étapes. Lorsque vous êtes invité à fournir un répertoire de travail, vous devriez fournir un chemin valide au niveau du système d'exploitation sur lequel FlowForce Server est exécuté. Si vous ne fournissez pas de répertoire de travail lorsque vous créez l'étape, FlowForce Server utilisera un répertoire temporaire.

2.Sous Déclencheurs, cliquer sur new Filesystem trigger. Notez que FlowForce Server ajoute automatiquement un nouveau paramètre triggerfile sous Paramètres d'entrée. Vous devrez vous référer à ce paramètre dans une étape suivante.

TriggerfileParameter

3.Définir les valeurs de déclencheur suivantes :

 

Vérifier : Modified Date
Fichier ou répertoire : c:\temp\*.xml
Intervalle de sondage : 60 secondes

ff-dir1

4.Sous Étapes d'exécution, fournir le paramètre triggerfile en tant que valeur d'entrée dans le paramètre SectionedPage. Pour ce faire, cliquer sur la touche ff-setTo à côté du paramètre SectionedPage, puis sélectionner triggerfile. En résultat, la valeur du paramètre SectionedPage change en {triggerfile}. Les accolades dénotent une expression FlowForce et ne doit pas être supprimé.

ff-dir3

Une fois arrivé à cette étape, le déclencheur se déclenchera dès que ApplicationsPage.xml est copié dans le répertoire de travail. Néanmoins, puisque le déclencheur utilise un caractère générique (*.xml), il sera aussi déclenché lorsqu'un autre fichier XML change dans le répertoire, y compris la sortie de mappage lui-même (ShortInfo.xml). Il ne s'agit là pas du comportement prévu et peut entraîner des erreurs ; nous allons donc ajouter une deuxième étape qui déplacera le fichier de sortie généré dans un nouveau répertoire. En alternative, vous pouvez renommer le déclencheur en c:\temp\ApplicationsPage.xml (dans ce cas, une deuxième étape n'est plus nécessaire).

 

Pour ajouter l'étape qui déplace la sortie vers un nouveau répertoire, procéder comme suit :

 

1.Ajouter une nouvelle étape d'exécution, juste après la précédente.
2.Configurer l'étape comme suit (noter que les champs source et destination sont sensibles à la casse) :

 

Exécuter la fonction : /system/filesystem/move
Source : c:\temp\ShortInfo.xml
Destination : c:\archive
Répertoire de travail : c:\temp

ff-dir4

Enfin, ajoutez vos identifiants de système d'exploitation avec lequel la tâche sera exécutée :

 

1.Sous "Identifiants", sélectionner une entrée d'identifiant existant ou spécifier un identifiant local (voir Identifiants).
2.Cliquer sur Enregistrer.

 

Exécuter la tâche

Vous pouvez maintenant tester la tâche en copiant le fichier ApplicationsPage.xml dans le répertoire de travail. Pendant cette étape, FlowForce Server exécuter la tâche de mappage et copie le fichier de sortie résultant dans le répertoire d'archive.

 

Pour voir si une tâche a été exécutée correctement, veuillez vous référer au journal de la tâche (voir Consulter le journal de tâche).


© 2019 Altova GmbH