СИНХРОНИЗАЦИЯ КАТАЛОГА ТОВАРОВ СИСТЕМЫ СБИС С ВНЕШНИМИ СЕРВИСАМИ
СИНХРОНИЗАЦИЯ КАТАЛОГА ТОВАРОВ СИСТЕМЫ СБИС С ВНЕШНИМИ СЕРВИСАМИ
Писаренко Константин Сергеевич
студент, Восточно-Сибирский государственный университет технологий и управления,
РФ, г. Улан-Удэ
Тулохонова Инна Степановна
канд. пед. наук, доц., Восточно-Сибирский государственный университет технологий и управления,
РФ, г. Улан-Удэ
SYNCHRONIZATION OF THE GOODS CATALOG IN THE VLSI SYSTEM WITH EXTERNAL SERVICES
Konstantin Pisarenko
student, East Siberian State University of Technology and Management,
Russia, Ulan-Ude
Inna Tulokhonova
Cand. Рedag. Sciences, Associate Professor, East Siberian State University of Technology and Management,
Russia, Ulan-Ude
АННОТАЦИЯ
В статье рассматривается автоматизированный процесс синхронизации СБИС с внешними сервисами, направленный на повышение качества обратной связи с клиентами и предоставления возможности просматривать актуальный список товаров онлайн. Использованы современные средства реализации автоматического заполнения списка товаров в группе VK из указанного прайс-листа, а также удаление товаров, отсутствующих в наличии.
ABSTRACT
The article discusses the automated process of synchronizing VLSI with external services, aimed at improving the quality of customer feedback and providing the ability to view the current list of goods online. Modern means of implementing automatic filling of the list of goods in the VK group from the specified price list, as well as deleting goods that are out of stock, were used.
Ключевые слова: система, СБИС синхронизация, VK, Telegram, каталог, товар, прайс, автоматизация.
Keywords: system, VLSI synchronization, VK, Telegram, catalog, product, price, automation.
Введение. На текущий день одним из главных преимуществ систем, использующих внешние сервисы на интернет-площадках является доступность и лояльность за счет отсутствия целенаправленной группы на которую они настроены. Следовательно, имеется возможность, порой необходимость, их использования в компаниях для улучшения внутренних показателей.
Внешние сервисы – ИТ-системы, не использующие серверную инфраструктуру компании, которая подключается к ней, при этом за работу ИТ-системы отвечает сторонняя компания. Современное состояние внешних сервисов является многофункциональным решением, способным к разнообразным задачам, например, общение, предоставление консультации, поддержка клиентов и др.
Проблема. В настоящее время возможность ознакомиться с каталогом товаров онлайн значимо отразилась на торговой деятельности, однако не все компании предоставляют эту возможность. Причины могут быть самыми разными, в том числе:
- недостаток временных ресурсов и затрат на перенос изменений торгового оборудования, с помощью которого осуществляются операции по учёту товара;
- малый бизнес и неготовность содержания программиста (ов);
- оплата хостинга для постоянной работы синхронизатора и сайта, способного выдерживать высокий трафик пользователей.
Возможный вариант решения. Децентрализованный доступ к программным продуктам с любого стационарного или мобильного устройства – как уровень удобства, ставший на сегодня неотъемлемой частью жизнеобеспечения. Для реализации доступа к управлению приложением, чаще всего используются сайты с системой авторизации, при этом реализация качественного сайта с условиями безопасности достаточно дорогая задача. Интернет-боты Тelegram могут предоставить бесплатно максимальный уровень защиты функционала, что является достаточно выгодным предложением для выбора способа управления с любого устройства, у которого есть выход в Интернет.
Следует отметить, что торговые компании ведут новостную ленту своей группы ВКонтакте (далее VK), но вкладка Товары остаётся либо пустой, либо в неё представлен скромный список из постоянных товаров и услуг, который редко обновляется. При этом VK достаточно популярная социальная сеть, способная выдерживать большие нагрузки, оставаясь отзывчивой, немаловажно и то, что содержание группы VK бесплатно. Размещение списков товаров на площадке VK может быть хорошей альтернативой собственному сайту.
Основная часть. Продукты линейки СБИС предназначены для электронного документооборота с госорганами, обмена первичными бухгалтерскими документами между организациями, ведения бухгалтерской и учётной деятельности предприятия. Одним из важных для предпринимателя продуктов является СБИС Предприятие, для работы с API СБИС необходимо подключить тариф профи.
Администраторы группы VK могут добавлять новые товары и редактировать уже существующие, с возможностью скрыть товар от пользователей без его удаления. Обычные пользователи могут просматривать товары, перейти в личный чат с группой по возникающим вопросам любого товара, но не могут оплатить товар онлайн.
Кроссплатформенная Telegram система с функциями VoIP, позволяющая обмениваться текстовыми, голосовыми и видеосообщениями, стикерами, фотографиями, файлами многих форматов, обладающая множеством других функций. На основании ботов функционал приложения практически не ограничен.
Таким образом, задача реализации автоматического заполнения списка товаров в группе VK из указанного прайс-листа, а также удаление товаров, отсутствующих в наличии решается следующим образом.
Для автоматической синхронизации создан «поток синхронизации», который проверяет наличие изменений в выбранном прайс-листе у каждого товара:
- название товара;
- описание;
- остаток;
- изображение.
Товары, у которых остаток равен 0 не отображаются. Управление через Telegram - бота выполняется следующим списком команд:
- «/starts» – запуск поток синхронизации;
- «/stop» – остановка потока синхронизации;
- «/prais» – отправка списка прайсов из СБИС, актуальный на момент отправки команды;
- «/ran» – просмотреть текущий выбранный прайс;
- «/ran <<номер прайса>>» – выбор прайса.
Для описания работы системы разработана диаграмма вариантов использования, описывающая действия, которые может выполнять система в ответ на внешние воздействия пользователей, а также функциональность системы с учетом получения результата для пользователя (рис. 1).
Рисунок 1. Диаграмма вариантов использования
Спецификация исполняемого поведения в виде координированного, последовательного и параллельного выполнения подчинённых элементов – вложенных видов деятельности и отдельных действий, соединённых между собой потоками, которые идут от выходов одного узла ко входам другого, представлена на рисунке 2.
Рисунок 2. Диаграмма деятельности
Взаимодействие модуля синхронизации с внешними сервисами представлено на рисунке 3.
Рисунок 3. Взаимодействие модуля синхронизации с внешними сервисами
При детальном исследовании проблемы «Изображения товаров СБИС» выявлено, что каждая ссылка на изображение уникальна, при удалении изображения и загрузки того же изображения, ссылка на изображение меняется. Данные сведения предопределили механизм кеширования изображений: достаточно хранить ссылку на изображения и проверять есть ли данная ссылка в кэше. Обобщенная схема, отображающая модель данных представлена на рисунке 4.
Рисунок 4. Обобщенная схема модели данных
Для реализации бэка проекта был выбран язык программирования Java.
При разработке использовались следующие библиотеки:
- Jsoup – библиотека на базе Java для работы с HTML-контентом;
- Vk-java-sdk – библиотека взаимодействия с VK API, включает в себя авторизацию OAuth 2.0 и методы API;
- Telegrambots – Java библиотека взаимодействия с Telegram Bot API;
- Jackson – Java библиотека для работы с данными в формате JSON;
- Jackson – одна из самых высокопроизводительных библиотек.
Для работы с VK API, Telegram Bot API И СБИС API программно реализованы ключи доступа.
Для тестирования бота был разработан алгоритм:
- ввод команды /help;
- ввод команды /prais;
- ввод команды /ran;
- выбор несуществующего прайса;
- выбор существующего прайса;
- запуск синхронизации с прайсом, в котором нет товаров;
- запуск синхронизации с прайсом, в котором есть товары;
- внесение изменений в текущий прайс;
- остановка синхронизации.
Команда /help присутствует почти всегда у Telegram бота результат выполнения данной команды представлен на рисунке 5.
Рисунок 5. Тест команды /help
Команда /prais выводит список прайсов из СБИС доступный к выбору. Команда /ran без указания номера прайса выводит информацию о текущем прайсе, выбрать несуществующий прайс, то текущий прайс будет заменён на прайс, первый в списке прайсов, так же программа реагирует на удаление текущего прайса из СБИС. Поток синхронизации при выборе пустого прайса удаляет все текущие позиции, отображает те товары, которые соответствуют требованиям VK. После выполнения синхронизации был составлен список проблемных товаров и отправлен пользователю. Результат команды /starts и список товаров, не прошедших синхронизацию представлен на рисунке 6.
Рисунок 6. Тест команды /starts и список товаров не прошедших синхронизацию
Заключение. Синхронизация каталога товаров системы СБИС с внешними сервисами позволяет обеспечить целостность ресурсов и характеристик товара, когда он используется несколькими процессами/потоками в случайном порядке. Для стабильной работы потока синхронизации разработано программное обеспечение и внутри программы были обозначены места, когда остановка потока не сломает логику работы программного обеспечения.
Программный продукт имеет практическую значимость, на данном этапе выполняет поставленные на него задачи для компании заказчика, а также с небольшой доработкой его можно использовать для предоставления услуг синхронизации другим пользователям СБИС.
Список литературы:
- СБИС – экосистема для бизнеса: учет, управление и коммуникация : сайт / ООО «Компания «Тензор». – Ярославль, 2002. – URL: https://sbis.ru/ (дата обращения: 01.05.2022). – Режим доступа: для авторизованных пользователей.
- ApiX-Drive – Онлайн Коннектор Сервисов #1 : [сайт]. – Москва, 2019 – URL: https://apix-drive.com/ru (дата обращения: 1.06.2022).
- Добавить и редактировать позицию в каталоге в СБИС Для салонов и сферы услуг. – Текст: электронный // СБИС – экосистема для бизнеса: учет, управление и коммуникация : официальный сайт / ООО «Компания «Тензор». – Ярославль, 2002. – URL: https://sbis.ru/help/saloon/catalog/add (дата обращения: 01.05.2022).
- Библиотека Java Telegram Bot. – Текст: электронный // github.com: [сайт] – URL: https://github.com/rubenlagus/TelegramBots (дата обращения:5.06.2022 ).
- Jackson Project Home. – Текст: электронный // github.com : [сайт] – URL: https://github.com/FasterXML/jackson (дата обращения:5.05.2022 ).
- Jsoup: Java HTML Parser. – Текст: электронный // github.com : [сайт] – URL: https://github.com/jhy/jsoup (дата обращения: 14.04.2022 ).