Por que a integração baseada em arquivo CSV pode ser melhor do que a integração baseada em API
Publicados: 2018-11-07Os comerciantes geralmente precisam mover grandes quantidades de dados (como catálogos de produtos, pedidos ou dados de clientes) de um sistema para outro para processamento ou organização. O problema é que como um sistema estrutura e aceita dados pode não ser o mesmo que o sistema de destino. Como você transfere e compartilha dados entre sistemas (além de inseri-los manualmente)?
muitos contam com integração que usa arquivos CSV (valores separados por vírgula) para exportar e importar arquivos de texto de seus dados entre sistemas. Os CSVs são um tipo de arquivo universal que muitos sistemas suportam e os comerciantes se sentem à vontade para gerenciar. Embora a integração de arquivos geralmente seja uma opção de integração, ela também tem suas limitações. À medida que você avalia essa abordagem de integração de dados, este artigo considera por que a integração baseada em arquivo por meio de arquivos CSV pode ser melhor do que a integração baseada em API.
O que é Integração de Arquivo Simples?
A integração baseada em arquivo ocorre quando seus dados de origem e/ou seus dados de destino devem ser representados em um arquivo (como um arquivo CSV). Alguns sistemas exigem isso como uma alternativa a uma API ou uma conexão direta com o banco de dados. A integração baseada em arquivos permite que os dados sejam passados entre diferentes bancos de dados ou sistemas operacionais, sem necessariamente conectar-se diretamente a eles.
Embora a integração baseada em arquivo possa incluir diferentes tipos de arquivo (por exemplo, XML, JSON), este artigo se concentra na integração de arquivos CSV em particular. Um arquivo CSV pode ter apenas um único arquivo nele, embora às vezes a integração baseada em arquivo exija que você combine elementos de vários arquivos. Eles são chamados de arquivos 'achatados' em que um único registro é definido em várias linhas.
CSVs são usados para armazenar dados tabulares. Isso significa que eles podem ser importados e exportados de programas que armazenam dados em tabelas, como o Microsoft Excel ou outro software de planilha, para se tornarem um formato legível. É importante observar que os CSVs não podem incluir fórmulas ou qualquer um dos recursos de formatação fornecidos pelas planilhas do Excel. Se você salvar um documento do Excel como um CSV, todo esse material extra será removido.
Os comerciantes usam com sucesso a integração de arquivos CSV há décadas para mover dados entre sistemas por todos os tipos de motivos. No entanto, nos últimos 10 a 15 anos, as APIs surgiram como uma maneira mais “moderna” de dois sistemas se comunicarem ou se integrarem. Qual é a diferença?
Integração API vs Abordagem de Integração CSV
Uma API (Application Program Interface) é um conjunto de códigos que permite que dois programas de software se comuniquem. A API de um software define uma maneira padrão e previsível para um desenvolvedor escrever um programa solicitando serviços de outro sistema ou aplicativo.
Uma API REST (REpresentational State Transfer) aceita solicitações HTTP para dados GET, PUT, POST ou DELETE. REST representa um estilo arquitetônico e uma abordagem de comunicação usada no desenvolvimento de serviços web mais modernos. Portanto, é frequentemente usado para criar APIs que permitem que os usuários se conectem e interajam com serviços em nuvem.
SOAP (Simple Object Access Protocol) é outro protocolo usado para desenvolver APIs. É menos comum em novas APIs do que REST, mas realiza basicamente a mesma coisa.
A integração de API permite conectar dois sistemas interpretando e traduzindo dados entre dois sistemas por meio de suas APIs. Ele permite fluxos de dados como “GET Product” de um endpoint de API conhecido em um ERP e “PUT Product” para um endpoint de API conhecido em uma plataforma de comércio eletrônico.
Embora a integração de API seja uma abordagem mais moderna, nem sempre é a solução certa (ou possível) para comerciantes que desejam integrar seus sistemas. Aqui está uma análise detalhada sobre por que a integração baseada em arquivo pode ser melhor do que a integração de API.
Por que a integração baseada em arquivo pode ser melhor do que a integração de API
Há cenários em que a integração de CSV pode fazer mais sentido para sua empresa. Veja abaixo algumas das principais vantagens dessa abordagem de integração de sistemas.
Mantenha e conecte sistemas sem APIs
Nem todos os sistemas de software possuem APIs disponíveis para integração. Esse é frequentemente o caso de softwares “legados” mais antigos, mas é ainda o caso de sistemas modernos como a plataforma de comércio eletrônico Salesforce Commerce Cloud (Demandware). A integração com esses sistemas deve ser feita sem o uso de APIs, o que significa que sua melhor opção pode ser a integração baseada em arquivo.
A maioria dos sistemas aceita pelo menos CSV por meio de um processo de importação manual, independentemente da idade do software. Alguns (novamente, como o Salesforce Commerce Cloud) oferecem a capacidade de automatizar a importação de CSV apontando para um servidor SFTP.
É importante observar que muitos comerciantes usarão essa abordagem de integração em vez de assumir projetos às vezes caros para atualizar ou substituir esses sistemas sem API.
Não proprietário
Os arquivos CSV não são proprietários de nenhum fornecedor de software específico. Criar e compartilhar um CSV é uma maneira genérica de lidar com dados. Isso os torna fáceis de interagir e compartilhar entre pessoas e sistemas. Você pode criar CSVs aproveitando o Excel ou outro software de planilha e a maioria das pessoas se sente à vontade para manuseá-los dessa maneira. Independentemente do software específico que você está usando, poder importar e exportar um arquivo CSV não é exclusivo desse software ou marca.
Mais fácil de criar arquivos
Como os CSVs são arquivos de texto simples, é mais fácil para um desenvolvedor da Web ou outros membros de sua equipe criar, visualizar e validar os dados como uma planilha. Tudo o que você precisa é de uma linha de cabeçalho na parte superior e nas linhas subsequentes de dados. Você poderá manipular os dados para organizá-los conforme necessário. É então fácil compartilhar esses dados em diferentes sistemas.
Não há relação hierárquica entre os dados, a menos que você represente artificialmente essa hierarquia com vários arquivos CSV. Se você precisar fazer isso, isso tornará a integração baseada em CSV mais complexa.
Exemplos comuns de arquivos CSV que os comerciantes podem criar são planilhas de preços, listas de clientes, dados de produtos, dados de pedidos e descontos para compartilhar entre seu comércio eletrônico e sistema ERP ou POS.
Comunicação padrão entre várias fontes
Os arquivos CSV também são uma maneira padrão de comunicar dados, o que os torna uma ótima ferramenta para coletar e compilar dados de várias fontes ou sistemas. Embora o formato dos dados (quais colunas em que ordem) provavelmente varie, um CSV é um tipo de arquivo bem estabelecido e com suporte quase universal.
Por exemplo, você pode coletar catálogos de produtos de vários fornecedores diferentes. Independentemente do sistema que eles usam para dominar os dados do produto, eles devem poder exportar um CSV de todos os dados do produto. Você pode então pegar e importar este CSV para o seu sistema. Você não precisa se preocupar em integrar diretamente ao sistema deles. Você pode nem ter a integração direta da API como opção devido a questões de segurança ou outras.
Limitações da integração baseada em arquivo
Existem desvantagens nessa abordagem de integração que você deve considerar, especialmente ao comparar essa abordagem com uma alternativa como a integração baseada em API.
Responsabilidades de segurança
Ao automatizar as transferências de arquivos CSV, você está basicamente soltando um arquivo em um servidor que é então selecionado por outro sistema. Quem está mantendo os servidores? Como você está mantendo seus dados seguros durante todo esse processo?
A integração baseada em arquivos exige que os comerciantes pensem na segurança de uma maneira diferente. Embora você queira que seus dados estejam seguros durante a transferência, você também não pode dificultar muito o acesso. Caso contrário, será muito difícil se comunicar com outros sistemas de negócios. É sua responsabilidade encontrar esse equilíbrio e garantir que todas as pessoas (e não mais) possam acessar esses arquivos conforme necessário.
Sincronização em lote
Ao integrar sistemas, a maioria dos comerciantes deseja uma sincronização em tempo real ou instantânea de seus dados entre os sistemas.
Isso seria especialmente importante para dados como itens de comércio eletrônico com disponibilidade de estoque em rápida mudança ou pedidos que devem ser atendidos para envio de dois dias. Assim que um pedido é feito online, você deseja reduzir essa quantidade de estoque em todos os seus canais de vendas e iniciar o processamento do pedido. Atrasos nessa sincronização, mesmo de 30 minutos, podem causar excesso de vendas durante os horários de pico de vendas, como vendas temporárias ou feriados. Eles também podem retardar o atendimento de pedidos, fazendo com que você perca as datas de entrega garantidas. Seu cliente sofre as consequências.
A maioria das integrações de arquivos CSV por padrão não pode sincronizar instantaneamente. Isso ocorre porque não é realmente possível gravar continuamente novas linhas em um CSV enquanto algum outro sistema está lendo continuamente novas linhas do CSV. Você tem que escrever um monte de linhas em um arquivo, soltar esse arquivo para ser selecionado e iniciar um novo arquivo.
Isso significa que se suas regras para iniciar um novo arquivo são “número de linhas” ou “período de tempo”, haverá algum tipo de atraso no processo.
Pense na integração de arquivos CSV de outra maneira: você não recebe e-mails sob demanda, como se fosse um e-mail. Uma vez por dia, você recebe potencialmente um lote de cartas e as envia como um lote também.
Manipulando Estruturas de Dados Complexas
Embora a estrutura de arquivo simples de um CSV possa ser uma vantagem, também pode ser sua ruína. Por design, os dados CSV não são hierárquicos nem orientados a objetos, o que significa que eles têm uma estrutura onipresente. Para alguns comerciantes, isso é um problema quando você tem várias camadas de dados que se relacionam entre si. Pense em como você precisaria representar pedidos com vários itens de linha ou um produto que vem em vários tamanhos ou cores.
Você acabará criando vários arquivos CSV para tentar representar essa relação entre seus dados. Pode ser um desafio tentar gerenciar e organizar grandes conjuntos de dados.
Validando dados
Uma etapa crucial na integração do sistema é validar os dados que você está transferindo. Você não deseja enviar dados imprecisos ou ruins para outro sistema, especialmente porque isso pode causar erros “inválidos”. Com a integração de arquivos CSV, a validação de dados é um processo manual para seus usuários.
Quando você está lidando com vários CSVs com centenas de linhas de dados, a validação se torna difícil de gerenciar. Você não será capaz de apenas “olhar” que tudo parece certo para enviar. Em vez disso, os usuários contarão com fórmulas ou macros escritas no Excel para destacar as células se estiverem erradas. Então, você precisa ir à mão para corrigir quaisquer erros. Esse processo é demorado e falho ao revisar grandes quantidades de dados.
Em alguns casos, o sistema no qual você está carregando os dados CSV pode fornecer validação de dados no CSV importado, mas isso também tem desvantagens. A existência e robustez desses recursos não é consistente de plataforma para plataforma. E, muitas vezes, eles não gerenciam bem a transação de importação em caso de falha. Isso pode significar que, se uma linha de 100.000 estiver incorreta, toda a importação poderá falhar.
Recuperando de Erros Durante a Transferência de Dados
A integração de arquivos CSV depende da remoção e coleta de arquivos nos servidores. Ao longo desse processo, há muita coisa que pode dar errado, como o arquivo estar corrompido ou o servidor ou sistema de arquivos estar inativo. Geralmente, também não há verificações de caracteres inválidos, descrições de dados ausentes ou outros problemas de conteúdo de arquivo. O que acontece quando você envia um arquivo com esses problemas? Como você planeja corrigi-lo?
Gerenciando recursos de computação para processamento de dados
Dependendo de como o código é escrito para integrar seus sistemas, a integração baseada em arquivo pode exigir muita CPU e RAM para ler grandes conjuntos de dados em vários arquivos.
Problemas de codificação de caracteres
Cada sistema tem seu próprio padrão para codificação de caracteres, por exemplo, UTF-8. Ao compartilhar arquivos de texto (como CSV), os comerciantes devem considerar que os arquivos precisam usar os mesmos caracteres de codificação. Caso contrário, um de seus arquivos CSV pode ser rejeitado ou os dados podem parecer incorretos porque o sistema não consegue ler seus caracteres corretamente. Por exemplo, o sistema de destino pode não conseguir ler apóstrofos ou caracteres especializados para idiomas asiáticos.
Saiba mais sobre a integração CSV
Os comerciantes têm opções quando se trata de integrar seus sistemas. E para muitos, a integração baseada em arquivos por meio de CSVs pode ser a opção certa. No entanto, essa abordagem de integração não vem sem suas desvantagens que você deve considerar.
Se você estiver interessado em saber mais sobre como automatizar seus negócios por meio da integração baseada em arquivos, saiba mais sobre a solução de transferência de arquivos da nChannel, criada para lidar diretamente com todos os desafios descritos neste documento.