Dlaczego integracja oparta na plikach CSV może być lepsza niż integracja oparta na API
Opublikowany: 2018-11-07Sprzedawcy często muszą przenosić duże ilości danych (takich jak katalogi produktów, zamówienia lub dane klientów) z jednego systemu do drugiego w celu przetworzenia lub organizacji. Problem polega na tym, że sposób, w jaki jeden system strukturyzuje i akceptuje dane, może nie być taki sam jak system docelowy. W jaki sposób zatem przenosisz i udostępniasz dane między systemami (z wyjątkiem ręcznego wprowadzania)?
wiele z nich polega na integracji, która wykorzystuje pliki CSV (wartości rozdzielane przecinkami) do eksportowania i importowania plików tekstowych swoich danych między systemami. Pliki CSV to uniwersalny typ pliku, który obsługuje wiele systemów, a sprzedawcy czują się komfortowo w zarządzaniu. Chociaż integracja plików jest często opcją integracji, ma ona również swoje ograniczenia. Podczas oceny tego podejścia do integracji danych w tym artykule rozważono, dlaczego integracja oparta na plikach za pośrednictwem plików CSV może być lepsza niż integracja oparta na interfejsie API.
Co to jest integracja plików płaskich?
Integracja oparta na plikach ma miejsce, gdy dane źródłowe i/lub dane docelowe muszą być reprezentowane w pliku (takim jak plik CSV). Niektóre systemy wymagają tego jako alternatywy dla API lub bezpośredniego połączenia z bazą danych. Integracja oparta na plikach umożliwia przekazywanie danych między różnymi bazami danych lub systemami operacyjnymi bez konieczności bezpośredniego łączenia się z nimi.
Chociaż integracja oparta na plikach może obejmować różne typy plików (np. XML, JSON), ten artykuł koncentruje się w szczególności na integracji plików CSV. Plik CSV może zawierać tylko jeden plik, chociaż czasami integracja oparta na plikach wymaga połączenia elementów z wielu plików. Nazywa się je „spłaszczonymi” plikami, w których pojedynczy rekord jest zdefiniowany w wielu wierszach.
Pliki CSV służą do przechowywania danych tabelarycznych. Oznacza to, że można je importować i eksportować z programów przechowujących dane w tabelach, takich jak Microsoft Excel lub inne oprogramowanie do obsługi arkuszy kalkulacyjnych, w celu uzyskania czytelnego formatu. Należy jednak pamiętać, że pliki CSV nie mogą zawierać formuł ani żadnej funkcji formatowania zapewnianej przez arkusze programu Excel. Jeśli zapiszesz dokument Excela jako CSV, wszystkie dodatkowe rzeczy zostaną usunięte.
Sprzedawcy od dziesięcioleci z powodzeniem wykorzystują integrację plików CSV do przenoszenia danych między systemami z różnych powodów. Jednak w ciągu ostatnich 10-15 lat interfejsy API stały się bardziej „nowoczesnym” sposobem komunikacji lub integracji dwóch systemów. Co za różnica?
Integracja API a podejście integracyjne CSV
API (interfejs programu aplikacji) to zestaw kodu, który pozwala dwóm programom komunikować się ze sobą. API oprogramowania określa standardowy, przewidywalny sposób, w jaki programista może napisać program żądający usług z innego systemu lub aplikacji.
Interfejs API REST (REpresentational State Transfer) akceptuje żądania HTTP dotyczące danych GET, PUT, POST lub DELETE. REST reprezentuje styl architektoniczny i podejście do komunikacji używane w większości nowoczesnych usług sieciowych. Dlatego jest często używany do tworzenia interfejsów API, które umożliwiają użytkownikom łączenie się i interakcję z usługami w chmurze.
SOAP (Simple Object Access Protocol) to kolejny protokół używany do tworzenia interfejsów API. Jest mniej powszechny w nowych interfejsach API niż REST, ale zapewnia zasadniczo to samo.
Integracja API umożliwia połączenie dwóch systemów poprzez interpretację i tłumaczenie danych między dwoma systemami za pośrednictwem ich interfejsów API. Umożliwia przepływ danych, takich jak „GET Product” ze znanego punktu końcowego API w ERP i „Produkt PUT” do znanego punktu końcowego API na platformie eCommerce.
Chociaż integracja API jest bardziej nowoczesnym podejściem, nie zawsze jest to właściwe rozwiązanie (lub możliwe) dla sprzedawców chcących zintegrować swoje systemy. Oto szczegółowe spojrzenie na to, dlaczego integracja oparta na plikach może być lepsza niż integracja API.
Dlaczego integracja oparta na plikach może być lepsza niż integracja API
Istnieją scenariusze, w których integracja CSV może być najbardziej sensowna dla Twojej firmy. Zobacz poniżej niektóre z głównych zalet tego podejścia do integracji systemu.
Keep and Connect Systems bez interfejsów API
Nie wszystkie systemy oprogramowania mają dostępne interfejsy API do integracji. Dzieje się tak często w przypadku starszego „starszego” oprogramowania, ale ma to miejsce nawet w przypadku nowoczesnych systemów, takich jak platforma eCommerce Salesforce Commerce Cloud (Demandware). Integracja z tymi systemami musi odbywać się bez użycia interfejsów API, co oznacza, że najlepszą opcją może być integracja oparta na plikach.
Większość systemów przynajmniej akceptuje CSV poprzez ręczny proces importu, bez względu na wiek oprogramowania. Niektóre (ponownie, jak Salesforce Commerce Cloud) oferują możliwość zautomatyzowania importu CSV poprzez wskazanie serwera SFTP.
Należy zauważyć, że wielu sprzedawców będzie korzystać z tego podejścia integracyjnego zamiast podejmować się czasami kosztownych projektów w celu uaktualnienia lub zastąpienia tych systemów bez interfejsu API.
Niezastrzeżony
Pliki CSV nie są własnością żadnego konkretnego dostawcy oprogramowania. Tworzenie i udostępnianie pliku CSV to ogólny sposób obsługi danych. Ułatwia to ich interakcję i udostępnianie między ludźmi i systemami. Możesz tworzyć pliki CSV, korzystając z Excela lub innego oprogramowania do obsługi arkuszy kalkulacyjnych, a większość ludzi dobrze sobie z nimi radzi. Niezależnie od konkretnego oprogramowania, którego używasz, możliwość importowania i eksportowania pliku CSV nie jest charakterystyczna dla tego oprogramowania lub marki.
Łatwiejsze tworzenie plików
Ponieważ pliki CSV to zwykłe pliki tekstowe, programistom internetowym lub innym członkom zespołu łatwiej jest tworzyć, wyświetlać i sprawdzać dane w postaci arkusza kalkulacyjnego. Wszystko czego potrzebujesz to wiersz nagłówka u góry i kolejne wiersze danych. Będziesz mógł manipulować danymi, aby uporządkować je zgodnie z potrzebami. Dzięki temu łatwo jest udostępniać te dane w różnych systemach.
Nie ma hierarchicznej relacji między danymi, chyba że sztucznie reprezentujesz tę hierarchię za pomocą wielu plików CSV. Jeśli musisz to zrobić, integracja oparta na CSV staje się bardziej złożona.
Typowymi przykładami tworzonych przez sprzedawców plików CSV są arkusze cenowe, listy klientów, dane produktów, dane zamówień i rabaty do współdzielenia między ich eCommerce a systemem ERP lub POS.
Standardowa komunikacja między wieloma źródłami
Pliki CSV są również standardowym sposobem przekazywania danych, co czyni je doskonałym narzędziem do zbierania i kompilowania danych z wielu źródeł lub systemów. Chociaż format danych (które kolumny w jakiej kolejności) będzie się prawdopodobnie różnić, plik CSV jest powszechnie obsługiwanym typem pliku o ugruntowanej pozycji.
Na przykład możesz zbierać katalogi produktów od kilku różnych dostawców. Niezależnie od tego, jakiego systemu używają do opanowania danych produktów, powinni mieć możliwość wyeksportowania pliku CSV wszystkich swoich danych produktów. Następnie możesz pobrać i zaimportować ten plik CSV do swojego systemu. Nie musisz się martwić o bezpośrednią integrację z ich systemem. Możesz nawet nie mieć opcji bezpośredniej integracji API ze względu na bezpieczeństwo lub inne problemy.
Ograniczenia integracji opartej na plikach
Istnieją wady tego podejścia do integracji, które należy wziąć pod uwagę, szczególnie porównując to podejście z alternatywą, taką jak integracja oparta na interfejsie API.
Obowiązki bezpieczeństwa
Podczas automatyzacji przesyłania plików CSV zasadniczo upuszczasz plik na serwer, który jest następnie pobierany przez inny system. Kto zajmuje się obsługą serwerów? Jak dbasz o bezpieczeństwo swoich danych podczas tego procesu?
Integracja oparta na plikach wymaga od sprzedawców innego myślenia o bezpieczeństwie. Chociaż chcesz, aby Twoje dane były bezpieczne podczas przesyłania, nie możesz też zbytnio utrudniać dostępu. W przeciwnym razie bardzo trudno będzie komunikować się z innymi systemami biznesowymi. Twoim obowiązkiem jest znalezienie tej równowagi i upewnienie się, że wszystkie osoby (i nic więcej) mają dostęp do tych plików w razie potrzeby.
Synchronizacja wsadowa
Integrując systemy, większość sprzedawców chce synchronizacji danych między systemami w czasie rzeczywistym lub natychmiastowej.
Byłoby to szczególnie ważne w przypadku danych, takich jak artykuły eCommerce z szybko zmieniającą się dostępnością zapasów lub zamówienia, które muszą zostać zrealizowane w przypadku dwudniowej wysyłki. Gdy tylko zamówienie zostanie złożone online, chcesz zmniejszyć ilość zapasów we wszystkich kanałach sprzedaży i rozpocząć przetwarzanie zamówienia. Opóźnienia w tej synchronizacji, nawet tak małe jak 30 minut, mogą powodować nadmierną sprzedaż w okresach szczytu sprzedaży, takich jak wyprzedaże błyskawiczne lub święta. Mogą również spowolnić realizację zamówienia, powodując, że przegapisz gwarantowane terminy dostawy. Konsekwencje ponosi Twój klient.
Większość integracji plików CSV domyślnie nie może synchronizować się natychmiast. Dzieje się tak, ponieważ nie jest możliwe ciągłe pisanie nowych wierszy do pliku CSV, podczas gdy inny system nieustannie odczytuje nowe wiersze z pliku CSV. Musisz napisać kilka linijek do pliku, upuścić ten plik do pobrania, a następnie rozpocząć nowy plik.
Oznacza to, że niezależnie od tego, czy Twoje reguły uruchamiania nowego pliku to „liczba wierszy” czy „okres czasu”, nastąpi pewne opóźnienie w procesie.
Pomyśl o integracji plików CSV w inny sposób: poczta nie jest dostarczana na żądanie, ponieważ wygląda tak, jak przychodząca wiadomość e-mail. Raz dziennie otrzymujesz potencjalnie partię listów i wysyłasz je również jako partię.
Obsługa złożonych struktur danych
Chociaż płaska struktura plików CSV może być zaletą, może również być jego wadą. Z założenia dane CSV nie są hierarchiczne ani obiektowe, co oznacza, że mają wszechobecną strukturę. Dla niektórych sprzedawców jest to problem, gdy masz wiele warstw danych, które są ze sobą powiązane. Zastanów się, jak musiałbyś przedstawiać zamówienia z wieloma pozycjami lub produkt, który jest dostępny w wielu rozmiarach lub kolorach.
W efekcie utworzysz wiele plików CSV, aby spróbować przedstawić tę relację między Twoimi danymi. Próba zarządzania dużymi zestawami danych i ich organizowania może być trudna.
Weryfikowanie danych
Kluczowym krokiem w integracji systemu jest weryfikacja przesyłanych danych. Nie chcesz wysyłać niedokładnych lub złych danych do innego systemu, zwłaszcza że może to spowodować „nieprawidłowe” błędy. Dzięki integracji plików CSV sprawdzanie poprawności danych jest procesem ręcznym dla użytkowników.
Kiedy masz do czynienia z kilkoma plikami CSV z setkami wierszy danych, zarządzanie walidacją staje się trudne. Nie będziesz w stanie po prostu stwierdzić, że wszystko wygląda w porządku do wysłania. Zamiast tego użytkownicy będą polegać na formułach lub makrach napisanych w programie Excel, aby podświetlić komórki, jeśli są błędne. Następnie musisz wejść ręcznie, aby naprawić wszelkie błędy. Ten proces jest czasochłonny i błędny podczas przeglądania dużych ilości danych.
W niektórych przypadkach system, do którego ładujesz dane CSV, może zapewnić walidację danych w zaimportowanym CSV, ale ma to również wady. Istnienie i niezawodność tych funkcji nie jest spójna platforma do platformy. I często nie radzą sobie dobrze z transakcją importu w przypadku niepowodzenia. Może to oznaczać, że jeśli jeden wiersz na 100 000 jest niepoprawny, cały import może się nie powieść.
Odzyskiwanie błędów podczas przesyłania danych
Integracja plików CSV polega na upuszczaniu i pobieraniu plików na serwerach. W trakcie tego procesu wiele może się nie udać, na przykład uszkodzony plik lub awaria serwera lub systemu plików. Zwykle nie są też sprawdzane pod kątem nieprawidłowych znaków, brakujących opisów danych lub innych problemów z zawartością plików. Co się stanie, gdy wyślesz plik z tymi problemami? Jak planujesz to naprawić?
Zarządzanie zasobami obliczeniowymi do przetwarzania danych
W zależności od tego, jak napisany jest kod integrujący systemy, integracja oparta na plikach może wymagać dużej ilości procesora i pamięci RAM w celu odczytania dużych zestawów danych w wielu plikach.
Problemy z kodowaniem znaków
Każdy system ma swoje własne domyślne kodowanie znaków, na przykład UTF-8. Podczas udostępniania plików tekstowych (takich jak CSV) sprzedawcy muszą wziąć pod uwagę, że pliki muszą używać tych samych znaków kodowania. Jeśli nie, jeden z Twoich plików CSV może zostać odrzucony lub dane mogą wydawać się nieprawidłowe, ponieważ system nie jest w stanie poprawnie odczytać Twoich znaków. Na przykład system docelowy może nie być w stanie odczytać specjalnych apostrofów lub znaków dla języków azjatyckich.
Dowiedz się więcej o integracji CSV
Sprzedawcy mają opcje, jeśli chodzi o integrację swoich systemów. A dla wielu osób integracja oparta na plikach za pośrednictwem plików CSV może być właściwą opcją. Jednak to podejście integracyjne nie jest pozbawione wad, które należy wziąć pod uwagę.
Jeśli chcesz dowiedzieć się więcej o tym, jak zautomatyzować swoją firmę poprzez integrację opartą na plikach, dowiedz się więcej o rozwiązaniu do przesyłania plików nChannel, które zostało stworzone, aby bezpośrednio sprostać wszystkim wyzwaniom opisanym w tym dokumencie.