|
Проблемы интеграции данных в проектеЛюбой информационный продукт глобально несет в себе общую цель — работать с информацией. Под этим подразумевается как изучение информации и применение ее где-либо, так и хранение, накопление, удаление, редактирование и т.д. Если рассматривать процесс накопления информации в каком-либо информационном проекте, то сама информация вносится либо вручную, путем заполнения форм пользователями, либо с помощью интеграции с другими системами. ПроблемыИнтеграция данных включает объединение данных, находящихся в различных источниках и предоставление данных пользователям в унифицированном виде. Зачастую нашим заказчикам интеграция нужна для того, чтобы переносить данные из одной системы в другую для постоянного обмена между несколькими информационными системами. Такое использование интеграции порождает различного рода проблемы, вот некоторые их них.
Высокая пиковая нагрузка на серверЧасто в интернет-магазинах используются интеграции для обмена данными, например по каталогу, по ценам, по остаткам и т.д. Такие обмены настраиваются как правило с определенной периодичностью, для того чтобы на сайте была всегда актуальная информация по тому или иному товару.
Если записей немного, нагрузка на сервер низкая, а сам обмен происходит быстро, но если в каталоге несколько тысяч наименований, то такие интеграции расходуют огромный объем операционной памяти, и время такого обмена занимает уже десятки минут или даже часов. То есть сервер работает под существенной нагрузкой почти постоянно, осуществляя обмен данными.
Не существует «универсальной» интеграцииМногие разработчики программного обеспечения, веб-сервисов заявляют о том, что их информационная система обладает универсальным модулем для интеграции данных из их системы в другие. На самом деле слово «универсальная» читается как «у нас есть определенный „стандарт“, к которому можно подстроиться, при разработке своего ресурса». Нужно понимать, что этот «универсальный» формат выгрузки может отличаться у разных клиентов, и маловероятно, что можно использовать один и тот же программный код без какой либо доработки. Использование «неправильного» формата для интеграции данныхИдеальный вариант это наличие API (то есть программного интерфейса по которому можно взаимодействовать со сторонней системой), а что делать если его нет? Мы обычно используем выгрузку данных в файл какого-либо типа. Проблема может возникнуть из-за неопытности разработчика или из-за недостатков ПО, с помощью которого он пытается обработать файл для интеграции данных в систему. Если сторонняя система позволяет выгружать данные в разные типы файлов, то важно подобрать необходимый тип файла, исходя из нескольких критериев, например сколько информации для интеграции содержится в файле. Данную ошибку можно избежать только после получения опыта работы с большими файлами разных типов. Постоянная доработка формата данных для интеграции данныхЭта встречается достаточно редко. Она возникает, если неожиданно меняется формат, структура данных для выгрузки, а обработчик этих данных на стороне приема не способен обработать новый формат корректно. Помогает справится доработка программного кода модуля обработки интегрируемых данных.
Необходимость оптимизации выгрузки данных по мере роста интегрируемых данныхПроблема возникает в проектах, где часто происходит выгрузка большого объема данных, который увеличивается со временем, например расширяется ассортиментный ряд у продавца, а разработать сразу без «узких мест» программный код не всегда удается.
Специфические особенности интеграцииПод понятием специфические особенности интеграции понимается то, что у каждой интеграции у какой-либо информационной системы могут быть свои нюансы: лимиты по запросам в минуту, ограничения на бесплатные запросы и т.д. Разработчик должен учитывать эти факторы, чтобы не попасть в такую ситуацию, что интеграция будет прерываться, как только заявленный лимит превышен, что приведет к ошибкам при интеграции. Чтобы обходить эти ограничения, разработчикам часто приходится придумывать различные приемы: регистрировать разные аккаунты, делать паузы во время работы скрипта, делать отложенное выполнения различных задач и много другое.
Проблема с документаций по интеграцииНаверное, каждый из разработчиков, который хоть раз разрабатывал функционал для интеграции данных из другого ресурса, сталкивался с тем, что документация, которая описывает интеграцию неудобная, или не полностью раскрывает весь функционал, либо вообще ее нет. Данная проблема напрямую влияет на время разработки функционала для интеграции данных.
В данном списке описаны только основные трудности, которые могут возникнуть на пути разработчика ПО во время внедрения интеграции в свой проект. Какой можно сделать вывод из всего этого, использовать интеграции в своем проекте или нет? Каждый решает сам, но чаще всего без интеграции не обойтись, так как не всегда нужно изобретать и делать заново, то, что уже существует и работает. Сформулируем несколько советов по использованию интеграций в своем проекте. Немного советовНужно подходить к выбору интеграции осознано, взвешивая все противоречия, ведь если подобрать подходящее ПО, с которым достаточно просто, и быстро обмениваться нужные данные, то и время на разработку функционала для обработки данной интеграции будет затрачено меньше, и работать она будет лучше. Использовать в своем проекте как можно меньше интеграций. Использование нескольких интеграций может серьезно усложнить как процесс разработки, так и работу готового проекта. Кроме того, если в сторонних информационных системах будут обновления, то возможно понадобится дорабатывать и свой проект тоже, а чем больше интеграций тем выше вероятность этого. |