Интеграция Mobile SMARTS со сторонними системами через коннекторы
Внешние соединения (коннекторы) предназначены для вызова функций внешних систем по запросу с ТСД, с их помощью также может выполняться обработка событий сервера. При помощи коннекторов можно решить целый ряд весьма полезных задач, таких как:
- получение реальных остатков по сканированной номенклатуре;
- уточнение цен онлайн;
- отправка набранных заказов с проверкой наличия и других условий;
- подбор в ячейках, перемещение палет и коробок с немедленной фиксацией изменений в учетной системе и др.
Для каждой учетной системы коннектор разрабатывается отдельно и особенности его работы зависят от реализации.
Вызов внешних систем с терминала сбора данных (ТСД) происходит не напрямую, а через посредника (сервера Mobile SMARTS).
Данные для отправки во внешнюю систему формируются в клиенте Mobile SMARTS на ТСД, а затем передаются серверу Mobile SMARTS с указанием, какой коннектор использовать и какую задачу решать.
В случае обработки событий сервера, данные для указанного обработчика события формирует сервер.
Принцип работы коннекторов
Обращение к внешней системе с передачей и получением каких‑то полезных данных происходит следующим образом:
- В клиенте Mobile SMARTS на ТСД действие «Вызов метода внешней системы» формирует аргументы для вызова внешней системы, упаковывает их в объект Cleverence.Warehouse.InvokeArgs и отправляет на сервер Mobile SMARTS вместе с именем коннектора, именем класса и именем метода;
- Сервер Mobile SMARTS ищет коннектор с требуемым именем в списке зарегистрированных и передает ему аргументы вместе с именем класса и метода для вызова;
- Коннектор осуществляет вызов указанного метода внешней системы и получает результат;
- Результат возвращается серверу Mobile SMARTS, упаковывается в объект Cleverence.Warehouse.InvokeResult и отправляется на ТСД;
- В клиенте Mobile SMARTS на ТСД действие «Вызов метода внешней системы» кладет полученный результат в текущую сессию под именем, которое задано у него в свойстве «Переменная сессии для результата»;
- Теперь любое другое действие в программе на ТСД может получить доступ к результату вызова для вывода его на экран или выполнения расчетов.