Клиент-серверная архитектура

Клиент-серверное приложение разбито на два составляющих процесса:

  • клиент, который просит сервер о какой-либо услуге, отправив ему сообщение с за­просом;
  • сервер, который изучает запрос клиента, выполняет соответствующие действия, а за­тем отправляет назад клиенту сообщение с ответом.

Иногда клиент и сервер могут быть вовлечены в расширенный диалог из запросов и ответов.

Обычно клиентское приложение взаимодействует с пользователем, а серверное при­ложение предоставляет доступ к некоторому совместно используемому ресурсу. Чаще всего обменом данными с одним или несколькими серверными процессами занимается несколько клиентских процессов.

Клиент и сервер могут находиться на одном и том же ведущем компьютере или на отдельных хостах, соединенных по сети. Для взаимного обмена сообщениями клиент и сервер используют IPC-механизмы.

Серверы могут реализовывать различные сервисы, например:

  • предоставление доступа к базе данных или другому совместно используемому ин­формационному ресурсу;
  • предоставление доступа к удаленному файлу по сети;
  • инкапсуляция какой-нибудь бизнес-логики;
  • предоставление доступа к совместно используемым аппаратным ресурсам (например, к принтеру);
  • обслуживание веб-страниц.

Инкапсуляция сервиса на отдельном сервере имеет смысл по нескольким причинам, в числе которых следующие.

  • Рентабельность. Предоставление одного экземпляра ресурса (например, принтера), управляемого сервером, может быть проще предоставления того же самого ресурса локально каждому компьютеру.
  • Управление, координация и безопасность. При содержании ресурса (особенно инфор­мационного) в одном месте сервер может координировать доступ к ресурсу (напри­мер, так, чтобы два клиента не могли одновременно обновлять один и тот же блок информации) или обеспечить его безопасность таким образом, чтобы он был доступен только избранным клиентам.
  • Работа в разнородной среде. В сети различные клиенты и сервер могут быть запущены на различном оборудовании и на разных платформах операционных систем.

 

Вас заинтересует / Intresting for you:

Разработка и исследование инфо...
Разработка и исследование инфо... 1375 просмотров Денис Wed, 27 Mar 2019, 03:15:40
Значение Java EE для построени...
Значение Java EE для построени... 1456 просмотров Светлана Комарова Fri, 14 Dec 2018, 06:32:09
Выбор технологий Data Mining д...
Выбор технологий Data Mining д... 4452 просмотров Administrator SU Thu, 26 Apr 2018, 17:16:12
Как выбрать облачную платформу...
Как выбрать облачную платформу... 3240 просмотров Денис Mon, 11 May 2020, 14:24:34
Войдите чтобы комментировать