---
title: "Controlar dados de entrada problemáticos com o servidor FlowForce"
date: "2013-06-18"
categories: 
  - "data-integration"
tags: 
  - "data-mapping"
  - "diffdog"
  - "flowforce-server"
  - "mapforce"
  - "mapforce-server"
  - "reporting-tool"
  - "stylevision-server"
description: Descubra como o FlowForce Server gerencia eficazmente dados de entrada incorretos durante os processos de transformação. Aprenda a implementar mecanismos de tratamento de erros e a garantir a integridade do fluxo de trabalho.
---
Status: #blog

Tags:  #data-mapping #diffdog #flowforce-server #mapforce #mapforce-server #reporting-tool #stylevision-server

Categories: [data-integration](/blog/pt/category/data-integration.md)
# Controlar dados de entrada problemáticos com o servidor FlowForce

Sempre que aceita dados de uma fonte externa, corre o risco de encontrar erros. Já abordámos este fenómeno em artigos anteriores, nomeadamente em [Esteja preparado para o inesperado – o Altova MissionKit resolve um mistério de formatação de números](https://www.altova.com/blog/2013/01/expect-unexpected-altova-missionkit.html) e na série de artigos sobre [Processamento da API da Groupon](https://www.altova.com/blog/2011/11/processing-groupon-api-epilogue.html).

Dados incorretos num ficheiro de entrada podem causar a falha da etapa de transformação de dados de um trabalho no FlowForce Server. Quando um trabalho no FlowForce Server falha, as etapas de execução subsequentes não são realizadas. O FlowForce Server foi concebido desta forma para evitar que um erro numa etapa de um trabalho se propague para uma série de resultados inválidos adicionais. Felizmente, o FlowForce Server também inclui funcionalidades que o ajudam a recuperar de erros e a manter o processo em funcionamento.

Neste artigo, vamos aprofundar o trabalho de [mapeamento de dados](https://www.altova.com/pt/mapforce.html) e [geração de relatórios](https://www.altova.com/pt/stylevision.html) descrito em [Personalização de um trabalho do servidor FlowForce](https://www.altova.com/blog/2013/05/customizing-flowforce-server-job.html), de forma a lidar de forma eficiente com dados incorretos num ficheiro de entrada.

![Novas etapas do servidor FlowForce](https://lh5.ggpht.com/-qFEC3krCZnI/UZ59cniYPkI/AAAAAAAABLQ/etSQ4sR40i8/image%25255B2%25255D.png?imgmax=800 "FlowForce Server New Job Steps") <!--more--> Começámos por criar uma versão de um dos ficheiros que continham dados incorretos e adicionámos uma pasta ao fluxo de trabalho para servir de destino dos ficheiros de entrada com dados incorretos. ![Um ficheiro de entrada proveniente de uma fonte externa pode conter dados incorretos.](https://lh5.ggpht.com/-Da_p4mjICRg/UZ59czWzpgI/AAAAAAAABLU/erWMFKC5K0A/image%25255B5%25255D.png?imgmax=800 "An input file from an outside source could contain bad data")

Criámos o ficheiro de entrada incorreto ao copiar um ficheiro de entrada existente e editá-lo com o programa DiffDog.

A primeira coluna numérica no ficheiro .csv de entrada representa um carimbo de data e hora, indicando horas, minutos, segundos e milésimos. Simplesmente, alterámos os valores nas linhas 14 e 15 para que estivessem fora do limite máximo de 24 horas.

![Dados incorretos num ficheiro .csv, visualizados no DiffDog](https://lh4.ggpht.com/-iHryhaFMxgU/UZ59dZCM0qI/AAAAAAAABLg/JRAe5n7rrNM/image%25255B8%25255D.png?imgmax=800 "Bad data in a .csv file, as seen in Altova DiffDog")

Lançámos o MapForce e definimos o ficheiro com dados incorretos como entrada para a conversão CameraLogToGPX. Quando clicámos no botão "Saída" para executar a conversão, o seguinte erro ocorreu:

![O MapForce gera uma mensagem de erro quando deteta dados de entrada inválidos.](https://lh4.ggpht.com/-Nzf-kx12SLc/UZ59dtw_ExI/AAAAAAAABLk/szX6LioH3qA/image%25255B11%25255D.png?imgmax=800 "MapForce generates an error message when encountering bad input data.")

**Etapas de um processo no servidor FlowForce, com tratamento de erros**

Em seguida, definimos uma nova versão da tarefa do servidor FlowForce para processar os dados dentro de uma etapa de tratamento de erros/sucessos. Se o mapeamento de dados falhar, moveremos o ficheiro de entrada com problemas e qualquer ficheiro de saída .gpx parcialmente escrito para a pasta "dados_com_problemas". Se o mapeamento de dados for bem-sucedido, prosseguiremos com a transformação para gerar o relatório .html, e depois moveremos os ficheiros de entrada e .gpx para a pasta de trabalhos concluídos.

Note a última etapa da secção "Em caso de erro". Um erro de mapeamento de dados interromperá a execução do ciclo "Para cada ficheiro", pelo que chamamos novamente todo o processo de forma recursiva para finalizar o processamento de quaisquer ficheiros de entrada que não tenham sido processados.

![O servidor FlowForce permite definir tarefas com etapas de tratamento de erros.](https://lh3.ggpht.com/-SVwuKjXou6s/UZ59d2lNJdI/AAAAAAAABLo/HpC88Ss0uT4/image%25255B14%25255D.png?imgmax=800 "FlowForce Server lets you define jobs with error handling steps.")

Se um erro de mapeamento de dados for crítico para a empresa e exigir uma ação imediata, podemos até adicionar uma etapa de trabalho dentro da secção "Em caso de erro" para enviar uma mensagem de e-mail:

![O servidor FlowForce pode enviar uma mensagem de e-mail quando ocorre um erro.](https://lh3.ggpht.com/-sD65xRrwH7s/UZ59eZCfw6I/AAAAAAAABLw/VXWcgHqu4HI/image%25255B17%25255D.png?imgmax=800 "FlowForce Server can send an email message when an error occurs.")

Claro que os campos "Destinatário", "Assunto", "Corpo da mensagem" e "Anexo" são totalmente configuráveis.

Se a etapa de mapeamento de dados for bem-sucedida, o servidor FlowForce executa a secção "Em caso de sucesso" e prossegue com a etapa de renderização do ficheiro .html.

**Executar a tarefa**

O processo é ativado por um temporizador, e o registo do servidor FlowForce regista cada etapa de execução. Na parte do registo que se segue, podemos ver como é tratado o ficheiro de entrada com dados incorretos. A terceira linha da sequência indica o erro, e, em seguida, o ficheiro de entrada e o ficheiro .gpx parcialmente gerado são enviados para a pasta "badData".

![O registo de tarefas do servidor FlowForce mostra os erros e os passos de recuperação.](https://lh5.ggpht.com/-9v12-b5ARaY/UZ59eqs0J7I/AAAAAAAABL8/GJx3SNMMfzw/image%25255B20%25255D.png?imgmax=800 "FlowForce Server Job Log shows error and recovery steps.")

A última linha acima mostra que o servidor começou a processar o próximo ficheiro na pasta.

Quando o processo termina, podemos verificar os resultados esperados no conteúdo das pastas de trabalho:

![Após o processamento, os dados incorretos e os resultados incompletos foram enviados para uma pasta específica.](https://lh4.ggpht.com/-0Nz9ZXQJsoE/UZ59e2pCsKI/AAAAAAAABME/K7xeHxhZYLs/image%25255B23%25255D.png?imgmax=800 "After processing, the bad data and incomplete results were sent toa special folder.")

**O servidor FlowForce está disponível para as plataformas Windows, Linux e, em breve, para Mac OS. Para começar a utilizar, ** [**clique aqui para descarregar uma versão de avaliação gratuita**](https://www.altova.com/pt/download-trial-server.html)**!**
