---
title: "Personalizzare un lavoro del server FlowForce"
date: "2013-05-21"
categories: 
  - "data-integration"
tags: 
  - "data-mapping"
  - "flowforce-server"
  - "mapforce-server"
  - "reporting-tool"
  - "stylevision-server"
description: Scoprite come personalizzare un processo FlowForce Server per una migliore organizzazione e maggiore efficienza nella mappatura dei dati e nella creazione di report, inclusi suggerimenti per la pulizia e la pianificazione.
---
Status: #blog

Tags:  #data-mapping #flowforce-server #mapforce-server #reporting-tool #stylevision-server

Categories: [data-integration](/blog/it/category/data-integration.md)
# Personalizzare un lavoro del server FlowForce

Nel nostro precedente articolo, intitolato "[Automatizzare la mappatura e la trasformazione dei dati con FlowForce Server](https://www.altova.com/blog/2013/05/automate-data-mapping-and.html)", abbiamo creato un processo chiamato SimpleMapAndTransform per [automatizzare la mappatura dei dati](https://www.altova.com/it/mapforce/mapforce-server.html) utilizzando MapForce Server e per [creare report HTML](https://www.altova.com/it/stylevision/stylevision-server.html) tramite StyleVision Server. Dopo che il processo [FlowForce Server](https://www.altova.com/it/flowforce.html) è stato eseguito diverse volte, abbiamo accumulato numerosi file di output nella stessa cartella in cui elaboriamo i file di input, oltre a file temporanei intermedi nella cartella "workFiles", come si può vedere nell'immagine sottostante.

![Registro delle esecuzioni dei processi sul server FlowForce e cartelle di lavoro](https://lh3.ggpht.com/-NO3eS_I6uGo/UZZpJOMkcNI/AAAAAAAABJw/NGqD4x-nb4o/clip_image001%25255B3%25255D.png?imgmax=800 "FlowForce Server Job Execution Log and Working Folders")

In questo articolo, apporteremo delle modifiche al processo per ottenere risultati più ordinati ed eliminare i file temporanei non necessari. <!--more--> 

**Riorganizzazione dell'output**

Innanzitutto, possiamo aggiungere ulteriori passaggi all'interno del ciclo "per ogni" che elabora i file di input, al fine di spostare i nuovi file .gpx e .html creati durante la mappatura e la trasformazione dei dati, nella cartella "completedInput". Questi sono i passaggi 3 e 4 nella sequenza che segue.

L'opzione "working directory" in ogni fase può anche reindirizzare l'output. Tuttavia, la variabile {file} che abbiamo utilizzato per selezionare ogni file di input da elaborare contiene il percorso completo e il nome del file, quindi è più semplice continuare a utilizzare quella stringa e spostare tutti i file di output al termine dell'elaborazione.

![Aggiungere passaggi di esecuzione a un lavoro esistente in FlowForce Server](https://lh3.ggpht.com/-YUSH3twa2XQ/UZZpKCOMGfI/AAAAAAAABJ0/imdophxyjc0/clip_image002%25255B3%25255D.png?imgmax=800 "Adding Execution steps to an existing FlowForce Server job")

Il nostro design [StyleVision](https://www.altova.com/it/stylevision.html) per il report include un grafico che viene salvato come file .png separatamente dal documento .html principale. L'ultima fase del processo utilizza una funzione da riga di comando per spostare tutti i file .png dalla cartella di input alla cartella del lavoro completato.

La funzione da riga di comando consente di definire qualsiasi comando valido del sistema operativo come fase di un processo FlowForce Server. In questo processo, ci troviamo ancora all'interno del ciclo "per ogni", quindi i file .png verranno spostati insieme al documento .html associato. Abbiamo utilizzato un carattere jolly per il nome del file .png perché i file .png non seguono esattamente lo schema di denominazione dei documenti di input. Questo schema con carattere jolly funziona anche per i progetti StyleVision che creano più grafici per ogni report.

**Fasi per svolgere lavori di pulizia domestica**

È buona norma svuotare periodicamente il contenuto delle directory di lavoro. Il nostro sistema utilizza la cartella "workFiles" per estendere il contenuto del file .pxf, necessario per la generazione dei report. Lo screenshot di questa cartella, mostrato nell'immagine in cima a questo testo, mostra lo schema XML, i file di lavoro utilizzati per la progettazione, i file .XSLT necessari per generare diversi formati di report e i file di lavoro temporanei.

Potremmo aggiungere una fase di pulizia dopo il ciclo "for-each" nel nostro processo per eliminare immediatamente i file dopo l'elaborazione. Tuttavia, il server FlowForce consente di eseguire più istanze simultanee dello stesso processo. Sarebbe problematico se un'istanza cancellasse la cartella "workFiles" mentre un'altra istanza la sta ancora utilizzando!

Una soluzione migliore è definire un'attività di pulizia separata e programmarla in modo che venga eseguita quando l'attività principale è inattiva. Ecco un esempio di un'attività di pulizia molto semplice per la cartella "workingFiles", utilizzando nuovamente la funzione da riga di comando:

![Definizione del lavoro di manutenzione di un server FlowForce](https://lh5.ggpht.com/-Gtsxgow0YyA/UZuUVAzBpNI/AAAAAAAABLA/7FWamhBm4s8/image7.png?imgmax=800 "Definition of a FlowForce Server Housekeeping Job")

Abbiamo utilizzato un carattere jolly per eliminare tutti i file presenti nella directory "workFiles", ma questa opzione potrebbe non essere adatta in tutti i casi. Se il file .pxf contiene fogli di stile .css o file immagine necessari al documento .html, sarà necessario eseguire operazioni di pulizia più specifiche.

**Trigger di lavoro**

Il processo originale "SimpleMapAndTransform" è programmato per essere eseguito ogni 15 minuti, dalle 8:30 alle 17:00, dal lunedì al venerdì. Come indicato sopra, il processo di pulizia è programmato per essere eseguito una volta al giorno alle 19:00. La pagina principale dell'interfaccia web del server FlowForce mostra la pianificazione dei processi:

![Pagina principale del server FlowForce, che mostra i trigger attivi](https://lh6.ggpht.com/-WsTCxLtbWnA/UZZpMZxCXoI/AAAAAAAABKI/Unfkiya2izg/clip_image004%25255B3%25255D.png?imgmax=800 "FlowForce Server Home Page Showing Active Triggers")

Ecco un trucco semplice che potete utilizzare per testare un processo FlowForce Server mentre lo definite. Ogni processo può avere più trigger basati sul calendario. Possiamo definire un trigger "una tantum" per testare immediatamente un nuovo processo e programmarlo per l'esecuzione tra pochi secondi:

![Diversi trigger per un singolo processo eseguito sul server FlowForce](https://lh4.ggpht.com/-wxFDqMJ4kvU/UZZpNhZXq7I/AAAAAAAABKM/jNoi-r_m5jo/clip_image005%25255B3%25255D.png?imgmax=800 "A FlowForce Server Job Can Have Multiple Triggers")

Possiamo ottenere un riscontro immediato consultando il registro del server FlowForce, che contiene i dettagli di ogni fase del processo.

**FlowForce Server è disponibile per le piattaforme Windows, Linux e, a breve, anche per Mac OS. Per iniziare, ** [**clicca qui per scaricare una versione di prova gratuita**](https://www.altova.com/it/download-trial-server.html)**!**
