Viacheslav Stepanov
А есть какой-то профит от усложнения такого взаимодейтсвия engine - интерфейс - application? Мы просто думали над тем чтобы разбить на микросервисы, оценили, что это очень много работы и усложнения архитектуры. Начали бизнес логику просто распределять по engine, но связность очень сильная, если нужно напрямую обращаемся к моделям app.
А у нас выбора нет с таким монолитом комфортно жить, нам нужны разные релизные циклы для каждого из этих приложений. И разные требования по скалированию.
Но взять и махом перейти сразу на микросервисы мы не готовы, у нас все очень плотно переплетено.
Так что как раз чтобы снизить связность мы и начали делить на engine.
И внутри engine мы не обращаемся к моделям из основного приложения, а дублируем их, иначе смысла мало выходит.