Андрей Богомолов Автоматизация дистрибуции информации о наличии и цене товара для различных каналов генерации лидов в сегменте B2C
Upcoming SlideShare
Loading in...5
×
 

Андрей Богомолов Автоматизация дистрибуции информации о наличии и цене товара для различных каналов генерации лидов в сегменте B2C

on

  • 958 views

Андрей Богомолов Автоматизация дистрибуции информации о наличии и цене товара для различных каналов ...

Андрей Богомолов Автоматизация дистрибуции информации о наличии и цене товара для различных каналов генерации лидов в сегменте B2C

Statistics

Views

Total Views
958
Views on SlideShare
930
Embed Views
28

Actions

Likes
0
Downloads
1
Comments
0

1 Embed 28

http://it-job.by 28

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Андрей Богомолов Автоматизация дистрибуции информации о наличии и цене товара для различных каналов генерации лидов в сегменте B2C Андрей Богомолов Автоматизация дистрибуции информации о наличии и цене товара для различных каналов генерации лидов в сегменте B2C Presentation Transcript

  • Автоматизация дистрибуции информациио наличии и цене товарадля различных каналов генерации лидовв сегменте B2C Андрей Богомолов, основатель проекта ERPVault.com Андрей Коротких, PI-consult.by, ведущий разработчик sales@erpvault.com Минск, 2011
  • БИЗНЕС-ЗАДАЧИ обеспечить масштабируемость доставки информации о наличии, цене и характеристиках товара; обеспечить своевременность, точность, полноту, различное представление информации; SLA 99.9%, 4 ч., 24/7/365
  • КАНАЛЫ ГЕНЕРАЦИИ ЛИДОВ|| требования к масштабируемости веб сайт компании; веб сайты дочерних компаний (до 8); поисковые системы на порталах рекламных партнеров (до 64); веб-сайты компаний-партнеров с самостоятельным формированием цены, сроков поставки и ассортимента по условным группам (до 64); мобильное приложение Android; мобильное приложение iOS; online API для настольных систем дилеров.
  • ДОП. ТЕХНИЧЕСКИЕ ТРЕБОВАНИЯ Время обновления информации <60 минут Период обновления: 2 раза / 24 ч Ассортимент: ~200 тыс. наименований товара Количество запросов: 2*10^6 / 24ч, Uniform Distribution Исполнение запроса: 0.1-4 с
  • ДАНОклассическая распределенная система=> наследует общепринятые требования по: performance, scalability, simplicity, modifiability, visibility, portability, reliability
  • ТЕХНИЧЕСКИЕ ЦЕЛИ Scalability of component interactions Generality of interfaces Independent deployment of components Intermediary components to reduce latency, enforce security and encapsulate legacy systems
  • АРХИТЕКТУРА РЕАЛИЗАЦИИSOAvsClient/ServervsПакетный обмен
  • ВЫБОР ПРОТОКОЛОВ ВЗАИМОДЕЙСТВИЯ SOAP? CORBA? COM/DCOM? ReST (Representational State Transfer)? ???
  • СВОЙСТВА ReST Client–server Stateless Cacheable Layered system Uniform interface HTTP-based
  • ПРИНЦИПЫ ПОСТРОЕНИЯ ИНТЕРФЕЙСА Идентификация ресурсов Управление ресурсами через представление Self-descriptive сообщения Hypermedia как "движок" стостояний
  • RESTful Web Service HTTP методы POST GET PUT DELETE???
  • ОБМЕН ДАННЫМИ XML JSON Google Protocol Buffers TXT/CSV XHTML???
  • ТЕХНИЧЕСКАЯ РЕАЛИЗАЦИЯ LAMPvs J2EE???
  • ПРИМЕР ВНЕДРЕНИЯ: Моторлэнд веб сайт компании, веб сайты дочерних компаний – автоматическая и ручная репликация из ERP системы с различными параметрами по ассортименту, формированию цен, расположению товара; поисковые системы на порталах рекламных партнеров, веб-сайты компаний партнеров с самостоятельным формированием цены, сроков поставки и ассортимента по условным группам – виджеты с авторизацией и настройками для каждого из партнеров (ассортимент, цены, доставка и т.д.); мобильное приложение Android, мобильное приложение iOS – отображение информации через точку входа для мобильных устройств; online API для настольных систем дилеров – запрос к специальной точке доступа при помощи POST и GET, получение результата в удобном виде (XML, CSV, текст и т.д.).
  • Примеры запросовВсе необходимые методы для отображенияформы поиска, отправки запросов, получениярезультатов,находятся в подключаемом JavaScript-классеAPI.Используется механизм AJAX, которыйотправляет данные поисковой формы методомGET и получает данные в виде JSON. Этиданные обрабатываются и отображаютсяклиенту в виде HTML.
  • Примеры запросовФункция JavaScript для отправки данных поисковой формы и обработки результатов:this.submit = function() {// Получение данных формыvar myargs = this.getFormData( erpvault_ucp_searchform );// Инициализация класса JsHttpRequest для отправки AJAX запросаvar req = new JsHttpRequest();// Функция для обработки результатовreq.onreadystatechange = function() {if ( req.readyState == 4 ) {// Обработка ошибок и вывод результатов// …}}// Отправка запросаreq.open( GET, this.url, true );req.send( myargs );}
  • Примеры передачи данныхДанные отправляется методом GET, массив имеет вид:Array( [auto_brand] => 6 [auto_model] => 160 [part_type] => 5...)Заданы параметры для поиска запчастей по марке, модели и названию запчасти (индексы берутся из элементовSELECT поисковой формы).
  • Примеры ответовДанные ответов генерируются на серверных компонентах системы дистрибуции контента (PHP).В соответствии с полученными параметрами делается выборка из базы данных MySQL, полученные данныеобрабатываются, преобразуются в JSON и передаются во Frontend.Пример кода PHP (утрировано для облегчения восприятия):// Инициализация класса JsHttpRequest$JsHttpRequest = new JsHttpRequest( );// Обработка параметров GET, идентификация партнера, получение параметров…// Запрос к БД$sql = "SELECT parts.* FROM parts WHERE true";$sql .= " AND auto_brand =".$db->escape( $_GET[auto_brand] ).";$sql .= " AND auto_model =".$db->escape( $_GET[auto_model] ).";$sql .= " AND part_type =".$db->escape( $_GET[part_type] ).";if ( $tbl = $db -> Exec ( $sql ) )while ( $res = $tbl -> FetchAssoc() ) {// Обработка данных// ..}}// Преобразование результатов в JSON и отправка во Frontend//..На выходе мы имеем данные в формате JSON, которые класс JavaScript получает, обрабатывает и выводитклиенту.
  • ПРИМЕР ИМПЛЕМЕНТАЦИИ: виджет Для вызова виджета используется JavaScript-код на странице клиента. Также можно задать индивидуальные CSS-стили для отображения формы поиска и результатов и элемент HTML, в котором будет отображаться содержимое виджета. При вызове виджета можно указать уникальный ключ идентификации партнера, кодировку для генерации контента и т.д.
  • ПРИМЕР ИМПЛЕМЕНТАЦИИ: виджет Для вызова виджета используется JavaScript-код на странице клиента. Также можно задать индивидуальные CSS-стили для отображения формы поиска и результатов и элемент HTML, в котором будет отображаться содержимое виджета. При вызове виджета можно указать уникальный ключ идентификации партнера, кодировку для генерации контента и т.д.
  • ПРИМЕР ИМПЛЕМЕНТАЦИИ: виджет<style>.erpvault_ucp_hidden{ display: none; }.erpvault_ucp_parts_title{ margin: 0px 0px 15px 0px; }.erpvault_ucp_searchform_table{ background-color: #deebfb; }.erpvault_ucp_searchform_td1{ padding: 5px; }.erpvault_ucp_searchform_td2{ padding: 5px; }.erpvault_ucp_searchform_footer{ padding: 5px; }.erpvault_ucp_searchform_submit{ font-size: 12px; }.erpvault_ucp_searchform_cancel{ font-size: 12px; }.erpvault_ucp_search_results_div{ margin: 15px 0px 20px 0px; }.erpvault_ucp_err{ color: red;}.erpvault_ucp_parts_table{ width: 100%; border-collapse: collapse; }.erpvault_ucp_parts_th{ border: 1px solid #dddddd; padding: 2px; background-color: #f2f2f2; }.erpvault_ucp_parts_td{ border: 1px solid #dddddd; padding: 2px; }.erpvault_ucp_loading_img { margin: 0px 3px 0px 3px; vertical-align: middle; }.erpvault_ucp_footer { margin: 15px 0px 15px 0px; color: #666666; }</style><div id="erpvaultUcpSearchDiv"></div><script language="JavaScript" src="http://www.motorland.by/search_api/" type="text/javascript"></script>
  • Примеры GUI
  • Примеры GUI
  • Примеры каталога уникальных URL
  • Примеры каталога уникальных URL
  • ПРИМЕР МОБИЛЬНОГО ПРИЛОЖЕНИЯПлатформа: AndroidMotorland – мобильное приложениедля поиска автозапчастей и двигателей б/у Актуальная информация о наличии и цене Более 180 000 ассортиментных позиций в наличии на складах в г. Минске и в товаропроводящей сети в Республике Беларусь Ассортимент обновляется 2 раза в день из системы планирования ресурсов предприятия ERPVault™Функциональные возможности: Поиск запчастей Публичный стол заказов Запрос в стол заказов Где купить? – Интерактивная карта
  • Технические особенностиИнтерфейсы приложения оптимизированы для работы на современныхмобильных устройствах на базе ОС Android версии 1.6 с HVGA (320x480),что позволяет охватить наибольшее количество пользователейВозможна работа приложения с другими версиями ОС Android (1.5+) ираспространенными разрешениями экрана с оптической плотностью ldpi(120), mdpi (160), hdpi (240)Размещение элементов управления, скорость обработки и представлениеинформации позволяет за минимальное время получать необходимуюинформацию о наличии и цене автозапчастей б/у, интерактивно устранятьинформационную асимметрию, исторически обусловленную свойствамитовара и обычаями делового оборота в данном сегменте рынкаПрименяется эффективная технология обмена данныхСерверная часть приложения позволяет держать высокую нагрузку,построена на собственной архитектуре "облачных" вычисленийПриложение использует такие технологические особенности мобильныхустройств, как: сенсорный дисплей, GPS-приемникТщательно тестировано и рекомендовано для работы в 3G|3G+ сетях Velcom
  • ПРИЛОЖЕНИЕ В РАБОТЕ
  • Результаты поиска Показываются только запчасти в наличии Подробные сведения о запчасти Цена (при наличии >5 единиц) Прямой телефон продавца Возможность сделать звонок прямо из приложения при нажатии на номер телефона Удобный скроллинг списка, ориентированный на возможности сенсорного экрана Удобная навигация для частого и быстрого использования
  • ПРИМЕРМОБИЛЬНОГО ПРИЛОЖЕНИЯ iOS
  • ЭКОНОМИЧЕСКИЙ ЭФФЕКТ увеличение количества лидов с 2 тыс. до 30-100 тыс. /24 часа AVG Цена 1 лида < 0.005$ при стоимости высокочастотной контекстной рекламы в yandex > 0.1$ отсутствие роста постоянных затрат, связанных с поддержкой инфраструктуры и персоналом
  • TODO Уровень универсальной абстракции дескрипторов товара Возможность масштабируемой записи, не только получение контента Встроенные средства для SEO и интернет-маркетинга
  • ВОПРОСЫ?
  • СПАСИБО ЗА ВНИМАНИЕ