Консолидация данных для создания единой базы продукции Schneider Electric для рынка стран СНГ

 
 
 
 
 
 
 

Задача:

Создание единой базы продукции компании Schneider Electric для рынка СНГ и разработка интерфейса доступа к ней для партнеров.

Подробнее  
 
 

Что мы разработали:

  • Консолидация и обработка данных из различных источников (Глобальная база данных (Франция), база по хранению файлов каталогов, SAP сервис компании, CSV/XLS-загрузки);
  • Интеграция базы с дистрибьютерами;
  • Категоризация продукции с помощью ЕТИМ-формата;
  • Разработка документированного API-интерфейса для доступа к единой базе;
  • Создание обучающего материала для интеграции с сервисом;
  • Сервис авторизации к данным по ключу;
  • Статистика по скаченным данным из единой базы.

Продукция компании Schneider Electric насчитывает более 100 линеек продуктов, более 500 категорий и более 50 000 наименований, сведения о них хранятся в 7 различных системах, разбросанных по всему миру.

Принципиальная схема сбора данных

Основные проблемы, с которыми сталкиваются партнеры Schneider Electric, пытаясь найти информацию по продукции:

  • Нет централизованной базы данных;
  • Изображения, описание и характеристики хранятся вразныхбазах;
  • Доступ к базам ограничен для партнеров;
  • Нет единого API для доступа;
  • Нет возможности интеграции со своими сервисами;
 

Schneider Electric обратился к нам за помощью в создании единой базы данных, которая бы содержала сведения о всех 50 000 наименованиях продукции:

  1. Референс/артикул;
  2. Техническое описание;
  3. Категория;
  4. Изображение товара;
  5. CAD-Чертежи;
  6. Сопроводительная документация/Сертификаты;
  7. Каталоги и проч информация;
  8. Логистическая информация - наличие на складах и количество.

И разработать механизм для доступа к ней партнеров и поставщиков.

Разработка архитектуры

Описываем процесс. Единую базу, объединяющую множество источников данных мы называем OPS. API - это машинный интерфейс, с помощью него взаимодействуют серверы баз данных.

Схема работы сервиса

Готовим взаимодействие с донорами информации:

  • Парсинг по планировщику из европейских баз данных (Global OPS, Ecat и проч);
  • Выгрузка из SAP логистических данных;
  • Загрузка информации из файлов CSV и XLS;
  • Загрузка классификаторов ETIM;
  • Соотнесение ETIM*-кодов с имеющимися товарами;
    *ETIM - международный стандарт описания электротехнических товаров. На данный момент актуальны 5-я и 6-я редакции.
Принцип наполнения карточки товара

Программирование. Открытый API. Подводные камни.

Подобные проекты очень интересны для наших программистов:

  • сложные взаимодействия с многими источниками данных,
  • разработка собственного API для доступа партнеров,
  • генерация карточек товаров с соотнесением различного типа информации,
  • загрузки сопроводительных файлов (изображения, сертификаты, pdf-брошюры, CAD-чертежи).

Основная задача сервиса - предоставление полной информации для партнеров.Разрабатываем API для взаимодействия с нашей системой. Дадим партнерам выбор: реализуем два метода запросов XML и JSON.

Взаимодействие с базой
Примеры запросов JSON и XML

Сталкиваемся с нетривиальными проблемами:

  1. Сервис Global OPS падает при массированном парсинге;
  2. Выгрузки из SAP- кривые;
  3. Загрузка из файлов - файлы разные, дублирование информации.

Разрабатываем следующие решения:

  1. Делаем сбор данных “порционный” - за один запрос забираем по 100-500 записей, это позволяет избежать обрыва соединения;
  2. Наши программисты разобрались с проблемой, написав дополнительный обработчик выгрузок из SAP;
  3. Разрабатываем уникальные метки для артикулов, дубли удаляем.

Обновление

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

Алгоритм проверки и загрузки данных
Запуск. Тесты нагрузки

Сервисы Баз данных, ориентированные на одновременное подключение должны выдерживать огромные нагрузки при многотысячных подключениях и выгрузках. Администратор отлаживает систему:

Администратор отлаживает систему Проводит нагрузочные тесты: на подключения, на выгрузку, на пропускную способность канала
Документация API OPS

Для подобных сервисов, ориентированных на пользование партнерами, важно предоставлять подробную и понятную документацию.
Для этого описываем каждую команду с примерами запросов:

Пример подробной документации

Мы не просто написали подробную документацию, но пошли дальше и разработали понятные how-to для быстрого старта работы с нашим сервисом. Прочитав, такой документ, даже неопытный программист сможет быстро интегрировать мощь сервиса Schneider Electric в свой интернет-магазин либо он-лайн каталог. Приведены примеры для самых типовых задач, таких как:

  • Как загрузить товары из каталога Шнейдер Электрик на сайт?
  • Загрузка товаров (описание - наименование и свойств)
  • Загрузка изображений к товарам
  • Загрузка архива изображений
  • Загрузка документов по товарам
  • Загрузка архива документов
  • Обновления товаров / изображений / документов
Пример how-to документации

Разработка веб-сервиса для выгрузки данных.

С помощью базы данных API OPS партнеры Schneider Electric могут легко наполнить свои сервисы, такие как интернет-магазины, каталоги, приложения для проектировщиков, актуальной и расширенной информацией по продуктам Schneider Electric. Но не все партнеры компании стремятся наполнить свои сервисы. Некоторым нужна информация по конкретным ререференсам (артикулам).
Для удобства мы разработали веб-сервис, где партнер, иемя ключ, может легко получить сведения по необходимым продуктам, а также выгрзуить их в любом удобном формате - PDF, XLS, XML.

Страница для выгрузки

Информация - ключ бизнеса. Вместо итога.

Данный сервис не имеет аналогов у конкурентов Schneider Electric. Это дает серьезное бизнес-преимущество. Партнеры легко получают информацию и интегрируют API OPS в свои порталы, интернет-магазины, каталоги. С подобным подходом легче представлять оборудование, легче продавать, легче пользоваться.

Посмотрите еще один короткий кейс

Подписаться на обновления

Нам будет приятно, если вы захотите подписаться на обновления наших проектов
Теперь вы подписаны на обновления кейсов.