Недавно я работал с MVC4 и вполне освоился со стеком View> View Model> Controller> Service> Repository с IoC и всем остальным. Мне это нравится. Это работает хорошо. Тем не менее, мы движемся к общекорпоративной платформе приложений, которая будет обслуживать большинство бизнес-приложений внутри компании.
Основные цели архитектуры:
- Клиент, обращенный к сайту MVC
- Веб-сайт внутреннего администратора
- Множество запланированных заданий по импорту/экспорту данных/и т. д. третьим сторонам
- Служебный автобус, расположенный посередине, для демонстрации деловых мероприятий
- Общедоступный API для использования клиентами
Мои первоначальные мысли заключаются в том, чтобы ввести «уровень корпоративных служб», применяя мои интерфейсы служб к контрактам WCF и регистрируя прокси-классы WCF в моем IoC. Это позволило бы мне повторно использовать тот же шаблон, который я использую в настоящее время, но я не нашел много примеров этого на практике. За исключением этот парень.
Правда, я не уверен, какое решение лучше всего подходит для проекта такого масштаба.
1) Что следует учитывать при централизации бизнес-служб?
2) Как это повлияет на сквозные проблемы, такие как проверка, авторизация и т. д.? Я думал, что уже понял это, но размещение DTO между слоями все меняет.
3) У меня есть опыт работы с WCF, но я слышал, что Service Stack сейчас в моде... Должен ли SS быть соображение с его RESTful совершенством?