Mapeamento e transformação de dados JSON com o MapForce
O JSON é um formato popular para a transferência de dados entre sistemas, graças à sua estrutura simples, tamanho reduzido e origem na linguagem de programação JavaScript. O MapForce suporta o JSON como formato de entrada e saída para o mapeamento e transformação de dados JSON. Por exemplo, o MapForce pode extrair informações de qualquer base de dados popular e gerar um ficheiro JSON pronto para transferência. A Necessidade: Eis um exemplo de uma necessidade comum para o mapeamento de dados JSON: Uma empresa de manufatura controla os custos através de um processo de montagem "just-in-time", com um stock de peças muito reduzido. As novas encomendas dos clientes são registadas numa base de dados de vendas, e no final de cada dia, os componentes necessários para a montagem das vendas desse dia são calculados através de uma consulta à base de dados. As peças necessárias serão encomendadas aos fornecedores através de uma encomenda de compra, transferida em formato JSON.

Precisamos de dois componentes para projetar o mapeamento e a transformação de dados JSON no MapForce, de forma a gerar o pedido de compra: uma consulta SQL para a base de dados e um documento de instância JSON para modelar o pedido de compra. Já escrevemos anteriormente sobre o mapeamento de bases de dados, mais recentemente em Funcionalidades de bases de dados em toda a linha de produtos Altova, por isso, neste caso, focaremos no componente JSON.
Aqui está uma visão do ficheiro JSON que serve de modelo para a estrutura de saída do mapeamento de dados:

Se precisar criar uma instância JSON do zero, pode digitá-la diretamente no XMLSpy, aproveitando a coloração da sintaxe, as ferramentas de auxílio contextual, a marcação estrutural para corresponder parênteses e chaves, e outras funcionalidades de edição de JSON. Se não estiver familiarizado o suficiente com JSON para o digitar diretamente, também pode usar o XMLSpy para converter uma instância XML para um ficheiro JSON.
Quando colocamos um ficheiro de exemplo JSON numa definição de mapeamento de dados, o MapForce gera automaticamente um ficheiro de esquema JSON a partir desse exemplo, com base no esquema JSON Draft 04 (http://tools.ietf.org/html/draft-zyp-json-schema-04).

O esquema JSON é adicionado ao mapeamento, e os seus elementos de dados podem ser mapeados como entradas ou saídas:

A janela de consulta de base de dados do MapForce oferece um local rápido para testar ou ajustar a consulta SQL:

Podemos inserir a consulta SQL no mapeamento para fornecer os dados de origem para o ficheiro JSON:

Em seguida, estabelecemos uma ligação entre os resultados da consulta SQL e os elementos de dados do componente JSON:

Note que a instrução "select" em si é mapeada para a declaração do objeto que se encontra abaixo do array de linhas (destacado em vermelho acima). Isto irá forçar a criação de um novo objeto JSON no ficheiro de saída para cada linha de dados no resultado da consulta.
O último elemento a ser incluído para completar o mapeamento e a transformação dos dados JSON é a data. Precisamos fornecer a data do pedido no ficheiro de saída, e também precisamos de ajustar a consulta SQL para que selecione sempre os dados do dia atual. O MapForce inclui uma função de data e hora chamada "now" que pode satisfazer ambas as necessidades.
Aqui está o mapeamento JSON completo:

Aplicámos funções adicionais de data e hora para extrair o mês e o dia, fornecendo parâmetros para a consulta SQL, e removemos a informação de fuso horário da função "now" para fornecer a data para a saída JSON. (Não fornecemos um parâmetro para o ano, porque a nossa base de dados de testes de vendas contém apenas encomendas de um ano.)
Clicar no botão "Saída" (Output) na janela de mapeamento do MapForce inicia o processo de mapeamento e exibe o resultado

Agora, a correspondência e a transformação dos dados JSON estão prontas para serem executadas no final de cada dia, gerando o pedido de compra em formato JSON para as peças necessárias para a linha de produção. Podemos automatizar este processo, guardando a correspondência como um ficheiro de execução do MapForce Server, para que seja processado pelo MapForce Server. Este processo pode ser executado através de um ficheiro "batch", sob o controlo do FlowForce Server, ou através da API do MapForce Server.
Ou, para aprofundar a análise da mapeamento, podemos abrir o esquema JSON que o MapForce gerou automaticamente a partir do ficheiro de instância no XMLSpy e examiná-lo na visualização de esquema do XMLSpy:

O MapForce é uma ferramenta poderosa para mapeamento e transformação de dados JSON, permitindo converter dados JSON para ou a partir de diversos formatos, incluindo: XML, JSON, bases de dados, EDI, XBRL, ficheiros simples, Excel e/ou serviços web. Para experimentar esta ferramenta com os seus próprios dados JSON, descarregue um.. Versão de avaliação totalmente funcional e gratuita hoje!