Всем привет!
Очень интересует следующий вопрос: к примеру, имеется розничный бизнес, точки продаж сильно географически разнесены. Связь, понятное дело, бывает разная.
В каждой точке имеется POS-система, которая в части интеграции умеет только выгружать файлы. Ситуация довольно распространенная, насколько мне известно.
Задача - максимально оперативно и надежно передавать данные в “центральную” систему. Причем, помимо стандартного набора данных по закрытию смены, в центральной системе есть необходимость иметь данные о продажах в оперативном режиме.
POS-система умеет выгружать файлы в локальные и сетевые каталоги как по закрытию смены, так и по отдельным транзакциям за выбранный период. Но это все равно файлы.
Собственно, вопросы:
Что делать, если центральная система умеет работать с AMQP, а системы-producer’ы - нет?
Насколько целесообразно считать сообщением появление файла в каталоге выгрузки?
Как без доработки producer’а сделать так, чтобы файл вставал в очередь при появлении в каталоге?
Что делать с файлом после того, как он будет обработан (удален из очереди)? Какой компонент должен за этой отвечать?
Мне видится, что на стороне POS для этих целей должен быть настроен еще один программный модуль.
Изучение документации навело на мысль об Apache Camel.
Подскажите, верное ли направление мысли?
Какие еще имеются варианты?