+7 (921) 923-54-55
Михаил Краснощеков   /   Статьи   /   Создание сайтов   /   Подключение сторонних систем

Подключение сторонних систем

Вернуться назад

Необходимость подключения сторонних сайтов возникает как правило в следующих случаях:

  • необходимость использования качественного готового решения для экономии времени на разработку собственных решений
  • получение дополнительной информации от поставщиков информации

Использование готовых решений

В каких же случаях Вам может понадобится использование готовых решений?

Например, для решения следующих задач:

  • определение региона пользователя по ip-адресу
  • использование сервиса онлайн и оффлайн общения
  • формирование карты объектов
  • подключение платежных систем

Преимущества готовых решений очевидны:

  • отсутствие времени на разработку;
  • экономия средств на разработку;
  • быстрый запуск

Недостатки готовых решений:

  • невозможность вносить корректировки в работу систем (использование «как есть»)
  • зависимость  от работоспособности сторонних сервисов

Поэтому при реализации взаимодействия постарайтесь избегать зависимости работоспособности Вашего сайта от сторонних сайтов.

 

Получение дополнительной информации от поставщиков

Независимо от того, какой именно контент Вам необходим как правило у поставщиков существует реализация нескольких механизмов:

  • Использование XML-формата для передачи данных
  • Использование JSON-формата для передачи данных

JSON - формат более компактный и поэтому размер передаваемых файлов меньше.

Передача данных осуществляется в основном через http или https протокол, т.е. методом простых запросов GET или POST.

Помимо этого некоторые поставщики предоставляют доступ к статичным файлам информации, которая не так часто меняется и не требует динамических обновлений.

Для реализации взаимодействия Вам конечно же потребуется получить от поставщика документацию с описанием правил взаимодействия с их системой. И вот тут возникают пожалуй самые технически важные моменты. Как бы красиво поставщик не описывал имеющиеся протоколы и информацию на деле зачастую оказывается все не так красиво и просто. Во-первых, в некоторых случаях невозможно получить только часть необходимой Вам информации, т.е. фильтрация данных невозможна на стороне сервера. Во-вторых, не всегда можно отсортировать или ограничить размеры данных.  Поэтому обязательно внимательно ознакомьтесь с документацией на предмет возможности решения задач, которые стоят на этапе взаимодействия.

Пример. Например, у вас есть сайт занимающийся бронированием отелей по всему миру (типа booking.com)  и у вас есть поставщики, которые предоставляют вам хорошие цены по своим каналам. А теперь представьте, что Вам необходимо запросить у этих поставщиков цены на все 5 звездочные отели, находящиеся в определенном регионе и получить только 10 штук из них.. А система например не позволяет Вам получить только 5 звездочные отели, т.о. вы вынуждены будете получить все отели (много лишней передаваемой информации), потом отфильтровать её на своей стороне (на это уйдет время на генерацию) и после этого выдать клиенту лишь 10 первых.

Как правило поставщики контента также умалчивают о скорости взаимодействия с их системами и о бесперебойности работы их серверов. Т.о. на деле оказывается, что сложные поисковые запросы могут выполняться не 1 секунду как Вам хотелось бы, а 7-10 секунд. И, к сожалению, от использования медленных систем часто приходится отказываться уже после реализации взаимодействия.  Поэтому обязательно после получения документации проводите нагрузочное тестирование каналов связи.

Непостоянная работа внешних сервисов

Кроме этого не стоит забывать и о возможной непостоянной работе сервисов, на которые Вы повлиять не можете. Поэтому по возможности кэшируйте необходимую информацию, чтобы лишний раз не обращаться к сервисам. Это также позволит сократить время на генерацию контента для пользователей, что всегда положительно сказывается на клиентах, которые любят и ценят скорость.

Мультиязычность информации поставщиков

К сожалению далеко не все поставщики предоставляют информацию на нескольких языках или делают это крайне неактивно. Поэтому занимаясь интеграцией – убедитесь, что перед Вами не будет стоять проблема перевода контента информации поставщика.

Качество контента информации поставщиков

Часто уже после интеграции сервиса и начале реального взаимодействия с системой выясняется что информация, которую предоставляет поставщик оказывается недостаточно достоверной или устаревшей. Будьте готовы, что для наличия максимально качественного контента Вам придется организовать работу по его формированию, а она естественно может стоить дорого, так как потребуется привлечение копирайтеров, дизайнеров и прочих специалистов.

Ресурсы Вашего сервера

Стоить отметить также и необходимость наличия серверных ресурсов у вас для решения сложных задач и работы с большими объемами данных.

Пример. Увас есть поставщик, который может предоставить Вам достаточно большую статическую базу (например 1млн объектов). Вы должны понимать что эту базу данных необходимо будет хранить и выполнять запросы к этой базе данных

Поэтому мощности Вашего сервера должны соответствовать размерам информации которую вы собираетесь хранить и перерабатывать.

Интеграция нескольких поставщиков в единую базу данных

Если же перед Вами возникла задача интеграции нескольких «схожих» информационных баз данных Вы должны не только убедиться в том, что эти системы совместимы, но и часто приходится решать как и по каким критериям будет проходить совмещение систем.

Пример. У вас есть поставщик А со списком продуктов и поставщик Б со списков продуктов. Несмотря на то, что поставщик А и поставщик Б продают схожий товар – наименования товаров у каждого свои. Например, у одного поставщика «Монитор Samsung 19”», а у другого «Плазменная панель Samsung 19”» при этом модель товара совпадает. Т.о. необходимо чтобы Ваша система могла распознавать что это один и тот же товар и не выдавать дублей. Сделать это можно например по артикулам товаров или по модели товара если такая присутствует .

Таким образом, перед решением вопроса использования нескольких систем убедитесь в их совместимости и возможности смешивания контента. В противном случае Вы можете столкнуться с проблемами уже после интеграции с обеими системами.