Насколько я понимаю, основная цель веб-сервисов заключается в том, что они способны предоставлять функциональность приложений для внешних приложений в слабосвязанной форме.
Чтобы улучшить масштабируемость, обычно важен многоуровневый подход в вашем приложении, при котором уровни можно независимо увеличивать / уменьшать в зависимости от потребностей. Теперь, да, вполне возможно, что с точки зрения реализации вы могли бы реализовать этот уровень как веб-сервис, но это вряд ли является производительным вариантом.
Если внешняя интеграция не требуется , вам, как правило, гораздо лучше использовать более быстрые средства связи между уровнями, такими как TCP / именованные каналы. Если вы работаете на платформе .NET и используете WCF для создания своих служб, то TCP / MSMQ / именованные каналы - это параметры, которые считаются более производительными, чем обычные веб-службы (HTTP). В предыдущих версиях .NET было распространено использование удаленного взаимодействия .NET для взаимодействия между уровнями, и это также было намного более производительным, чем веб-сервисы.
Что касается наличия веб-сервисов повсеместно, с ними связана стоимость, и это производительность, поэтому вы не хотите, чтобы они были рядом, за исключением тех мест, где вы действительно выиграете от их наличия. В большинстве случаев предоставление бизнес-логики внешним приложениям через уровень обслуживания поверх вашего бизнес-уровня - это обычно одно из наиболее распространенных мест для предоставления услуг.