В настоящей работе рассматриваются две темы, связанные с интернет-продажами. Прежде всего, это интеграция и миграция данных, без чего в настоящее время невозможно осуществлять работу с интернет-ресурсами. Кроме того, это передача данных на различные устройства или на сервер, перенос данных при обновлении приложения, распечатывание как перевод на бумажный носитель и т. д. Следует отметить, что перенос миллионов единиц данных в иную систему не является тривиальной операцией, выполняемой по типу «Копировать»-«Вставить». Недооценка особенностей этого может привести к дополнительным расходам и потере времени [1].
Миграцией данных называют перенос различных объёмов данных с места на место. Процесс перемещения может быть весьма сложным процессом и включать в себя множество подготовительных и пост-миграционных операций, таких как планирование, создание резервных копий, проверка качества и результатов. Миграция считается законченной при отключении старой системы или иного хранилища данных [2]. Наглядным примером миграции данных является перемещение файлов с баз данных в систему-приёмник 1с, рисунок 1.
Рис. 1. Миграция данных в 1с
Исторические системы — базы данных, которые предстоит заменить полностью или частично при установке новой системы. Система приёмник — целевая система для данной конфигурации. Исходные данные — данные, которые выгружаются из баз данных «исторических систем», конвертируясь в произвольный вариант файлов с xls-расширением. Также вариантом переходных файлов является xml-расширение, либо промежуточная база данных. Трансформация (конвертация) — преобразование данных в данные для загрузки. Данные для загрузки — данные, которые применяются для загрузки в систему-приёмник. Шаблоны данных для загрузки — описание таблиц данных для загрузки в целевую систему [2].
Существуют несколько типов миграции данных, каждый из которых предназначен для определённой задачи: миграция хранимых данных — смена формата хранения данных, миграция приложения — смена устаревшего приложения на более современное и миграция баз данных — перенос баз данных с одного места на другое. Для большинства компаний осуществление миграции данных является необходимым бизнес-процессом, проводимым регулярно. Компания может внедрять новую систему, либо перемещать информацию в более безопасное место хранения. Однако последние данные Gartner показывают, что около 50 % всех проектов миграции данных превышают запланированные бюджеты, либо же наносят ущерб бизнесу, по большей части, из-за некачественной стратегии или ее реализации. Причина этого состоит в том, что проекты миграции данных часто являются сложными, трудоемкими и затрагивают множество систем, технологий и технических команд [1].
В настоящее время существует множество инструментов, методов и стратегий, которые можно использовать для осуществления миграции данных проще и с меньшими затратами. В частности, при миграции данных способом «большого взрыва» данные перемещаются в другую среду за одну операцию за небольшой промежуток времени. Такой подход даёт возможность выполнить операцию в кратчайшие сроки, однако проблема состоит в том, что в последнее время работа систем идёт с большими данными, даже в компаниях. среднего размера. Это следует учитывать, поскольку пропускная способность сетей и шлюзов API не безгранична [1]. Еще одним подходом является «тонкая» миграция данных. Он делит сам процесс на стадии «подмиграции», каждая из которых имеет свои цели, сроки, масштабы и проверки по качеству.Врезультате получается нулевое время простоя, а соответственно клиенты могут продолжать пользование во время процедуры миграции. Другой вариант миграции — оставить полностью работающей старую систему, пока не будет полностью готова новая. Такой способ является отличным выбором для средних и крупных фирм, не допускающих долгие задержки в своей работе [1].
Еще одной темой, связанной с интернет-продажами, является интеграция данных, которая представляет собой объединение данных, располагающихся в различных источниках, а также предоставление этих данных в унифицированном виде. Интеграция, в отличие от миграции — это постоянная часть архитектуры IT, и ответственна за потоки данных между различными системами и хранилищами данных. Интеграция данных является процессом, а не деятельностью по осуществлению проекта [2]. В настоящее время интеграцию данных подразделяют на 3 типа [3]: консолидацию, федерализация и распространение данных. Консолидация подразумевает сбор данных с различных источников с последующим помещением в единое место хранения — «Хранилище данных». Процесс заполнения Хранилища состоит из трех фаз — извлечение, преобразование, загрузка (Extract, Transformation, Loading — ETL) [4]. Консолидирование данных чаще всего используется для анализа или составление отчетности. Федерализация данных направлена на обеспечение единой виртуальной картины из различных источников данных. Данные интегрируются таким образом, чтобы они могли вписаться в виртуальную картину и отвечали требованиям запроса. Все преобразования происходят на этапе извлечения данных из первичных источников. Федеративный подход поддерживается технологией интеграции корпоративной информации (Enterprise Information Integration). Распространение данных представляет собой копирование их из одного места в другое. Такой вариант обычно применяется для операций реального времени и основывается на механизмах «проталкивания», то есть событийно управляем. Примерами технологий, поддерживающих распространение данных, являются интеграция корпоративных приложений (Enterprise Application Integration) и тиражирование корпоративных данных (Еnterprise Data Replication) [4]. В случае с 1с всё зависит от назначения процедуры интеграции данных. Если это составление отчётности, то лучше всего подходит консолидация. В остальных случаях наиболее подходящей скорее является распространение данных.
Помимо работы с перемещением данных также актуальна проблема сервиса. Некоторые пользователи полагают, что быстро подберут товар в каталоге, поместят его в корзину и, произведя оплату, будут ожидать доставки. Однако при этом они сталкиваются с множеством моментов, когда нужно произвести ввод, выбрать, отправить код и т. д. Имеет значение и скорость работы сайта, если страницы будут долго загружаться, то клиент может принять решение сделать заказ у конкурентов.
В настоящей работе предполагается осуществить анализ сайтов нескольких интернет-магазинов для выявления различных недочетов, чтобы выяснить, с какими трудностями могут столкнуться пользователи сайта. Кроме того, будут отмечены преимущества и удобные и благоприятные особенности различных сайтов. В качестве направления поиска будет выбраны сайты интернет-магазинов автозапчастей.
Результаты
Анализ аналогов в среде интернет-магазинов с похожей тематикой
Сначала был проанализирован сайт интернет-магазина: https://emex.ru/. В нем имеется каталог, разделённый на различные марки и типы транспорта, а также степень обслуживания (техническое обслуживание и более серьёзный ремонт), а также возможность сразу найти подходящую деталь через VIN и номер детали, что значительно упрощает поиск. Кроме того, серьёзным дополнением является возможность написать эксперту, чтобы тот помог подобрать нужную деталь и по оптимальной цене. Также выполняется синхронизация всего сайта и сохранение товаров в корзине. Если покинуть сайт, а затем снова вернуться, то товар всё равно останется в корзине. Приобретение происходит пошагово, пользователь после выбора нажимает «Оформить заказ» и переходит на страницу с оформлением, на которой помещена информация о товаре(ах) и общая стоимость. Также указываются точки для самовывоза, а также возможности доставки. Далее пользователь должен ввести номер для отправки кода, а затем ввести сам код. После отправки кода пользователь получает возможность произвести оплату прямо на сайте, поскольку есть привязка к сайту платежных систем. После краткого апробирования стоит сказать, что сайт сделан довольно качественно. Помимо основных функций интернет-магазина присутствует немалое количество дополнительных возможностей. Но всё же стоило бы оптимизировать сайт, упростив некоторые элементы работы. К примеру, можно было бы собрать воедино страницы корзины и расчёта заказа с последующей отправкой.
Далее приведен анализ еще одного сайта — https://yulsun.ru/. Первым делом бросается в глаза типизированная поисковая строка. Клиент может выбрать вариант подбора нужной запчасти: по номеру, по VIN, по марке или по названию. Имеется возможность сделать запрос, чтобы затем проконсультироваться с менеджером. В данном случае было бы лучше добавить возможность сразу задать вопрос в самом запросе, либо сделать онлайн чат, как в первом примере. Просто для возможности перезвонить эта функция скорее бесполезна. Позвонить пользователь может и самолично. Из минусов следует отметить возможность приобретения товара только для зарегистрированных пользователей. Далеко не каждый захочет тратить время на регистрацию и скорее всего перейдёт на другой сайт.
В заключение был проанализирован третий сайт, на этот раз специализированный — https://www.toyotacarmine.ru/. На главной странице сайта представлены наиболее популярные модели, кликая на которые, можно осуществить переход непосредственно на сами запчасти данной модели. Еще одним плюсом является наличие панели с возможностью сразу перейти в корзину для оформления заказа или же продолжить просматривать каталог, выбирая что-нибудь ещё. В остальном данный сайт мало чем отличается от рассмотренных ранее. Можно лишь отметить, что он менее нагружен и более оптимизирован за счёт своей специализации.
Наличие описанных выше функций сайтов обобщено в таблице 1.
Таблица 1
Элементы сайтов
Функции |
Наличие на сайтах |
Типизированный каталог |
https://emex.ru/, https://yulsun.ru/, https://www.toyotacarmine.ru/ |
Строка быстрого поиска |
https://emex.ru/, https://yulsun.ru/, https://www.toyotacarmine.ru/ |
Типизированная строка быстрого поиска |
https://emex.ru/, https://yulsun.ru/ |
Синхронизация |
https://emex.ru/, https://yulsun.ru/, https://www.toyotacarmine.ru/ |
Память сайта (сохранение данных при повторном заходе на сайт) |
https://emex.ru/, https://www.toyotacarmine.ru/ |
Онлайн оплата |
https://emex.ru/, https://www.toyotacarmine.ru/ |
Форма для отправки заказа с описанием |
https://emex.ru/, https://yulsun.ru/, https://www.toyotacarmine.ru/ |
Возможность интерактивного взаимодействия с продавцом |
https://emex.ru/, https://yulsun.ru/, https://www.toyotacarmine.ru/ |
Онлайн подбор деталей |
https://emex.ru/, https://yulsun.ru/ |
Личный кабинет для пользователя |
https://emex.ru/, https://yulsun.ru/ |
Анализ трех вышеописанных сайтов позволил определить необходимые и желательные элементы сайта интернет-магазина по продаже автозапчастей. Из нее можно заключить, что сайт https://emex.ru/ включает в себя все необходимые функции и предоставляет оптимальный набор возможностей для пользователя, поэтому он будет служить основным примером.
Анализ предпочтений покупателей для проектирования наиболее удобного сервиса
Теперь разберем, какие функции из тех, что есть на вышеописанных сайтах, могут быть полезны при создании собственного, и что стоит изменить или убрать вообще, а что стоит добавить. В результате проведенного анализа сайтов можно предположить, чему покупатель будет отдавать предпочтение. В первую очередь сервис должен быть довольно прост, так как не каждому понравится постоянно вводить данные и нажимать кнопки. Тем более стоит исключить обязательную регистрацию на сайте, эта функция должна осуществляться исключительно на добровольной основе, ибо большинство просто уйдет на другой сайт, не желая регистрироваться. Похожая история может произойти, если сайт слишком сложен. На основании анализа трех сайтов можно заключить, что необходим определенный баланс между простотой пользования и различными функциями, а также оптимизацией работы сайта. Чтобы пользователю хватало тех функций, которые есть и не приходилось обращаться к помощи посредников, но при этом он не должен запутаться среди множества панелей сайта. Отдельно стоит отметить скорость работы сайта. Страницы с информацией должны загружаться быстро, данные передаваться внутри сайта за долю секунды. Процедура же отправки заказа также не должна быть длительной. Данные вопросы можно решить за счёт оптимизации. В каком-то случае можно ограничиться количеством передаваемых данных, где-то — подбором сервера или вообще отказаться от базы данных. Более детальный пример оптимизации сайта — собрать две панели в одну и добавить перемещение вниз. Это позволит уменьшить загруженность сайта и будет проще для потенциального покупателя.
Для начала стоит отдать предпочтение специализированным интернет-магазинам. Это решает ряд проблем. В первую очередь, уменьшится количество данных, поскольку марка всего одна. Во-вторых, будет увеличен ассортимент. Кроме того, необходима типизация поиска запчастей, как это сделано во втором примере, так как у каждого пользователя свои предпочтения. Помимо этого, следует учитывать, что ситуации при поиске могут быть разнообразные. Например, человек, ищущий определённую оригинальную деталь, скорее предпочтёт поиск по номеру, чем через разделы. Дополнительным вариантом, удачным как для продавца, так и для покупателя, является предложение дополнительных приобретений при покупке определенной запчасти. К примеру, при прохождении технического обслуживании автомобиля обычно меняется масло в двигателе и масляный фильтр. Покупателю в данном случае можно также предложить приобретение топливного и воздушного фильтров.
Не стоит также забывать и про человеческий фактор. Пользователь может случайно нажать не ту кнопку. Если это ничего серьёзного не повлечёт, например, он просто перейдёт на другую страницу, то можно оставить и так. Если же это что-то более существенное, как отправка формы с заказом, то здесь можно добавить всплывающий баннер, требующий от пользователя повторно подтвердить отправку. Также необходима обратная связь. В случае успешной отправки формы необходимо оповестить пользователя, что форма отправлена и заказ сделан или наоборот, возникла какая-то проблема. Ещё нужно в определённых панелях рядом писать краткую инструкцию, ибо даже на сегодняшний день не все привыкли пользоваться сервисами. Отличным решением было создать онлайн чат с продавцом или экспертом, если нужно. Пользователь сможет рассказать что конкретно ему нужно, а также попросить совета, например, какая деталь подойдёт лучше в плане соотношения цена-качество — оригинал или аналог, а если аналог, то какой, или даже выбрать б/у деталь. Но возможность звонка все равно удалять не стоит. Из нововведений можно предложить покупателю обратиться со своей проблемой с автомобилем. Понадобится опросить пользователя, чтобы лучше понять проблему. Далее, посоветовать ему оптимальное для него решение. В данном случае как раз может пригодиться онлайн чат, представленный в первом примере.
Постановка задач по проектированию и разработке сервиса
На основании анализа современных технологий для интеграции и миграции данных, а также возможностей сервиса интернет-магазинов предполагается создать собственный сайт интернет-магазина автозапчастей, с поправкой, что запчасти специализированы для марки Mitsubishi. В данном интернет-магазине будут учитываться все недочёты, которые присутствовали в вышеописанных сайтах, а также преимущества и полезные особенности этих сервисов, и установлены нововведения, разобранные выше.
Отчётная часть будет обрабатываться 1с, а для передачи туда данных (осуществить интеграцию данных), будут использованы интерфейс API и язык программирования JavaScript. Как и указанно в документации к API, понадобится скрипт для подключения карты к нашему макету в 1с. Скрипт подключения представлен в листинге 1 (рис. 2).
Рис. 2. Листинг 1. Скрипт подключения
В первую очередь нам понадобится обработка. Будет создана отдельная панель для отправки данных в 1с. Она должна размещаться как подпанель админ-панели (личного кабинета владельца сайта) — именно в данный HTML документ мы и помещаем код. Это и есть первый шаг к использованию многофункционального API. Похожая методика позволяет взаимодействовать и с иными API при помощи языка JavaScript [5].
Для получения возможности передачи и получения данных через HTML документ, необходимо сделать документ на форме «Реквизит» с типом HTML, а затем применять скрипт подключения при открытии формы, представленный в листинге 2 (рис. 3).
Рис. 3. Листинг 2. Скрипт подключения
После этих процедур наш HTML документ на форме получит связь с макетом и будет передавать все необходимые данные. Получение результата же по средствам API будет происходить с помощью события «ondatasetcomplete» на HTML. А при помощи метода document.parentWindow.eval мы получим возможность отправлять команды из нашей конфигурации на сервер [5].
Итак, в результате получаем макет, в котором описываются определённые функции и переменные для вывода результата, и одну форму, на которой указывается код для отправки параметров и получения результата. При помощи этой технологии будут отправляться все данные о продажах в 1с.
Данные не всегда хранятся в цифровом виде, порой их приходится возвращать в бумажный вид. Наш случай не исключение. Необходимо распечатывать информацию о продаже, чтобы поставить печать. Далее курьеру нужно будет получить подпись у покупателя в случае доставки. Для решения этой задачи создаётся отдельная функция, выводящая на печать. Далее она прикрепляется либо в форму отправки заказа, либо в корзину.
Кроме того, может понадобиться смена базы данных. В таком случае используется подход «тонкая миграция данных», чтобы интернет-магазин продолжал функционировать со старой базой, пока не будет подключена новая. Под данную задачу обычно создаётся отдельная панель в админ-панели, где выбирается новая база данных и запускается подключение. После подключения новой базы данных система отправляет уведомление администратору на почту, либо информирует его другим способом.
Сайт будет выполнен в простой форме, но с использованием некоторых более современных технологий. Основу будут составлять несколько HTML файлов, в них прописывается архитектура сайта и все элементы интерфейса. Дизайн страниц и различных панелей выполняется CSS. Заставлять же работать браузерную часть будет JavaScript. Для обработки серверной части, а именно запрос в базу данных, отправка заказа на электронную почту и прочее — обеспечит PHP. Языком же базы данных выступит SQL или MySQL. Помимо этого, в код интегрируется библиотека JQuery, значительно оптимизирующая код. Возможно также присутствие фреймворка Vue.js. За составление отчетности возьмется 1с, куда и должны интегрироваться данные.
Заключение
Технологии интеграции и миграции данных не потеряли своей актуальности. Они помогают при внесении каких-либо изменений в систему или её полном обновлении, а также для соединения между собой технологии, среды, системы и платформы различного типа, как подключение к 1с с HTML документом. Кроме того, они выполняют функцию защиты данных, с возможностью перемещения в другое место или создания резервной копии. В ходе работы были протестированы три сайта интернет-магазинов по продаже автозапчастей с целью выбора нужных технологий и дальнейшего их апгрейда. Продуман план построения собственного сайта интернет-магазина, подобраны определённые инструменты реализации.
Литература:
- Асу-аналитика, системы принятия решений [Электронный ресурс] — https://asu-analitika.ru (Дата обращения 20.11.2021)
- Технология проведения миграции данных в крупных проектах [Электронный ресурс] — https://infostart.ru (Дата обращения 20.11.2021)
- Портал выбора технологий и поставщиков [Электронный ресурс] — https://www.tadviser.ru (Дата обращения 20.11.2021)
- Интеграция данных Материал из Википедии — свободной энциклопедии [Электронный ресурс] — https://ru.wikipedia.org (Дата обращения 19.11.2021)
- Механизм использования API на JavaScript в 1с [Электронный ресурс] — https://www.koderline.ru (Дата обращения 22.11.2021)