Automatizzate la trasformazione dei dati con FlowForce Server

Altova ha progettato FlowForce Server per fornire un sistema completo di automazione, gestione e controllo delle trasformazioni dei dati eseguite da server ad alta velocità dedicati. La versione beta 3 di FlowForce Server è attualmente disponibile gratuitamente per gli utenti delle edizioni Enterprise e Professional di MapForce durante il periodo di test beta. Il server FlowForce può automatizzare l'elaborazione dei dati tramite "cartelle calde" e mantiene un registro dettagliato delle attività, che gli utenti possono monitorare da remoto tramite una finestra del browser web. La schermata qui sotto mostra il registro del server FlowForce che esegue la mappatura dei dati MapForce da CameraLog a GPX, di cui abbiamo parlato nel post del blog intitolato Elaborare più file di input in un'unica mappatura dei dati. Questa mappatura utilizzava caratteri jolly per specificare più file di input da elaborare.

Sono necessari solo pochi minuti per configurare, eseguire e analizzare i risultati di attività come questa su FlowForce Server.

Utilizzo di caratteri jolly o cartelle di monitoraggio? L'utilizzo di caratteri jolly e cartelle di monitoraggio aumenta la complessità di un flusso di lavoro di trasformazione dei dati, e per utilizzarli con successo è necessaria un'attenta pianificazione. Dedichiamo un momento per analizzare più a fondo lo scenario che vogliamo implementare. Immaginiamo di essere il dipartimento IT di un'azienda che pubblica guide naturalistiche e di escursionismo. Abbiamo fotografi che effettuano escursioni e registrano i loro percorsi utilizzando la funzione di tracciamento GPS delle loro fotocamere digitali. Vogliamo convertire i file di log GPS delle fotocamere in formato .gpx basato su XML per la mappatura e altre elaborazioni. Pubblicheremo una cartella sulla nostra rete dove i fotografi potranno caricare i loro file di log GPS. Questa sarà la cartella di monitoraggio che FlowForce Server controllerà per individuare nuovi file da utilizzare come input per la conversione dei log delle fotocamere in formato GPX. Dobbiamo elaborare ogni file di input una sola volta. Pertanto, una volta completata la trasformazione dei dati, possiamo rimuovere il file di input dalla cartella di monitoraggio. Vogliamo anche posizionare il file di output in una cartella separata. Questo suggerisce i seguenti passaggi per il lavoro di FlowForce Server:

  • Controllate la cartella "hot" per verificare se sono arrivati nuovi file di input
  • Eseguire la mappatura dei dati sul file di input e salvare il file di output in una cartella separata
  • Spostare il file di input in una posizione permanente

Il diagramma qui sotto mostra una struttura di cartelle che possiamo utilizzare per il flusso di lavoro, con file pronti per essere inseriti nella cartella di destinazione per l'elaborazione:

La cartella di monitoraggio è C:CameraGPShotFolder e i file .gpx generati saranno collocati in C:CameraGPSoutputFiles. Una volta completata la mappatura dei dati, i file di input verranno spostati in C:CameraGPScompletedInput.

Implementare la mappatura su un server MapForce Beta è un componente di FlowForce Server che funziona come MapForce e aggiunge la funzionalità di implementare i file di mappatura su un server FlowForce. Le mappature dei dati esistenti richiedono poca o nessuna preparazione speciale per l'implementazione. L'unica cosa a cui dobbiamo prestare attenzione sono i nomi dei file di input e output. Istruiremo il server FlowForce a fornire il nome del file di input come parametro del processo, man mano che nuovi file arrivano nella cartella di monitoraggio per l'elaborazione. La mappatura originale assegnava un nome file generico per il componente di input, che ora non è più necessario. Vogliamo anche che FlowForce specifichi la posizione del file di output. Possiamo aprire la mappatura in MapForce Beta, rimuovere il nome del file dal componente di input e aggiungere una funzione di percorso della cartella di output in modo che il server FlowForce possa impostare la destinazione. Lo screenshot qui sotto mostra le nuove definizioni dei nomi dei file nella mappatura.

Nella finestra di dialogo di MapForce Beta per la distribuzione della mappatura, è possibile scegliere di aprire immediatamente la mappatura in una finestra di definizione del processo di FlowForce Server all'interno di un browser web, per completare la definizione delle operazioni del processo.

Definizione del processo in FlowForce Server Lo screenshot qui sotto mostra tutti i passaggi del processo definiti nella finestra delle proprietà di un processo in FlowForce Server:

Il trigger del processo è definito nella parte inferiore della finestra. Ogni 30 secondi, il server FlowForce verificherà la cartella monitorata. Se il contenuto è cambiato, il server FlowForce eseguirà i passaggi del processo. Ogni passaggio di esecuzione può essere una mappatura MapForce implementata, un passaggio di sistema, o persino un altro processo FlowForce. Il nome di ogni nuovo file che entra nella cartella monitorata diventa il parametro chiamato , che utilizziamo nel passaggio di mappatura come nome del file di input, e nel passaggio di spostamento come nome del file da spostare. Il parametro "Working directory" nel passaggio di mappatura definisce dove verranno posizionati i file di output. Il server FlowForce include anche funzionalità per impostare orari automatici di avvio e arresto per i processi, permessi e ruoli utente, e impostazioni della coda per definire il tempo minimo tra le esecuzioni dei processi e il numero massimo di istanze parallele di un processo. Nel nostro scenario, è probabile che riceveremo più file di input in gruppi, poiché vengono copiati dalle schede di memoria dei fotografi. L'esecuzione parallela di più processi può migliorare notevolmente la produttività. In generale, è consigliabile impostare il numero di processi paralleli in modo che corrisponda al numero di core o CPU presenti nella macchina su cui è in esecuzione il server FlowForce.

Esplorazione del registro delle attività

Ogni volta che il server FlowForce esegue il nostro processo, vengono aggiunte sei righe alla visualizzazione del registro, come mostrato nell'illustrazione in cima a questo articolo. La prima e l'ultima riga registrano l'inizio e il completamento del processo, e ogni fase di esecuzione genera i propri messaggi di inizio e fine. La frase "completato con stato: 0" significa che la fase è stata eseguita correttamente, senza errori.

Possiamo cliccare sui link "altro" per visualizzare un rapporto dettagliato su ogni fase di esecuzione. Lo screenshot qui sotto mostra il messaggio relativo alla fase di esecuzione "MapForce mapping":

Ogni file inserito nella cartella di monitoraggio genera un'istanza di lavoro individuale per il server FlowForce, anche se vengono aggiunti più file contemporaneamente. Questo semplifica il tracciamento di qualsiasi file di input che generi un errore. Quando abbiamo inserito quattro file nella cartella di monitoraggio, il server FlowForce ha eseguito quattro processi, e il contenuto della cartella di output era il seguente: