Всем привет! Есть такой вопрос или даже просьба поделиться опытом и советом.
Заранее извиняюсь, что много текста…
Дано: система обрабатывающая заявки на выдачу разных продуктов. Во время обработки заявка проходит через несколько этапов, в каждом из которых также есть подмножество операций (зачастую АСИНХРОННЫХ) с обращениями во внешние системы.
На данный момент архитектура основана на статусной модели и батчевой обработке записей.
То есть заявка на выдачу печенья условно живет так: готова к валидация -> валидация закончена -> готова к поиску клиента -> клиент найден -> ну и так далее. По шедулерам запускается множество сервисов, которые отбирают записи в нужном им статусе и делают с ними, что им надо.
Долгое время система работала с продукцией только небольшого количества фирм, но пришел бизнес и говорит, что хочет запустить кучу других продуктов на нашей платформе, и запускать он их хочет раз в месяц и вообще бизнес логика обработки новых продуктов сулит кучу разных вариаций обработки заявок на выдачу. Например, для одного продукта не надо проводить нотификацию, для второго не надо заключать договор, а для третьего надо заключать договор, но особенный, ну, и так далее.
Цель: Одна из мыслей это создать некий конструктор, где с помощью веб интерфейса можно будет для разных продуктов, например, определять разный порядок этапов обработки, их необходимость и т.д..
Ну и собственно вопрос в том, был ли у кого-то подобный опыт или может быть читали о таком или просто может есть идеи, как спроектировать?
Заранее спасибо!