Depurador interativo para projetos de integração de dados
O MapForce 2016 introduz um depurador de mapeamento de dados revolucionário que permite aos desenvolvedores que trabalham em projetos de integração de dados analisar o resultado do mapeamento passo a passo, para diagnosticar e aperfeiçoar projetos de qualquer complexidade. O MapForce.. ferramenta de depuração de mapeamento de dados oferece aos utilizadores uma compreensão profunda e detalhada do funcionamento interno de projetos de integração de dados e ETL, de uma forma que nunca antes foi possível.
O depurador funciona com todas as definições de mapeamento de dados do MapForce, para qualquer combinação de dados XML, XBRL, JSON, bases de dados, ficheiros simples, EDI, Excel ou serviços web, incluindo mapeamentos encadeados, mapeamentos com múltiplos componentes de entrada ou saída, e mapeamentos que incluem funções definidas pelo utilizador.

O depurador de mapeamento de dados do MapForce suporta pontos de interrupção e pontos de interrupção condicionais, e inclui várias opções de execução manual, permitindo aos utilizadores depurar manualmente um mapeamento de dados ou continuar a execução após um ponto de interrupção ser atingido, permitindo-lhes visualizar o nível de detalhe que necessitam.
Podemos percorrer uma sessão de depuração de exemplo para visualizar as novas funcionalidades e capacidades introduzidas no depurador do MapForce 2016. A captura de ecrã abaixo mostra uma transformação de dados chamada "ClassifyTemperatures" que está incluída nos ficheiros de exemplo do MapForce. Esta transformação lê um ficheiro de entrada que contém uma lista de temperaturas e datas, e produz um ficheiro de saída que adiciona descrições de classificação para as temperaturas altas e baixas.

A funcionalidade de pontos de interrupção do depurador MapForce será familiar aos programadores com experiência em depuração de código fonte. É possível definir pontos de interrupção em qualquer nó de entrada ou saída, para interromper a execução do mapeamento nesse ponto, e também são suportados pontos de interrupção condicionais.
Definir um ponto de interrupção
Para nos prepararmos para a depuração, adicionaremos um ponto de interrupção ao mapeamento no resultado da função "greater" (no centro da imagem acima). Para isso, basta clicar com o botão direito no ícone de seta que representa a conexão. O novo ponto de interrupção será destacado em vermelho.

O mesmo menu que aparece ao clicar com o botão direito permite aos utilizadores abrir uma janela para definir isto como um ponto de interrupção condicional. O resultado da função será sempre "verdadeiro" ou "falso". Podemos definir o ponto de interrupção de forma que a execução do mapeamento de dados só seja interrompida se a função retornar "verdadeiro"

Depuração interativa
Uma opção do menu inicia a depuração interativa:

O motor de execução integrado do MapForce inicia o processamento da transformação e continua até que um ponto de interrupção seja atingido e a condição desse ponto seja satisfeita. Todos os valores intermédios são exibidos em vermelho no design da transformação. Para transformações grandes e complexas, a exibição dos valores intermédios pode tornar-se excessivamente densa no ecrã, pelo que podemos mover cada valor para uma localização mais conveniente na janela da transformação.
A palavra destacada "true" indica o último valor gerado antes de a execução ter sido interrompida.

As janelas de ajuda para depuração abrem-se automaticamente e fornecem informações mais detalhadas sobre tudo o que ocorreu durante a execução. A janela de contexto mostra quais nós foram processados a partir do ficheiro de entrada e quais funções foram avaliadas.

A entrada "data[7]" indica que sete valores de temperatura foram processados.
A janela de ajuda para o histórico exibe automaticamente todos os resultados gerados pela função em que o ponto de interrupção foi definido. O resultado foi "falso" para os primeiros seis valores. Quando o sétimo valor gerou um resultado "verdadeiro", a condição foi satisfeita e a execução foi interrompida.

A janela "Histórico" é muito poderosa. Podemos selecionar qualquer outro nó de conexão no mapeamento e a janela "Histórico" exibirá uma lista de todos os valores que passaram por esse nó durante a execução. Por exemplo, podemos selecionar uma conexão de entrada para a função "maior", como mostrado abaixo:

Agora, a janela de Histórico mostra uma lista de todos os valores que passaram por esse nó:

Durante a sessão de depuração, podemos alternar entre a janela de mapeamento e a janela de saída para examinar os resultados parciais gerados até o momento, como se pode ver aqui:

Neste momento, temos várias opções para prosseguir:
- Interromper a sessão de depuração
- Continue a execução até que o próximo ponto de interrupção de depuração seja atingido
- Continue a depuração, avançando passo a passo, para examinar cuidadosamente mais valores intermediários
Se a depuração revelar erros ou falhas no design da mapeação, podemos interromper imediatamente, modificar a mapeação conforme necessário e, em seguida, depurar a versão revista. Podemos definir novos pontos de interrupção ou selecionar uma opção de execução passo a passo para visualizar cada valor intermédio gerado, ou para avançar por grupos de cálculos lógicos.
Depois de avançarmos várias vezes, podemos verificar que a descrição "alto" é gerada pela função "se-então-senão" e é transmitida para o componente de saída.

Avançamos mais algumas vezes e examinamos novamente a saída parcial.

A descrição completa da temperatura máxima original aparece agora na linha 12, e resultados adicionais foram gerados.
O Altova MapForce é uma ferramenta gráfica premiada para mapeamento, conversão e integração de dados, que permite a transferência de dados entre qualquer combinação de XML, bases de dados, EDI, XBRL, ficheiros simples, Excel, JSON e/ou serviços web. O depurador de mapeamento de dados do MapForce é uma funcionalidade única, presente num designer de mapeamento visual, e está disponível a uma fração do custo de um sistema tradicional de integração de dados.
Descarregue uma versão de avaliação gratuita e totalmente funcional para experimentar por si mesmo!