Почему интеграция на основе файлов CSV может быть лучше, чем интеграция на основе API
Опубликовано: 2018-11-07Продавцам часто необходимо перемещать большие объемы данных (таких как каталоги продуктов, заказы или данные клиентов) из одной системы в другую для обработки или организации. Проблема в том, что то, как одна система структурирует и принимает данные, может не совпадать с системой назначения. Как тогда вы передаете и делитесь данными между системами (кроме ввода вручную)?
многие полагаются на интеграцию, которая использует файлы CSV (значения, разделенные запятыми) для экспорта и импорта текстовых файлов своих данных между системами. CSV — это универсальный тип файлов, который поддерживают многие системы, и продавцы могут с ним работать. Хотя интеграция файлов часто является вариантом интеграции, она также имеет свои ограничения. Поскольку вы оцениваете этот подход к интеграции данных, в этой статье рассматривается, почему интеграция на основе файлов через CSV-файлы может быть лучше, чем интеграция на основе API.
Что такое интеграция с плоскими файлами?
Интеграция на основе файлов — это когда исходные данные и/или данные назначения должны быть представлены в файле (например, в файле CSV). В некоторых системах это требуется в качестве альтернативы API или прямому подключению к базе данных. Интеграция на основе файлов позволяет передавать данные между различными базами данных или операционными системами без необходимости прямого подключения к ним.
Хотя интеграция на основе файлов может включать файлы разных типов (например, XML, JSON), в этой статье основное внимание уделяется интеграции файлов CSV. В файле CSV может быть только один файл, хотя иногда интеграция на основе файлов требует объединения элементов из нескольких файлов. Они называются «плоскими» файлами, в которых одна запись определяется в нескольких строках.
CSV используются для хранения табличных данных. Это означает, что их можно импортировать и экспортировать из программ, которые хранят данные в таблицах, таких как Microsoft Excel или другое программное обеспечение для работы с электронными таблицами, чтобы преобразовать их в удобочитаемый формат. Однако важно отметить, что файлы CSV не могут включать формулы или какие-либо функции форматирования, предоставляемые листами Excel. Если вы сохраните документ Excel в формате CSV, все лишнее будет удалено.
Продавцы десятилетиями успешно использовали интеграцию CSV-файлов для перемещения данных между системами по разным причинам. Однако за последние 10–15 лет API-интерфейсы стали более «современным» способом взаимодействия или интеграции двух систем друг с другом. Какая разница?
Интеграция API и подход к интеграции CSV
API (интерфейс прикладных программ) — это набор кода, который позволяет двум программам взаимодействовать друг с другом. API программного обеспечения определяет стандартный и предсказуемый способ написания разработчиком программы, запрашивающей услуги из другой системы или приложения.
API REST (Representational State Transfer) принимает HTTP-запросы на GET, PUT, POST или DELETE данные. REST представляет собой архитектурный стиль и подход к общению, используемые в большинстве современных веб-сервисов. Поэтому он часто используется для создания API-интерфейсов, позволяющих пользователям подключаться к облачным службам и взаимодействовать с ними.
SOAP (простой протокол доступа к объектам) — это еще один протокол, используемый для разработки API. Он менее распространен в новых API, чем REST, но выполняет в основном то же самое.
Интеграция API позволяет соединить две системы, интерпретируя и переводя данные между двумя системами через их API. Он обеспечивает такие потоки данных, как «GET Product» от известной конечной точки API в ERP и «PUT Product» в известную конечную точку API на платформе электронной коммерции.
Хотя интеграция API является более современным подходом, это не всегда правильное решение (или возможное) для продавцов, желающих интегрировать свои системы. Вот подробный обзор того, почему интеграция на основе файлов может быть лучше, чем интеграция API.
Почему интеграция на основе файлов может быть лучше, чем интеграция через API
Существуют сценарии, в которых интеграция CSV может быть наиболее целесообразной для вашего бизнеса. Ниже приведены некоторые из основных преимуществ такого подхода к системной интеграции.
Сохраняйте и подключайте системы без API
Не все программные системы имеют доступные API для интеграции. Это часто имеет место для более старого «устаревшего» программного обеспечения, но даже для современных систем, таких как платформа электронной коммерции Salesforce Commerce Cloud (Demandware). Интеграция с этими системами должна выполняться без использования API, а это означает, что лучшим вариантом может быть интеграция на основе файлов.
Большинство систем, по крайней мере, принимают CSV через процесс ручного импорта, независимо от возраста программного обеспечения. Некоторые (опять же, например, Salesforce Commerce Cloud) предлагают возможность автоматизировать импорт CSV, указав на SFTP-сервер.
Важно отметить, что многие продавцы будут использовать этот подход к интеграции вместо того, чтобы браться за иногда дорогостоящие проекты по обновлению или замене этих систем без API.
Непатентованный
Файлы CSV не являются собственностью какого-либо конкретного поставщика программного обеспечения. Создание и совместное использование CSV — это общий способ обработки данных. Это позволяет легко взаимодействовать с ними и делиться ими между людьми и системами. Вы можете создавать файлы CSV, используя Excel или другое программное обеспечение для работы с электронными таблицами, и большинству людей удобно работать с ними таким образом. Независимо от того, какое программное обеспечение вы используете, возможность импорта и экспорта CSV-файла не является уникальной для этого программного обеспечения или торговой марки.
Легче создавать файлы
Поскольку файлы CSV представляют собой текстовые файлы, веб-разработчику или другим членам вашей команды будет проще создавать, просматривать и проверять данные в виде электронной таблицы. Все, что вам нужно, это строка заголовка вверху и последующие строки данных. Вы сможете манипулировать данными, чтобы упорядочить их по своему усмотрению. Затем легко обмениваться этими данными между различными системами.
Между данными нет иерархической связи, если только вы не представляете эту иерархию искусственно с помощью нескольких CSV-файлов. Если вам нужно это сделать, это усложнит интеграцию на основе CSV.
Типичными примерами CSV-файлов, которые могут создать продавцы, являются прейскуранты, списки клиентов, данные о продуктах, данные о заказах и скидках, которыми они обмениваются между своей системой электронной коммерции и ERP или POS-системой.
Стандартная связь между несколькими источниками
Файлы CSV также являются стандартным способом передачи данных, что делает их отличным инструментом для сбора и компиляции данных из нескольких источников или систем. Хотя формат данных (какие столбцы в каком порядке), вероятно, будет различаться, CSV — это хорошо зарекомендовавший себя, почти повсеместно поддерживаемый тип файла.
Например, вы можете собрать каталоги товаров от нескольких разных поставщиков. Независимо от того, какую систему они используют для управления данными о своих продуктах, они должны иметь возможность экспортировать CSV со всеми данными о своих продуктах. Затем вы можете взять и импортировать этот CSV в свою систему. Вам не нужно беспокоиться о непосредственной интеграции в их систему. Возможно, у вас даже не будет прямой интеграции с API из соображений безопасности или других соображений.
Ограничения файловой интеграции
У этого подхода к интеграции есть недостатки, которые следует учитывать, особенно при сравнении этого подхода с альтернативой, такой как интеграция на основе API.
Обязанности по безопасности
При автоматизации передачи файлов CSV вы, по сути, отправляете файл на сервер, который затем подхватывается другой системой. Кто обслуживает серверы? Как вы обеспечиваете безопасность своих данных на протяжении всего этого процесса?
Интеграция на основе файлов требует от продавцов другого взгляда на безопасность. Хотя вы хотите, чтобы ваши данные были в безопасности во время передачи, вы также не можете сделать доступ слишком сложным. В противном случае будет очень сложно взаимодействовать с другими бизнес-системами. Вы несете ответственность за то, чтобы найти этот баланс и убедиться, что все люди (и не более того) могут получить доступ к этим файлам по мере необходимости.
Пакетная синхронизация
При интеграции систем большинству продавцов требуется синхронизация данных между системами в режиме реального времени или мгновенно.
Это было бы особенно важно для данных, таких как товары электронной коммерции с быстро меняющимся наличием запасов или заказы, которые должны быть выполнены для двухдневной доставки. Как только заказ размещен онлайн, вы хотите уменьшить количество запасов по всем каналам продаж и начать обработку заказа. Задержки в этой синхронизации, даже всего 30 минут, могут привести к перепроданности в периоды пиковых продаж, таких как мгновенные распродажи или праздники. Они также могут замедлить выполнение заказа, из-за чего вы пропустите гарантированные даты доставки. Ваш клиент страдает от последствий.
Большинство интеграций файлов CSV по умолчанию не могут синхронизироваться мгновенно. Это связано с тем, что на самом деле невозможно постоянно записывать новые строки в CSV, в то время как какая-то другая система постоянно читает новые строки из CSV. Вы должны написать кучу строк в файл, отбросить этот файл, чтобы его взяли, а затем запустить новый файл.
Это означает, что независимо от того, являются ли ваши правила для запуска нового файла «количество строк» или «период времени», в процессе будет какая-то задержка.
Подумайте об интеграции CSV-файлов с другой точки зрения: вам не доставляют почту по запросу, поскольку она приходит так же, как и электронная почта. Раз в день вы получаете потенциально пачку писем, и отправляете их тоже пачкой.
Обработка сложных структур данных
Хотя плоская файловая структура CSV может быть преимуществом, она также может быть и недостатком. Данные CSV по своей структуре не являются иерархическими и объектно-ориентированными, то есть они имеют повсеместную структуру. Для некоторых продавцов это проблема, когда у вас есть несколько уровней данных, которые связаны друг с другом. Подумайте о том, как вам нужно будет представлять заказы с несколькими позициями или продуктом, который поставляется в нескольких размерах или цветах.
В конечном итоге вы создадите несколько файлов CSV, чтобы попытаться представить эту связь между вашими данными. Может быть сложно пытаться управлять и систематизировать большие наборы данных.
Проверка данных
Важным шагом в системной интеграции является проверка данных, которые вы передаете. Вы не хотите отправлять неточные или неверные данные в другую систему, тем более что это может привести к «недопустимым» ошибкам. Благодаря интеграции файлов CSV проверка данных выполняется пользователями вручную.
Когда вы имеете дело с несколькими файлами CSV с сотнями строк данных, проверкой становится трудно управлять. Вы не сможете просто «увидеть», что все выглядит хорошо для отправки. Вместо этого пользователи будут полагаться на формулы или макросы, написанные в Excel, чтобы выделить ячейки, если они неверны. Затем вам нужно войти вручную, чтобы исправить любые ошибки. Этот процесс занимает много времени и дает сбои при просмотре больших объемов данных.
В некоторых случаях система, в которую вы загружаете данные CSV, может обеспечивать проверку данных в импортированном CSV, но это также имеет недостатки. Существование и надежность этих функций несовместимы между платформами. И часто они плохо управляют транзакцией импорта в случае сбоя. Это может означать, что если одна строка из 100 000 будет неверной, весь импорт может завершиться ошибкой.
Восстановление после ошибок во время передачи данных
Интеграция CSV-файлов основана на удалении и получении файлов на серверах. На протяжении всего этого процесса многое может пойти не так, например, файл может быть поврежден или сервер или файловая система не работают. Также обычно не выполняются проверки на недопустимые символы, отсутствующие описания данных или другие проблемы с содержимым файла. Что происходит, когда вы отправляете файл с такими проблемами? Как вы планируете это исправить?
Управление вычислительными ресурсами для обработки данных
В зависимости от того, как написан код для интеграции ваших систем, интеграция на основе файлов может потребовать много ресурсов ЦП и ОЗУ для чтения больших наборов данных из нескольких файлов.
Проблемы с кодировкой символов
Каждая система имеет собственное значение по умолчанию для кодировки символов, например UTF-8. При совместном использовании текстовых файлов (например, CSV) продавцы должны учитывать, что в файлах должны использоваться одни и те же символы кодировки. В противном случае один из ваших CSV-файлов может быть отклонен или данные могут оказаться неверными, поскольку система не может правильно прочитать ваши символы. Например, система назначения может быть не в состоянии прочитать специальные апострофы или символы для азиатских языков.
Узнайте больше об интеграции CSV
У продавцов есть варианты, когда дело доходит до интеграции их систем. И для многих файловая интеграция через CSV может быть правильным вариантом. Однако этот подход к интеграции не лишен недостатков, которые следует учитывать.
Если вам интересно узнать больше о том, как автоматизировать свой бизнес с помощью интеграции на основе файлов, узнайте больше о решении nChannel для передачи файлов, которое создано для непосредственного решения всех проблем, описанных в этом документе.