У нас есть процесс, который запускается несколько раз в день (через службу Windows) и также может быть вызван в любое время пользователем уровня администратора (через веб-приложение). Этот процесс получает набор данных от партнера через веб-сервис, затем мы объединяем эти данные с нашей локальной копией в нашем собственном формате. Достаточно просто.
Мой вопрос: как это вписывается в наш дизайн приложения? У нас есть довольно простой уровень Application Services, который взаимодействует с нашим хранилищем для работы с объектами нашего домена. Домен невежественен.
Как этот процесс должен вписываться в эту архитектуру? Мы,
- Поставить больше всего логики в сервисе приложений? Просто вызовите стороннюю службу, возьмите наши локальные объекты из репозитория и сделайте наши обновления / добавления / и т.д. и сохраните их обратно в репозиторий. По сути, просто относитесь к сторонней службе как к другому хранилищу.
- Попросите службу приложения взять наши локальные данные (пока не беспокойтесь об объеме данных), передайте их в службу уровня домена, которая будет вызывать стороннюю службу, объедините данные по мере необходимости, а затем верните новый набор данных в Служба приложения для фиксации в хранилище?
- Другие опции ...