---
title: "Automatize a transformação de dados com o servidor FlowForce"
date: "2013-02-05"
categories: 
  - "data-integration"
tags: 
  - "data-mapping"
  - "flowforce-server"
  - "mapforce"
description: Descubra como automatizar a transformação de dados com o FlowForce Server, utilizando pastas de monitorização e caracteres curinga para um processamento e gestão eficientes das correspondências de dados.
---
Status: #blog

Tags:  #data-mapping #flowforce-server #mapforce

Categories: [data-integration](/blog/pt/category/data-integration.md)
# Automatize a transformação de dados com o servidor FlowForce

A Altova projetou o [FlowForce Server](https://www.altova.com/pt/flowforce.html) para fornecer automação, gestão e controlo abrangentes sobre as transformações de dados realizadas por servidores de alta velocidade dedicados. O servidor FlowForce Beta 3 está atualmente disponível para os utilizadores das edições Enterprise e Professional do MapForce, sem custos, durante o período de testes beta. O servidor FlowForce permite a automatização de processos em pastas específicas, permitindo o mapeamento de dados, e mantém um registo detalhado de atividades que os utilizadores podem monitorizar remotamente através de uma janela do navegador web. A captura de ecrã abaixo mostra o registo do servidor FlowForce a executar o mapeamento de dados [MapForce](https://www.altova.com/pt/mapforce.html) chamado CameraLogToGPX, sobre o qual escrevemos no artigo do blog intitulado [Processar Múltiplos Ficheiros de Entrada num Único Mapeamento de Dados](https://www.altova.com/blog/2013/01/process-multiple-input-files-in-single.html). Esta configuração utilizou caracteres de substituição para especificar vários ficheiros de entrada a serem processados. 

![Registo de tarefas do servidor FlowForce](https://lh4.ggpht.com/-Y2W3wl_49us/UQqMAu-rvKI/AAAAAAAABAE/0smVWZzKnWE/clip_image001%25255B3%25255D.png?imgmax=800 "FlowForce Server job log")

Demora apenas alguns minutos para configurar, executar e analisar os resultados de tarefas como esta no servidor FlowForce. 

**Caracteres curinga ou pastas dinâmicas?**
Os caracteres curinga e as pastas dinâmicas aumentam a complexidade de um fluxo de trabalho de transformação de dados, e a sua utilização bem-sucedida requer um planeamento cuidadoso. Vamos dedicar um momento para analisar mais a fundo o cenário que queremos implementar. Suponhamos que somos o departamento de TI de uma empresa que publica guias de natureza e de caminhadas. Contratamos fotógrafos que fazem caminhadas e registam as suas rotas, utilizando a funcionalidade de rastreamento GPS das suas câmaras digitais. Queremos converter os ficheiros de registo GPS das câmaras para o formato .gpx baseado em XML, para fins de mapeamento e outros processamentos. Publicaremos uma pasta na nossa rede onde os fotógrafos podem depositar os seus ficheiros de registo GPS. Esta será a pasta dinâmica que o servidor FlowForce monitoriza para detetar novos ficheiros que servirão como entrada para a conversão CameraLogToGPX. Só precisamos de processar cada ficheiro de entrada uma vez. Assim, após a conclusão da transformação de dados, podemos remover o ficheiro de entrada da pasta dinâmica. Também queremos colocar o ficheiro de saída numa pasta separada. Isto sugere os seguintes passos do trabalho no servidor FlowForce:

- Verifique a pasta de entrada para verificar se novos ficheiros foram recebidos
- Realize a correspondência de dados no ficheiro de entrada e coloque o ficheiro de saída numa pasta separada
- Mova o ficheiro de entrada para uma localização permanente

O diagrama abaixo mostra uma estrutura de pastas que podemos utilizar para o fluxo de trabalho, com ficheiros prontos para serem colocados na pasta de entrada para processamento:

![Estrutura de pastas dinâmica](https://lh6.ggpht.com/-asx6QjtywbI/UQqMBDMb25I/AAAAAAAABAM/DFy-FKarvgQ/clip_image002%25255B3%25255D.png?imgmax=800 "Hot folder structure")

A pasta de entrada é C:CameraGPShotFolder e os ficheiros .gpx gerados serão colocados em C:CameraGPSoutputFiles. Quando o mapeamento de dados estiver concluído, os ficheiros de entrada serão movidos para C:CameraGPScompletedInput.

** Implementar o mapeamento num servidor**
[MapForce Beta](https://www.altova.com/pt/flowforce/architecture.html) é um componente do FlowForce Server que funciona como o MapForce, e adiciona a funcionalidade de implementar ficheiros de mapeamento num servidor FlowForce. Os mapeamentos de dados existentes não necessitam de preparação especial para a implementação. A única coisa que precisamos de considerar são os nomes dos ficheiros de entrada e saída. Vamos instruir o FlowForce Server a fornecer o nome do ficheiro de entrada como um parâmetro do processo, à medida que novos ficheiros chegam à pasta de entrada para processamento. O mapeamento original atribuía um nome de ficheiro genérico para o componente de entrada, o que já não é necessário. Também queremos que o FlowForce especifique a localização do ficheiro de saída. Podemos abrir o mapeamento no MapForce Beta, remover o nome do ficheiro do componente de entrada e adicionar uma função de caminho de pasta de saída para o ficheiro de saída, para que o FlowForce Server possa definir o destino. A captura de ecrã abaixo mostra as novas definições de nome de ficheiro no mapeamento.

![Mapeamento de nomes de ficheiros](https://lh3.ggpht.com/-r5yBw9YFHZY/UQqMBkV-MMI/AAAAAAAABAU/xL5Li6rp5KY/clip_image003%25255B3%25255D.png?imgmax=800 "Mapping file names")

Na caixa de diálogo do MapForce Beta, para implementar a transformação de dados, podemos optar por abrir imediatamente a transformação num ambiente de definição de tarefas do FlowForce Server, num navegador web, para finalizar a configuração das operações da tarefa.

![Exibir o diálogo de configuração do mapeamento](https://lh6.ggpht.com/-kBBP0SdTKhI/UQqMBxv8AHI/AAAAAAAABAc/Np02Av__Sgc/clip_image004%25255B3%25255D.png?imgmax=800 "Deploy mapping dialog")

**Definir um trabalho no FlowForce Server**
A captura de ecrã abaixo mostra todas as etapas do trabalho definidas na janela de propriedades de um trabalho no FlowForce Server:

![Definição de tarefa do servidor FlowForce](https://lh3.ggpht.com/-A_n4WloIckY/UQqMCuZC22I/AAAAAAAABAk/fFFQiZOTts0/clip_image005%25255B3%25255D.png?imgmax=800 "FlowForce Server job definition")

O gatilho do processo é definido na parte inferior da janela. A cada 30 segundos, o servidor FlowForce irá verificar a pasta monitorizada. Se o conteúdo tiver sido alterado, o servidor FlowForce irá executar os passos do processo. Cada passo de execução pode ser um mapeamento MapForce implementado, um passo do sistema, ou até mesmo outro processo FlowForce. O nome de cada novo ficheiro que entra na pasta monitorizada torna-se o parâmetro chamado {triggerfile}, que utilizamos no passo de mapeamento como o nome do ficheiro de entrada, e no passo de movimentação como o nome do ficheiro a ser movido. O parâmetro "Diretório de trabalho" no passo de mapeamento define onde os ficheiros de saída serão colocados. O servidor FlowForce também inclui funcionalidades para definir horários automáticos de início e paragem para os processos, permissões e funções de utilizador, e configurações de fila para definir o tempo mínimo entre execuções de processos e o número máximo de instâncias paralelas de um processo. No nosso cenário, é provável que recebamos vários ficheiros de entrada em grupos, à medida que são copiados dos cartões de memória dos fotógrafos. Múltiplas execuções paralelas podem melhorar significativamente a produtividade. Como regra geral, pode ser vantajoso ajustar o número de núcleos ou processadores da máquina que executa o servidor FlowForce.

![Configurações da fila de tarefas do servidor FlowForce](https://lh3.ggpht.com/-gOS3cMv9fk8/UQqMDEVgTOI/AAAAAAAABAs/LY4M-7fMw-g/clip_image006%25255B3%25255D.png?imgmax=800 "FlowFoprce Server job queue settings")

**Explorar o registo de atividades**

Sempre que o servidor FlowForce executa a nossa tarefa, seis linhas são adicionadas à visualização de registo mostrada na ilustração no topo desta publicação. A primeira e a última linha registam o início e a conclusão da tarefa, e cada etapa de execução gera as suas próprias mensagens de início e conclusão. A frase "concluído com o estado: 0" significa que a etapa foi executada com sucesso, sem erros.

![Registo de tarefas do FlowForce](https://lh4.ggpht.com/-ehCqEYCeST8/UQqMDdhcyLI/AAAAAAAABA0/tWt7MYqX-Fc/clip_image007%25255B3%25255D.png?imgmax=800 "FlowForce job log")

Podemos clicar nos links "mais detalhes" para obter um relatório detalhado de cada etapa de execução. A captura de ecrã abaixo mostra a mensagem para a etapa de execução de mapeamento do MapForce:

![Detalhes da vaga na FlowForce](https://lh5.ggpht.com/-FKRbtRq6uGM/UQqMDjeIaZI/AAAAAAAABA8/__RKzBpLYlk/clip_image008%25255B3%25255D.png?imgmax=800 "FlowForce job details")

Cada ficheiro que é colocado na pasta de monitorização (hot folder) gera uma instância individual de trabalho no FlowForce Server, mesmo que vários ficheiros sejam adicionados em conjunto. Isto facilita o acompanhamento de qualquer ficheiro de entrada que cause um erro. Quando colocámos quatro ficheiros na pasta de monitorização, o FlowForce Server executou quatro trabalhos, e o conteúdo da pasta de saída ficou assim:

![Pasta de resultados do trabalho](https://lh5.ggpht.com/-rxfQa9sOELc/UQqMENmGKgI/AAAAAAAABBE/HauLZZkgg6M/clip_image009%25255B3%25255D.png?imgmax=800 "Job results folder")


