Perché l'integrazione basata su file CSV può essere migliore dell'integrazione basata su API
Pubblicato: 2018-11-07I commercianti spesso hanno bisogno di spostare grandi quantità di dati (come cataloghi di prodotti, ordini o dati dei clienti) da un sistema all'altro per l'elaborazione o l'organizzazione. Il problema è che il modo in cui un sistema struttura e accetta i dati potrebbe non essere lo stesso del sistema di destinazione. Come trasferisci e condividi i dati tra i sistemi quindi (a parte l'inserimento manuale)?
molti si affidano all'integrazione che utilizza file CSV (valori separati da virgola) per esportare e importare file di testo dei propri dati tra i sistemi. I CSV sono un tipo di file universale che molti sistemi supportano e che i commercianti si sentono a proprio agio nella gestione. Sebbene l'integrazione dei file sia spesso un'opzione di integrazione, ha anche i suoi limiti. Durante la valutazione di questo approccio all'integrazione dei dati, questo articolo considera perché l'integrazione basata su file tramite file CSV può essere migliore dell'integrazione basata su API.
Che cos'è l'integrazione di file flat?
L'integrazione basata su file si ha quando i dati di origine e/o di destinazione devono essere rappresentati in un file (come un file CSV). Alcuni sistemi lo richiedono come alternativa a un'API o a una connessione diretta al database. L'integrazione basata su file consente di trasferire i dati tra diversi database o sistemi operativi, senza necessariamente collegarsi direttamente ad essi.
Sebbene l'integrazione basata su file possa includere diversi tipi di file (ad es. XML, JSON), questo articolo si concentra in particolare sull'integrazione di file CSV. Un file CSV può contenere un solo file, anche se a volte l'integrazione basata su file richiede la combinazione di elementi di più file. Sono chiamati file "appiattiti" in cui un singolo record è definito su più righe.
I CSV vengono utilizzati per archiviare dati tabulari. Ciò significa che possono essere importati ed esportati da programmi che memorizzano dati in tabelle, come Microsoft Excel o altri software per fogli di calcolo, per diventare un formato leggibile. È importante notare, tuttavia, che i CSV non possono includere formule o nessuna delle funzionalità di formattazione fornite dai fogli di Excel. Se salvi un documento Excel come CSV, tutte le cose extra verranno eliminate.
I commercianti hanno utilizzato con successo l'integrazione di file CSV per decenni per spostare i dati tra i sistemi per tutti i tipi di motivi. Tuttavia, negli ultimi 10-15 anni, le API sono emerse come un modo più "moderno" per comunicare o integrarsi tra due sistemi. Qual è la differenza?
Integrazione API vs approccio di integrazione CSV
Un'API (Application Program Interface) è un insieme di codice che consente a due programmi software di comunicare tra loro. L'API di un software indica un modo standard e prevedibile per uno sviluppatore di scrivere un programma che richiede servizi da un altro sistema o applicazione.
Un'API REST (REpresentational State Transfer) accetta richieste HTTP per GET, PUT, POST o DELETE dati. REST rappresenta uno stile architettonico e un approccio alla comunicazione utilizzato nello sviluppo di servizi web più moderni. Pertanto, viene spesso utilizzato per creare API che consentono agli utenti di connettersi e interagire con i servizi cloud.
SOAP (Simple Object Access Protocol) è un altro protocollo utilizzato per sviluppare le API. È meno comune nelle nuove API rispetto a REST, ma esegue sostanzialmente la stessa cosa.
L'integrazione API ti consente di connettere due sistemi interpretando e traducendo i dati tra due sistemi tramite le loro API. Consente flussi di dati come "GET Product" da un endpoint API noto in un ERP e "PUT Product" a un endpoint API noto in una piattaforma di eCommerce.
Sebbene l'integrazione delle API sia un approccio più moderno, non è sempre la soluzione giusta (o possibile) per i commercianti che desiderano integrare i propri sistemi. Ecco uno sguardo approfondito sul motivo per cui l'integrazione basata su file può essere migliore dell'integrazione API.
Perché l'integrazione basata su file può essere migliore dell'integrazione API
Ci sono scenari in cui l'integrazione CSV potrebbe avere più senso per la tua azienda. Vedi sotto alcuni dei principali vantaggi di questo approccio di integrazione di sistema.
Mantieni e connetti i sistemi senza API
Non tutti i sistemi software hanno API disponibili per l'integrazione. Questo è spesso il caso di vecchi software "legacy", ma è anche il caso di sistemi moderni come la piattaforma di eCommerce Salesforce Commerce Cloud (Demandware). L'integrazione con questi sistemi deve essere eseguita senza l'utilizzo di API, il che significa che l'opzione migliore potrebbe essere l'integrazione basata su file.
La maggior parte dei sistemi accetta almeno CSV tramite un processo di importazione manuale, indipendentemente dall'età del software. Alcuni (di nuovo, come Salesforce Commerce Cloud) offrono la possibilità di automatizzare l'importazione CSV puntando a un server SFTP.
È importante notare che molti commercianti utilizzeranno questo approccio di integrazione invece di intraprendere progetti a volte costosi per aggiornare o sostituire questi sistemi senza API.
Non proprietario
I file CSV non sono di proprietà di alcun fornitore di software specifico. La creazione e la condivisione di un CSV è un modo generico per gestire i dati. Questo li rende facili da interagire e condividere tra persone e sistemi. Puoi creare CSV sfruttando Excel o altri software per fogli di calcolo e la maggior parte delle persone si sente a proprio agio nel gestirli in questo modo. Indipendentemente dal software specifico che stai utilizzando, essere in grado di importare ed esportare un file CSV non è univoco per quel software o marchio.
Più facile creare file
Poiché i CSV sono file di testo normale, è più facile per uno sviluppatore web o altri membri del tuo team creare, visualizzare e convalidare i dati come foglio di calcolo. Tutto ciò di cui hai bisogno è una riga di intestazione nella parte superiore e nelle righe di dati successive. Sarai in grado di manipolare i dati per organizzarli di cui hai bisogno. È quindi facile condividere questi dati tra diversi sistemi.
Non esiste alcuna relazione gerarchica tra i dati, a meno che tu non rappresenti artificialmente quella gerarchia con più file CSV. Se è necessario farlo, l'integrazione basata su CSV diventa più complessa.
Esempi comuni di file CSV che i commercianti potrebbero creare sono i listini prezzi, gli elenchi dei clienti, i dati sui prodotti, i dati sugli ordini e gli sconti da condividere tra il loro eCommerce e il sistema ERP o POS.
Comunicazione standard tra più sorgenti
I file CSV sono anche un modo standard per comunicare i dati, il che li rende un ottimo strumento per raccogliere e compilare dati da più fonti o sistemi. Sebbene il formato dei dati (quali colonne in quale ordine) possa variare, un CSV è un tipo di file consolidato e quasi universalmente supportato.
Ad esempio, potresti raccogliere cataloghi di prodotti da una manciata di fornitori diversi. Indipendentemente dal sistema che utilizzano per padroneggiare i dati di prodotto, dovrebbero essere in grado di esportare un CSV di tutti i dati di prodotto. Quindi puoi raccogliere e importare questo CSV nel tuo sistema. Non devi preoccuparti di integrarti direttamente nel loro sistema. Potresti anche non avere l'integrazione diretta dell'API come opzione a causa della sicurezza o di altri problemi.
Limitazioni dell'integrazione basata su file
Ci sono degli svantaggi in questo approccio di integrazione che dovresti considerare, specialmente quando confronti questo approccio con un'alternativa come l'integrazione basata su API.
Responsabilità di sicurezza
Quando automatizzi i trasferimenti di file CSV, stai essenzialmente rilasciando un file su un server che viene poi prelevato da un altro sistema. Chi gestisce i server? Come mantieni i tuoi dati al sicuro durante questo processo?
L'integrazione basata su file richiede ai commercianti di pensare alla sicurezza in un modo diverso. Sebbene tu voglia che i tuoi dati siano al sicuro durante il trasferimento, non puoi nemmeno rendere l'accesso troppo difficile. In caso contrario, sarà molto difficile comunicare con altri sistemi aziendali. È tua responsabilità trovare quell'equilibrio e assicurarti che tutte le persone (e non più) possano accedere a questi file secondo necessità.
Sincronizzazione batch
Quando si integrano i sistemi, la maggior parte dei commercianti desidera una sincronizzazione in tempo reale o istantanea dei propri dati tra i sistemi.
Ciò sarebbe particolarmente importante per dati come gli articoli eCommerce con disponibilità dell'inventario in rapida evoluzione o ordini che devono essere evasi per la spedizione in due giorni. Non appena viene effettuato un ordine online, si desidera ridurre la quantità di inventario in tutti i canali di vendita e avviare l'elaborazione dell'ordine. Ritardi in questa sincronizzazione, anche di soli 30 minuti, possono causare vendite eccessive durante i periodi di punta delle vendite come le vendite flash o le festività. Possono anche rallentare l'evasione degli ordini facendoti perdere le date di consegna garantite. Il tuo cliente ne subisce le conseguenze.
La maggior parte dell'integrazione di file CSV per impostazione predefinita non può sincronizzarsi istantaneamente. Questo perché non è davvero possibile scrivere continuamente nuove righe in un CSV mentre un altro sistema legge continuamente nuove righe dal CSV. Devi scrivere un mucchio di righe in un file, rilasciare quel file per essere prelevato, quindi avviare un nuovo file.
Ciò significa che se le tue regole per avviare un nuovo file sono "numero di righe" o "periodo di tempo", ci sarà una sorta di ritardo nel processo.
Pensa all'integrazione dei file CSV in un altro modo: non ti viene consegnata la posta su richiesta poiché arriva come se arrivasse un'e-mail. Una volta al giorno ricevi potenzialmente un lotto di lettere e le invii anche in lotto.
Gestione di strutture di dati complesse
Sebbene la struttura di file flat di un CSV possa essere un vantaggio, può anche essere la sua rovina. In base alla progettazione, i dati CSV non sono gerarchici né orientati agli oggetti, il che significa che hanno una struttura onnipresente. Per alcuni commercianti, questo è un problema quando si hanno più livelli di dati correlati tra loro. Pensa a come dovresti rappresentare gli ordini con più elementi pubblicitari o un prodotto disponibile in più dimensioni o colori.
Finirai per creare più file CSV per provare a rappresentare questa relazione tra i tuoi dati. Può essere difficile provare a gestire e organizzare grandi insiemi di dati.
Convalida dei dati
Un passaggio cruciale nell'integrazione del sistema è la convalida dei dati che stai trasferendo. Non si desidera inviare dati imprecisi o errati a un altro sistema, soprattutto perché possono causare errori "non validi". Con l'integrazione del file CSV, la convalida dei dati è un processo manuale per i suoi utenti.
Quando hai a che fare con diversi CSV con centinaia di righe di dati, la convalida diventa difficile da gestire. Non sarai solo in grado di "guardare" che tutto sembra a posto da inviare. Invece, gli utenti faranno affidamento su formule o macro scritte in Excel per evidenziare le celle se sbagliate. Quindi, è necessario entrare manualmente per correggere eventuali errori. Questo processo richiede tempo ed è difettoso quando si esaminano grandi quantità di dati.
In alcuni casi, il sistema in cui stai caricando i dati CSV può fornire la convalida dei dati sul CSV importato, ma ciò presenta anche degli svantaggi. L'esistenza e la robustezza di queste funzionalità non sono coerenti da piattaforma a piattaforma. E spesso non gestiscono bene la transazione di importazione in caso di errore. Ciò potrebbe significare che se una riga su 100.000 non fosse corretta, l'intera importazione potrebbe non riuscire.
Recupero da errori durante il trasferimento di dati
L'integrazione dei file CSV si basa sull'eliminazione e la raccolta di file sui server. Durante questo processo, ci sono molte cose che possono andare storte, come il file danneggiato o il server o il file system inattivo. Inoltre, di solito non vengono controllati caratteri non validi, descrizioni dei dati mancanti o altri problemi di contenuto dei file. Cosa succede quando invii un file con questi problemi? Come pensi di aggiustarlo?
Gestione delle risorse di calcolo per l'elaborazione dei dati
A seconda di come viene scritto il codice per integrare i tuoi sistemi, l'integrazione basata su file può richiedere molta CPU e RAM per leggere set di dati di grandi dimensioni su più file.
Problemi di codifica dei caratteri
Ogni sistema ha la propria impostazione predefinita per la codifica dei caratteri, ad esempio UTF-8. Quando si condividono file di testo (come CSV), i commercianti devono considerare che i file devono utilizzare gli stessi caratteri di codifica. In caso contrario, uno dei tuoi file CSV potrebbe essere rifiutato o i dati potrebbero apparire errati perché il sistema non è in grado di leggere correttamente i tuoi caratteri. Ad esempio, il sistema di destinazione potrebbe non essere in grado di leggere apostrofi o caratteri specializzati per le lingue asiatiche.
Ulteriori informazioni sull'integrazione CSV
I commercianti hanno opzioni quando si tratta di integrare i loro sistemi. E per molti, l'integrazione basata su file tramite CSV può essere l'opzione giusta. Tuttavia, questo approccio di integrazione non è privo di svantaggi che dovresti considerare.
Se sei interessato a saperne di più su come automatizzare la tua attività attraverso l'integrazione basata su file, scopri di più sulla soluzione di trasferimento file di nChannel, creata per affrontare direttamente tutte le sfide descritte in questo documento.