Ответить на вопрос непросто, если рекомендуется использовать службу WCF на том же сервере, что и приложение.Если вы хотите не защищать службу как можно дольше, вы, конечно же, можете разместить ее на отдельном сервере за брандмауэром, позволяя веб-приложению получать к ней доступ.Но тогда кажется, что создание сервиса вообще излишне.Предоставляет ли он методы, которые должны быть доступны для клиента?- При определении сценария развертывания вы также должны измерить стоимость для безопасности и масштабируемости.Чем больше серверов, тем выше затраты как на покупку серверов, так и на их обслуживание.
Я думаю, что вы можете использовать как транспорт, так и безопасность сообщений, но, используя безопасность сообщений, вы можете передавать сообщения по http, что означает меньший трафик, чем https.
О количестве уровней в вашем приложении, это также зависит от характера приложения.Вы могли бы даже рассмотреть CQRS или подобные архитектуры.Но если у вас есть правильное разделение слоев, и они зависят только от следующего слоя, вы всегда можете вставить новые слои, если это необходимо.Говоря о том, что: если вы планируете использовать службу WCF в качестве внутреннего DAL, вы также можете установить приоритеты, чтобы просто создать простой DAL с надлежащим интерфейсом, который впоследствии можно будет изменить на службу WCF.
Есть много веских причин для создания веб-службы, и это дает вам возможность масштабирования на большем количестве серверов в дальнейшем, поэтому я определенно не рекомендую использовать веб-службу, просто скажу, что она может быть излишней или представлятьбольшая поверхность атаки в вашем приложении.
В целях повышения производительности вы могли бы получить прирост при использовании привязок tcp, а не http, но подключение внешних приложений проще по http, если задействован какой-либо клиент, не являющийся wcf.
Возможно, этот пост содержит больше вопросов, чем ответов, но вы единственный, кто может решить, учитывая краткость вашего описания:)