В современном высокотехнологичном мире средние и крупные предприятия используют более десяти разных программных решений. От почтовых клиентов, информации о клиентах, поставщиках, продукции до сложных систем CRM и ERP. Рано или поздно появляется необходимость в интеграции, так как с ростом бизнеса разрастаются и базы данных.
Используя в работе интеграцию шин данных, Вы сможете решить часть наиболее острых вопросов в управлении своего бизнеса.
При интеграции используется не классическая шина данных (ESB)*, а шина (API Layer), которая маршрутизирует пакеты с различными системами, занимается тем, что эти же данные хранит и конвертирует, при необходимости, из одной системы в другую.
*Шина – это ESB, которая занимается: маршрутизацией, сбором, отправкой, статистикой пакетов, хранит информацию о том, какие системы получили пакеты и произошли ли в системе трансформации.
Эта статья опишет схемы работы, где может применяться данная технология и какие бизнес-задачи можно решить при ее применении.
В технологии интеграции шин данных используют определенные кейсы и архитектурные решения для урегулирования ряда прикладных задач бизнеса:
В основном все ERP и CRM системы классического типа. Сервера MS SQL, в большинстве, построены по нормальным формам. Иногда для систем BI необходимо эти данные денормализовать в очень широкие, большие таблицы.
Данное решение может использоваться, когда необходимо проанализировать большие промежутки данных. Используя интеграцию, мы не трогаем учетную систему для сбора данных.
Когда мы из основной системы периодически выгружаем в шину набор данных (нормальный или денормализированный) для использования другими системами, - мы не нагружаем основную учетную ERP-систему.
Денормализация данных помогает:
Часто на современных предприятиях внедрены довольно старые задачи и системы, которые в определенный момент перестают быть актуальными. То есть, мы приходим к той точке, когда технологически платформа не предоставляет новых инструментов. Невозможно в "1С:Підприємство 7" сделать, к примеру, API-доступ для других систем. И нам необходима какая-то прослойка, которая будет этот доступ предоставлять. Для этого используется шина данных, когда настраивается интеграция с "1С:Підприємство 7". Она выполняется раз в какой-то промежуток, а шина данных уже в оперативном режиме отдает эти данные.
Эти продукты важны и интересны с точки зрения исторической информации, тем не менее, иногда требуют перехода и интеграции с новыми системами. И API layer в шине данных - эту возможность предоставляет за счет того, что по API можно обратиться к любым данным.
Отсюда вытекает, соответственно, следующая задача: перевнедрение ERP, CRM систем.
Задача очень непростая. У большинства фирм она лежит в стратегии. Многие ERP-системы, внедренные несколько лет назад, необходимо перевнедрить. Сделать это одним скачком довольно сложно.
Возможности перевнедрения системы:
Можно использовать итерационный метод – выделение каких-то кусков.
Есть отдельные независимые участки, которые можно вырвать в шину и забрать при этом исторические данные. Можно оставить в шине функционал или мигрировать в новую систему. Плюс это позволяет запараллелить работы.
При переходе на какую-то другую систему, если отдельные функциональные блоки мы выделяем в шину и работаем по API из другой системы с этими данными, мы уменьшаем общий пул того, что нам нужно перенести в новую ERP систему. То есть мы, как бы, разрезаем на части и делим момент перехода на новую систему.
Очень часто используется для различных интеграций, особенно с интернет сайтами. Все платформы интернет-сайтов имеют довольно разную архитектуру, с точки зрения классических для нас позиций: номенклатура, характеристики номенклатуры (цвета, объёмы), заказы, контрагенты и так далее. Они практически всегда не стыкуются с самой ERP-системой - отличаются или на техническом уровне, или на уровне логики. Что имеется в виду?
К примеру, мы продаем карандаши: зеленые и красные. И на сайте это одна номенклатура с разными цветами. PrestaShop, OpenCart и другие CMS так отображают данные. В ERP исторически сложилось, что у этих карандашей разные артикулы. И очень часто они заведены не в номенклатура-характеристика, а в самой номенклатуре. И, соответственно, обмен между этими системами нарушен.
Надо иметь где-то это соответствие. То есть матрицу того, как одна позиция из ERP-системы трансформируется в позицию с характеристикой в системе интернет-сайта. Соответственно, для этого можно либо использовать прямую интеграцию "точка-точка" и написать матрицу соответствия. Либо использовать шину, которая будет эту матрицу соответствия в себе хранить для обмена.
Пример: кейс для компании modnaKasta. У них вся система была целостная, но они решили ее разбить. Так как захотели более продвинутую WMS систему и не было необходимости в бухгалтерии видеть джинсы в разных размерах и разных расцветок.
Приехало 10 тысяч в контейнере и в конце месяца бухгалтерия может списать их пять тысяч и не думать о том, какого они формата. Но это абсолютно невозможно с точки зрения склада. Конечному пользователю надо отгружать очень конкретный цвет и конкретного размера.
Поэтому это - задача свертки данных, когда в момент миграции из одной системы в другую систему мы теряем ряд информации. То есть, мы ее сворачиваем: мы в момент передачи сворачиваем информацию до уровня того потребления, которое нужно другой системе.
К примеру, мы делаем чат-бот “сколько сотруднику осталось дней отпуска отгулять”. Эту информацию можно получить: обращаясь непосредственно в ERP-систему и считая эту информацию, нагружая систему. Как правило, внутри системы нет точной цифры – она рассчитываемая. Или раз в сутки эту цифру считать. Чаще, чем раз в сутки, эта информация не обновляется – она не нужна. То есть, появляется возможность обращаться в чат-бот за данной информацией (просуммированной), не нагружая основную систему.
Сейчас становится актуальным вопрос разделения системы. Все чаще у компаний, которые имеют большую ERP-систему, возникает необходимость делать режим самообслуживания. Как пример, чтобы заказчики могли зайти в личный кабинет, сделать заказ, отследить информацию. Таким образом, уменьшается нагрузка на call-центр и менеджеров по продажам. Работа с постоянными заказчиками автоматизируется. Это первая задача.
Вторая задача – безинтерфейсные системы. Крупные заказчики просят, чтобы по API записывался заказ. И тут возникает проблема доступа к периметру.
Если периметр сильно защищенный, то он не смотрит в ERP-систему. Есть два варианта:
Иногда, в момент предоставления доступа, есть ряд ограничений. Как пример, компания Parfex - занимаются парфюмерией. Они не выдают своим дистрибьюторам конечную цифру остатков на складе. Так как рынок у них насыщенный и некоторые большие розничные сети могу создать искусственный дефицит определенного товара. Они могут скупить весь парфюм определенной марки и специально завысить на него цену.
Поэтому в момент выгрузки в такую шину они предоставляют доступ просто к информации: есть этот товар или нет этого товара. Ограничивают ряд контекста, того, что можно видеть.
Та же задача для Ukravit - делаем большую интеграцию (около 14 систем). Компания своим дистрибьюторам не предоставляет всю информацию о складе. Показывает индикативно: товара много, товара нормировано или товара мало.
Тем самым, с одной стороны, стимулирует. Когда товар заканчивается - выкупить остатки себе на склад. С другой стороны - не показывать конкретную цифру. Когда заказчик видит, что этого товара очень много, может момент покупки откладывать.
Когда мы внутри из своей ИТ-системы предоставляем нашим партнерам какую-то информацию. То есть, мы, к примеру, продаем в огромное количество розничных точек продукцию. На розничной точке иногда есть своя учетная система, иногда нет (тогда ведем учет за них). Предоставляем партнерам инструменты анализа их же продаж. Мы показываем сколько отгружено, статистику заказов, графики и так далее.
Обратная задача, которую решают с помощью этого, – когда есть учетные системы и мы формируем за них заказы, которые они должны делать. Со стороны клиента есть интеграция в наше API, которое пишет, чего мы сколько продали, и мы можем отловить момент, когда готовить новый заказ этому заказчику и автоматом его передавать.
*совокупная стоимость владения информационной системой (Total Cost of Ownership)
В учете совокупной стоимости владения очень часто забывают один пункт – самый последний. Все понимают, что она складывается из: покупки ПО, внедрения, сопровождения, каких-то обязательных платежей лицензионных и так далее. И всегда забывают пункт, который встречается крайне редко даже в документации, – это стоимость выхода.
То есть, вы поставили софт и через время (рано или поздно, через пять или десять лет) вам от этого софта приходится отказаться. И для каждого софта эта стоимость выхода разная. Потому что есть технологии, из которых очень тяжело забрать данные, у которых денормализированная структура, у которых невозможно понять (если смотреть в базу данных), какие таблицы за что отвечают. Вот эта часть очень сильно увеличивает стоимость.
Созданием для себя обменов и вынесением информации в шины, вы обязаны ее каким-то образом структурировать - и у вас появится API. Имея шину, интегрированную с ERP-системой, при переходе на другое ПО у вас остается источник доступа к этой информации. За счет этого доступа уменьшается совокупная стоимость владения информационной системой (Total Cost of Ownership — TCO). Данный доступ очень простой, быстрый и автозадокументированный.
Часто происходит, что компания погрязает внутри одной технологии. Развивая только одну технологию в стеке, вы становитесь заложником одной системы. И, как следствие, предприятие становится абсолютно зависимым от очень узкого круга специалистов. А в некоторых случаях - еще и от закрытых систем, которые уже не поддерживаются.
Модульность функций - это возможность вынесения части информации, что помогает уменьшить зависимость от одной определенной системы.
Свое решение строим на C#/.NET, Web API и Vuetify JS Framework. Доступ по скорости максимально быстрый и очень легко масштабируемый за счет как технического уровня, так и не технического уровня. Что имеется в виду? Технический уровень - когда мы просто расширяем параметры серверов. То есть, было столько - поставили больше - производительность увеличилась.
Система работает как с реляционными, так и с нереляционными данными. Возможно использовать в качестве базы данных как MS SQL, так и какие-то нереляционные базы: Mongo, Redis и так далее. Соответственно, можно использовать для ряда задач, если удобно, MS SQL, для ряда задач использовать ненормированные структуры, в виде документов / объектов нереляционных баз данных.
В случае внедрения дополнительного модуля нет необходимости в пересборке приложения. Помимо того, что это шина, которая обменивается данными, она имеет свой интерфейс на Vue.js и есть возможность добавлять уже готовые модули. На сегодняшний день есть ряд решений, который связан с: интеграцией интернет-магазинов, "1С:Підприємство" с платформами и CRM-платформами: с Bitrix, AmoCRM и другими.
Собственные разработки:
Система построена на базе открытого кода, что далеко не у всех так, хотя это так и заявляется. Сама платформа, ядро, код внутри ядра - открыты. C# - со стороны бэкэнда, со стороны фронтэнда – это стандартный Vuetify на Java Script, а также можно строить свои модули. Сейчас готовим отдельный сайт под платформу и инструкцию, каким образом сделать себе fork из репозитория и использовать для своих целей открытость самого кода. Можно проинспектировать, что происходит внутри кода и как это работает.
Мы специализируемся на этом уже последние лет пять. За это время мы накопили большой опыт готовых кейсов и теоретическую базу для интеграции разных систем. Все данные доступны в системе Genumis. На сайте есть описание и возможность использовать в облачных и наших серверах или у себя на локальных машинах.
Использование платформы Genumis дает возможность вашему бизнесу постепенно выстраивать ИТ-среду нового поколения.
Внешние веб-сервисы, интегрированные с вашей основной учетной системой по API, дают возможность:
*Копирование материала возможно только с ссылкой на источник и указанием автора материала. Благодарим за уважение интеллектуальных прав собственности.TQM systems
SaaS сервисы
Программы 1С:Підприємство
CRM
ERP
Node.JS, .NET
1С:Підприємство
API, IPasS
Разработка Web Apps
1С:Підприємство Автоматизация
Аудит IT проектов
Интеграция 1С:Підприємство
Получайте наши информационные материалы:
Работаем на IT-рынке с 2008 года.
Наша миссия - упростить управление данными.
Copyright © 2008-2024 TQMsystems. Все права защищены. Privacy Policy | Terms of Service