Использование API и микросервисов на PHP в учете товарных запасов
Алексеев А.А.
Аннотация: современные ИТ-системы играют решающую роль в повседневной деятельности производственных компаний, торговых компаний и поставщиков логистических услуг. Системы планирования ресурсов предприятия (ERP), системы управления складами (WMS), системы управления товарами (S) и системы управления складами (LVS) незаменимы в средних и крупных компаниях -- от управления заказами клиентов до контроля производства и обработки отгрузок. Эти системы чрезвычайно сложны и часто связаны между собой посредством автоматизированных процессов, благодаря чему их часто можно адаптировать к конкретным потребностям компании (кастомизация). Цель данной статьи - провести детальный анализ использования API и микросервисов на PHP в учете товарных запасов, установив их возможности, делая упор на популярных на рынке решениях. В результате были проанализированы существующие API на рынке, были проанализированы их особенности, и роль PHP в построении гибкой системы наследования благодаря открытым библиотекам данных. В то же время требования к компаниям растут в связи с изменением рыночных условий. Международная конкуренция на мировых рынках, экономические колебания и короткие инновационные циклы требуют от компаний высокой адаптивности. ИТ-системы должны поддерживать эту адаптивность и обеспечивать гибкость и масштабируемость в дополнение к основным функциональным требованиям. Такие системы характеризуются высокой гибкостью и масштабируемостью. Их можно легко адаптировать к меняющимся требованиям и расширить за счет включения дополнительных устройств. Отдельные элементы могут быть изменены, заменены или добавлены, если они совместимы с базовыми протоколами связи.
Ключевые слова: логистические системы, структуры данных, микросервисы, учет товарных запасов, параллельное хранение.
Alekseev A.A.
USING PHP APIS AND MICROSERVICES IN INVENTORY ACCOUNTING
Abstract: modern IT systems play a crucial role in the daily activities of manufacturing companies, trading companies and logistics service providers. Enterprise resource planning (ERP) systems, warehouse management systems (WMS), commodity management systems (S) and warehouse management systems (LVS) are indispensable in medium and large companies -- from customer order management to production control and shipment processing. These systems are extremely complex and often interconnected through automated processes, so they can often be adapted to the specific needs of the company (customization). The purpose of this article is to conduct a detailed analysis of the use of APIs and microservices in PHP in inventory accounting, establishing their capabilities, focusing on solutions that are popular on the market. As a result, the existing APIs on the market were analyzed, their features were analyzed, and the role of PHP in building a flexible inheritance system thanks to open data libraries. At the same time, demands on companies are increasing due to changing market conditions. International competition in global markets, economic fluctuations and short innovation cycles require companies to be highly adaptable. IT systems must support this adaptability and provide flexibility and scalability in addition to basic functional requirements. Such systems are characterized by high flexibility and scalability. They can be easily adapted to changing requirements and expanded to include additional devices. Individual elements can be changed, replaced or added if they are compatible with the basic communication protocols.
Keywords: logistics systems, data structures, microservices, inventory accounting, parallel storage. микросервис учет товарный запас
Введение
Распространенным методом достижения высокой масштабируемости является построение системы из множества простых, недорогих и совместимых модулей, которые можно гибко комбинировать. Каждое из этих подразделений имеет ограниченную функциональность и информацию, но может принимать независимые решения на месте. Желаемое поведение системы создается путем объединения всех модулей. Примерами этого являются мобильные транспортные средства или модульные стационарные системы.
Децентрализованное управление уже зарекомендовало себя при контроле сложных процессов, таких как управление производством и материальными потоками. Исследовательские проекты показали, что децентрализованное управление материальными потоками может быть успешно реализовано без специальных компьютеров. В этой работе исследуется, можно ли распространить эту философию на управление складами и запасами, чтобы обеспечить полностью децентрализованную разработку всей производственной системы. Различные исследовательские группы уже разработали концепции децентрализованных систем управления складами, которые анализируются с точки зрения различных аспектов. В принципе, можно провести различие между децентрализованным хранением и обработкой данных и автоматическим учетом складских движений. Хотя последнее не является обязательной функцией децентрализованных систем управления складом, особых преимуществ можно достичь за счет интеграции таких технологий в децентрализованную WMS [1, c. 180-183].
Децентрализованная система управления складом под названием «WISHIS» была разработана Виландом и др. по поручению Siemens Corporate Technology в рамках проекта Кобургского университета прикладных наук. В этой системе сенсорные узлы, прикрепленные к полкам, взаимодействуют друг с другом через беспроводную сенсорную сеть (WSN) и подключением посредством PHP. Система работает без центральной базы данных, поскольку информация распределена по отдельным вычислительным блокам. Товары на складе оснащены RFID-транспондерами и могут быть идентифицированы бесконтактно. Взаимодействие с системой происходит через мобильные портативные компьютеры с поддержкой RFID, которые можно использовать для записи хранения и извлечения. Однако сами вычислительные подразделения складской инфраструктуры не имеют считывателей RFID и поэтому зависят от правильного учета изменений запасов. Еще одна децентрализованная система управления складом, основанная на беспроводных сенсорных сетях, была разработана Аркадием Широм из Института потоков материалов и логистики Фраунгофера (IML). В этой системе узлы датчиков крепятся к средствам погрузки, например европоддонам. Эти сенсорные узлы хранят состояние единицы хранения (например, хранится, транспортируется) и список предметов на поддоне. Считыватели RFID на транспортных средствах, таких как вилочные погрузчики, и транспондеры RFID на отсеках для хранения позволяют автоматически определять место хранения во время хранения и извлечения вилочными погрузчиками.
Альтернативный метод определения местоположения запоминающих устройств с использованием триангуляции путем оценки уровня сигнала оказался подвержен помехам из-за отражений и затухания сигнала в промышленных условиях. Радиолокация также потребует значительного количества дополнительных опорных узлов в инфраструктуре хранения данных в качестве контрольных точек. Концепция Шира также не требует наличия центральной базы данных. Для поиска конкретного объекта в сенсорную сеть через базовую станцию отправляется запрос, который затем пересылается от одного сенсорного узла к другому посредством многопереходной сети. Соответствующие сенсорные узлы проверяют свой список элементов и возвращают ответ на базовую станцию через многопереходный режим. Следует отметить, что эта концепция в значительной степени адаптирована к конкретным условиям эксплуатации и не обеспечивает достаточной гибкости.
Материалы и методы (Materials and methods).
В работе используется метод наблюдения, для проведения анализа существующих API предложений для рынка, формирующихся за счет использования PHP и открытых библиотек. Метод сравнения был для использования детального выяснения особенностей современных логистических API на PHP, а также классификации их основных функций. В качестве материалов были использованы работы таких авторов, как Лариной Д.О, Мантуловой А.Н, Качковой П.Д и других.
Результаты и обсуждение (Results and discussion).
1. Технологии и методы управления данными на складе
Структуры данных, такие как описание мест хранения и номера позиций, а также структура телеграмм фиксированы, а количество позиций на единицу хранения ограничено восемью. Вероятно, это связано с ограниченной производительностью используемых сенсорных узлов с 8-битным микроконтроллером. Информация о структуре склада (основные данные склада) продолжает храниться централизованно в программе администрирования, и децентрализованный LVS не осуществляет автоматический поиск свободных мест хранения. Основная задача Smart Shelf -- анализ покупательского поведения покупателей в магазине. Он фиксирует, когда товар снимается с полки или кладется обратно. Например, владельцы магазинов могут использовать эти данные, чтобы узнать, сколько времени в среднем покупатели тратят на просмотр товара и с какими другими товарами они его сравнивают. Эту информацию можно использовать для оптимизации ассортимента и расположения товаров. Кроме того, их также можно использовать для контроля запасов на «умных полках» или для определения того, находится ли конкретный товар в назначенном отделении полки. Благодаря технологии распределенных датчиков, которая обычно основана на технологии RFID, Smart Shelf может идентифицировать предметы на полке и определять точное место их хранения.
Для этого каждый предмет, хранящийся на Smart Shelf, должен быть оснащен пассивным RFID-транспондером, и последующей отладкой посредством открытого кода. Полка имеет несколько последовательно соединенных антенн, которые активируются одна за другой. Таким образом, система может определить, в какой зоне антенны находится транспондер, и определить соответствующий отсек на полке. Однако альтернативная техническая концепция использует «магазинную шкуру». Специальный сенсорный коврик на полу полки фиксирует вес находящихся на ней товаров, позволяя фиксировать выемку товаров и приблизительно оценивать количество имеющихся товаров.
Рисунок 1. Модель дистанционного учета запасов предприятия [12].
Если единица хранения физически хранится на каком-либо месте хранения, это изменение должно быть отражено в образе цифрового склада. Это осуществляется посредством складского резервирования и позволяет осуществлять процессы хранения, вывоза и перемещения. Некоторые системы управления складом руководствуются принципом «нет записи без чека», как известно из бухгалтерского учета. Поэтому для проводки складского движения необходимо наличие соответствующего складского или приемочного заказа. Представление места хранения в базе данных зависит от типа склада или складской площади. Например, на полках с фиксированными местами хранения место хранения может быть описано уникальным именем полки, а также информацией о строках и столбцах. На зональном складе или стеллажной системе патерностера необходимо использовать другие подходящие системы. Информация о месте хранения должна позволять сотрудникам и, при необходимости, автоматизированным складам находить товар без сложного поиска [2, c. 286-288].
Описанный выше алгоритм управляется через центральный функционал приложения, когда как работа с базами данных формируется посредством активных запроса, редактируемых после проверки из стека. В этом случае, с помощью стандартных библиотек данных, собирается информация от каждой ячейки, а на каждый транспондер создается отдельный поток. Закрытое обращение позволяет лишь с помощью центрального ключа получить выгрузку, когда как каждый транспондер может быть настроен с помощью отдельной разбалансировки на определенное значение. Например, в ячейке остается меньше товара, чем должно в ней быть, в этом случае программа делает полученные данные открытыми, и передаёт запрос на покупку. Поэтому система управления складом посредством PHP должна обеспечивать высокую доступность данных. Временные сбои могут произойти, если все или часть данных временно недоступны из-за аппаратных ошибок, проблем с программным обеспечением или сбоев связи. Однако данные остаются нетронутыми и могут быть восстановлены из резервных копий. Безвозвратная потеря данных происходит, когда данные уничтожаются из-за дефекта или ошибки программного обеспечения и не могут быть восстановлены из-за отсутствия или устаревших резервных копий. В таком случае восстановление базы данных требует трудоемкой и трудоемкой инвентаризации.
Мастер-данные, по определению Хансена и Неймана, -- это «данные, ориентированные на условия, которые используются для идентификации, классификации и характеристики фактов и которые доступны в неизменном виде в течение длительного периода времени». Они часто используются в различных бизнес-процессах в разных отраслях. Центральное администрирование этих наборов данных освобождает отдельные отделы от ответственности за независимое хранение данных и их актуальность. Избегая избыточного хранения данных, управление основными данными упрощает обеспечение согласованности в масштабах всей компании. В области управления складом особенно важны основные данные материалов. Они описывают ассортимент предметов или материалов, используемых в компании. Каждый тип материала идентифицируется уникальным, часто внутренним номером позиции или материала компании. Основные данные материала, относящиеся к LVS, могут включать в себя такую информацию, как размеры, вес, особые требования к хранению (например, для замороженных товаров или опасных товаров), назначенные места хранения, отчетные запасы и т. д. Кроме того, они также могут содержать информацию об отслеживании партий, серийных номерах или сроках годности, чтобы более точно различать отдельные запасы [3, c. 149-154].
2. Интеграция и управление основными данными в процессах складской логистики.
Семантическая информация, такая как размер или варианты цвета предметов одежды или диаметры резьбы типов винтов, также может быть отмечена в основных данных материала. Дополнительная информация, такая как поставщики, цены или сроки пополнения запасов, может храниться для других подразделений компании. Логический образ существующих складских или парковочных мест в компании также можно рассматривать как форму основных данных, и ниже они называются основными данными склада. Они включают информацию о различных складских помещениях, типах складских помещений (например, высокие стеллажи, напольные блоки), а также количестве и расположении складских помещений. Дополнительные свойства, такие как максимальные нагрузки, размеры и этикетки для хранения охлажденных, глубоко замороженных или опасных грузов, также могут храниться в основных данных склада. После принятия товара товар может быть переупакован в подходящее погрузочное оборудование с последующей вывозкой. Товары объединяются в единицы хранения (LE) и логически фиксируются в системе. Каждая созданная единица хранения получает этикетку, содержащую как простой текст, так и машиночитаемые идентификационные элементы, такие как штрих-коды. В ходе этого процесса информация может быть получена из основных данных материала, которые содержат, например, инструкции по упаковке или другую информацию для этого шага. В зависимости от конструкции процесса данные заказа также могут быть запрошены, чтобы решить, что делать с доставленными товарами. Таким образом, материалы, которые необходимы немедленно для поставки продукции, могут быть отправлены напрямую, без предварительного хранения. В этом случае мы предполагаем, что созданный LE необходимо сохранить.