Это зависит от архитектуры / дизайна вашего веб-приложения. Практическое правило: клиентское приложение должно быть другой частью программного обеспечения, чем (ресурсный) сервер. Не существует «одного правильного способа» для разработки архитектуры клиент / сервер.
Наиболее распространенными реализациями для веб-приложений являются MVC (Model View Controller и SPA (одностраничные приложения).
MVC приложения (такие как ASP.NET или ZendFramework) - это приложения, которые представляют собой стенд, выполняющий рендеринг клиента и обрабатывающий бизнес-логику в бэкэнде, и не основанный на модели клиент / сервер. (Действие в контроллере обрабатывает запрос, загружает некоторые данные и отображает представление HTML в качестве ответа).
Но: если ваше MVC-приложение действует как прокси-сервер, вызывающий «удаленный» веб-сервис изнутри (через SOAP или любой другой), его следует рассматривать как клиентское приложение.
Например: система CRM работает в сети интрасети и предоставляет услуги передачи данных для настольных клиентов. Вы могли бы написать веб-приложение, которое отображает данные из этих служб, которые затем являются другим клиентским приложением.
Архитектура SPA требует отделения сервера от внешнего интерфейса, причем внешний интерфейс SPA является клиентским приложением. С этим требованием вы в основном уже внедряете архитектуру клиент / сервер. Допустим, внешний интерфейс AngularJS и внутренний сервер могут быть службой REST (например, ASP.NET WebAPI или Lumen).
Выбор места размещения клиентского приложения не влияет на архитектуру клиент / сервер, поскольку приложения по-прежнему разделены при выполнении: браузер выполняет JavaScript SPA на устройстве посетителя и вызывает службу в каком-либо центре обработки данных. .