Automatize a transformação de dados com o servidor FlowForce

A Altova projetou o FlowForce Server 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 chamado CameraLogToGPX, sobre o qual escrevemos no artigo do blog intitulado Processar Múltiplos Ficheiros de Entrada num Único Mapeamento de Dados. Esta configuração utilizou caracteres de substituição para especificar vários ficheiros de entrada a serem processados.

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:

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 é 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.

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.

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:

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 , 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.

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.

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:

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: