Это сервис-ориентированная архитектура, а не архитектура, исключающая сервис.
Логика представления и слесарное дело должны где-то жить;все зависит от того, где он имеет смысл.
Например, предположим, у вас есть компонент пользовательского интерфейса, который использует очень болтливый, но эффективный набор обращений к базе данных для генерации сложного анализа.чего-то (сделайте свой выбор).Если ваш веб-браузер выполняет все эти вызовы, вы сталкиваетесь с большими задержками в сети и проблемами параллелизма.Если веб-служба выполняет все эти вызовы, вы потенциально можете поместить в нее логику представления для форматирования этого результата.
Если вы используете состояние сеанса (или период веб-служб), вы, по сути, все равно используете ASP.Net.Попробуйте удалить его и посмотрите, работают ли ваши веб-службы.
Если логика представления должна работать на стороне сервера, лучше использовать среду, предназначенную для представления, а не веб-службу, IMO.Если вы еще не смотрели MVC 2, сделайте это.Это невероятно упрощает настройку приложения, которое поддерживает браузер и серверный пользовательский интерфейс (например, средства проверки jQuery, поддерживаемые проверкой на стороне сервера).
И наоборот, веб-браузер предоставляет выразительную платформу.Предполагая поддержку браузера и командное знание, архитектура AJAX / SOA, которую вы описываете, является хорошей.Я использую его все больше и больше и пытаюсь сделать свои страницы сервера чище и проще, но у меня нет планов исключать ASP.Net из моего набора инструментов в ближайшее время.