Automatisez la transformation des données grâce au serveur FlowForce

Altova a conçu FlowForce Server pour offrir une automatisation, une gestion et un contrôle complets des transformations de données effectuées par des serveurs haute performance dédiés. La version bêta 3 de FlowForce Server est actuellement disponible gratuitement pour les utilisateurs des éditions Enterprise et Professional de MapForce, pendant la période de test bêta. Le serveur FlowForce peut automatiser le traitement des données dans des dossiers spécifiques et conserve un journal d'activité détaillé que les utilisateurs peuvent consulter à distance via une fenêtre de navigateur web. La capture d'écran ci-dessous montre le journal du serveur FlowForce exécutant la transformation de données MapForce qui convertit les données de "CameraLog" au format GPX, dont nous avons parlé dans l'article de blog intitulé Traiter plusieurs fichiers d'entrée dans une seule transformation de données. Cette configuration utilisait des caractères génériques pour spécifier plusieurs fichiers d'entrée à traiter.

Il suffit de quelques minutes pour configurer, exécuter et examiner les résultats de tâches comme celle-ci sur le serveur FlowForce.

Utilisation de caractères génériques ou de dossiers surveillés ? L'utilisation de caractères génériques et de dossiers surveillés augmente la complexité d'un flux de travail de transformation de données, et leur utilisation efficace nécessite une planification minutieuse. Prenons un instant pour examiner plus en détail le scénario que nous souhaitons mettre en œuvre. Imaginons que nous sommes le service informatique d'une entreprise qui publie des guides de nature et de randonnée. Nous employons des photographes qui partent en expédition et enregistrent leurs itinéraires en utilisant la fonction de suivi GPS de leurs appareils photo numériques. Nous souhaitons convertir les fichiers journaux GPS des appareils photo au format .gpx basé sur XML, pour la cartographie et d'autres traitements. Nous allons créer un dossier sur notre réseau où les photographes pourront déposer leurs fichiers journaux GPS. Ce sera le dossier surveillé que le serveur FlowForce surveillera pour détecter les nouveaux fichiers à utiliser comme entrées pour la conversion CameraLogToGPX. Nous n'avons besoin de traiter chaque fichier d'entrée qu'une seule fois. Ainsi, une fois la transformation des données terminée, nous pouvons supprimer le fichier d'entrée du dossier surveillé. Nous souhaitons également placer le fichier de sortie dans un dossier distinct. Cela suggère les étapes suivantes pour la tâche FlowForce Server :

  • Vérifiez le dossier "hot" pour voir si de nouveaux fichiers d'entrée sont arrivés
  • Effectuez la correspondance des données sur le fichier d'entrée et placez le fichier de sortie dans un dossier distinct
  • Déplacez le fichier d'entrée vers un emplacement permanent

Le schéma ci-dessous illustre une structure de dossiers que nous pouvons utiliser pour le flux de travail, avec des fichiers prêts à être placés dans le dossier de réception pour le traitement :

Le dossier surveillé est C:CameraGPShotFolder et les fichiers .gpx générés seront placés dans C:CameraGPSoutputFiles. Une fois la correspondance des données effectuée, les fichiers d'entrée seront déplacés vers C:CameraGPScompletedInput.

Déploiement de la correspondance sur un serveur MapForce Beta est un composant de FlowForce Server qui fonctionne comme MapForce, et qui ajoute une fonctionnalité permettant de déployer les fichiers de correspondance sur un serveur FlowForce. Les correspondances de données existantes nécessitent très peu, voire aucune, préparation spéciale pour le déploiement. La seule chose à laquelle nous devons penser, ce sont les noms de fichiers des fichiers d'entrée et de sortie. Nous allons demander à FlowForce Server de fournir le nom de fichier d'entrée comme paramètre de tâche, dès que de nouveaux fichiers arrivent dans le dossier surveillé pour être traités. La correspondance d'origine attribuait un nom de fichier générique au composant d'entrée, ce qui n'est plus nécessaire. Nous allons également demander à FlowForce de spécifier l'emplacement du fichier de sortie. Nous pouvons ouvrir la correspondance dans MapForce Beta, supprimer le nom de fichier du composant d'entrée, et ajouter une fonction de chemin d'accès au dossier de sortie afin que FlowForce Server puisse définir la destination. La capture d'écran ci-dessous montre les nouvelles définitions de noms de fichiers dans la correspondance.

Dans la fenêtre de dialogue de MapForce Beta, lors du déploiement de la transformation, nous pouvons choisir d'ouvrir immédiatement la transformation dans une fenêtre de définition de tâche FlowForce Server, dans un navigateur web, afin de finaliser la définition des opérations de la tâche.

Définition des étapes d'un processus dans FlowForce Server La capture d'écran ci-dessous illustre les étapes complètes d'un processus définies dans la fenêtre des propriétés d'un processus FlowForce Server :

Le déclencheur de la tâche est défini en bas de la fenêtre. Toutes les 30 secondes, le serveur FlowForce vérifie le dossier surveillé. Si le contenu a changé, le serveur FlowForce exécute les étapes de la tâche. Chaque étape d'exécution peut être une transformation MapForce déployée, une étape système, ou même une autre tâche FlowForce. Le nom de chaque nouveau fichier entrant dans le dossier surveillé devient le paramètre appelé , que nous utilisons dans l'étape de transformation comme nom de fichier d'entrée, et dans l'étape de déplacement comme nom du fichier à déplacer. Le paramètre "Répertoire de travail" dans l'étape de transformation définit l'emplacement où les fichiers de sortie seront placés. Le serveur FlowForce inclut également des fonctionnalités pour définir des heures de démarrage et d'arrêt automatiques pour les tâches, les permissions et les rôles des utilisateurs, ainsi que des paramètres de file d'attente pour définir le temps minimum entre les exécutions de tâches et le nombre maximal d'instances parallèles d'une tâche. Dans notre scénario, il est probable que nous recevions plusieurs fichiers d'entrée en groupes, car ils sont copiés à partir des cartes mémoire des photographes. Plusieurs exécutions parallèles peuvent considérablement améliorer le débit. En règle générale, il est conseillé de faire correspondre le nombre de cœurs ou de processeurs de la machine exécutant le serveur FlowForce.

Explorer le journal des tâches

Chaque fois que le serveur FlowForce exécute notre tâche, six lignes sont ajoutées à la vue des journaux (log view) illustrée en haut de cet article. La première et la dernière ligne enregistrent le début et la fin de la tâche, et chaque étape d'exécution génère ses propres messages de début et de fin. L'expression "complété avec le statut : 0" signifie que l'étape s'est déroulée avec succès, sans erreur.

Nous pouvons cliquer sur les liens "plus d'informations" pour obtenir un rapport détaillé sur chaque étape d'exécution. La capture d'écran ci-dessous montre le message pour l'étape d'exécution de la transformation MapForce :

Chaque fichier déposé dans le dossier surveillé génère une instance de tâche individuelle pour FlowForce Server, même si plusieurs fichiers sont ajoutés en groupe. Cela facilite le suivi de tout fichier d'entrée qui génère une erreur. Lorsque nous avons déposé quatre fichiers dans le dossier surveillé, FlowForce Server a exécuté quatre tâches, et le contenu du dossier de sortie ressemblait à ceci :