Можно ли считать веб-приложение частью архитектуры клиент / сервер? - PullRequest
0 голосов
/ 12 ноября 2018

Я занимаюсь исследованием клиент-серверной архитектуры и веб-приложений. Я читал разные мысли и предложения в Интернете. Некоторые говорят, что веб-приложения не считаются приложениями клиент-серверной архитектуры, в то время как другие говорят прямо противоположное. Мне было интересно, что на самом деле правильно, и если кто-то может дать подробное объяснение, которое будет высоко оценено?

Ответы [ 2 ]

0 голосов
/ 14 ноября 2018

Веб-приложение является частью клиент-серверной архитектуры. Любые реализации всегда имеют два или более уровня, поэтому два или более процесса взаимодействуют друг с другом. Вы можете взглянуть на мою старую презентацию « Архитектура корпоративной (автоматизированной) информационной системы - Слои и уровни », в которой показаны различные клиент-серверные архитектуры, включая пример веб-приложения (слайд «Уровни - это физические уровни (примеры»). ) "показывает примеры).

0 голосов
/ 12 ноября 2018

Это зависит от архитектуры / дизайна вашего веб-приложения. Практическое правило: клиентское приложение должно быть другой частью программного обеспечения, чем (ресурсный) сервер. Не существует «одного правильного способа» для разработки архитектуры клиент / сервер.

Наиболее распространенными реализациями для веб-приложений являются MVC (Model View Controller и SPA (одностраничные приложения).

MVC приложения (такие как ASP.NET или ZendFramework) - это приложения, которые представляют собой стенд, выполняющий рендеринг клиента и обрабатывающий бизнес-логику в бэкэнде, и не основанный на модели клиент / сервер. (Действие в контроллере обрабатывает запрос, загружает некоторые данные и отображает представление HTML в качестве ответа).

Но: если ваше MVC-приложение действует как прокси-сервер, вызывающий «удаленный» веб-сервис изнутри (через SOAP или любой другой), его следует рассматривать как клиентское приложение. Например: система CRM работает в сети интрасети и предоставляет услуги передачи данных для настольных клиентов. Вы могли бы написать веб-приложение, которое отображает данные из этих служб, которые затем являются другим клиентским приложением.


Архитектура SPA требует отделения сервера от внешнего интерфейса, причем внешний интерфейс SPA является клиентским приложением. С этим требованием вы в основном уже внедряете архитектуру клиент / сервер. Допустим, внешний интерфейс AngularJS и внутренний сервер могут быть службой REST (например, ASP.NET WebAPI или Lumen).

Выбор места размещения клиентского приложения не влияет на архитектуру клиент / сервер, поскольку приложения по-прежнему разделены при выполнении: браузер выполняет JavaScript SPA на устройстве посетителя и вызывает службу в каком-либо центре обработки данных. .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...