Компьютерные сети взаимодействие клиент сервер

Схема взаимодействия клиента и сервера.

При реализации технологии «клиент-сервер» для компьютерной сети в ней устройства являются либо клиентами, либо серверами.

Клиентом (front end) является запрашивающая машина (обычно ПК), сервером (back end) — машина, которая отвечает на запрос. Оба термина (клиент и сервер) могут применяться как к физическим устройствам, так и к программному обеспечению.

Сеть с выделенным сервером (англ. Сlient/Server network) — это локальная вычислительная сеть (LAN), в которой сетевые устройства централизованы и управляются одним или несколькими серверами. Индивидуальные рабочие станции или клиенты (такие, как ПК) должны обращаться к ресурсам сети через сервер(ы).

2. Процесс-сервер, процесс-клиент.

Мультипроцессорные машины подразделяются на два семейства:

— жестко связанные или жестко соединенные мультипроцессоры (tightly coupled), в которых процессоры связаны через общую память (рис.2.1.);

— слабо связанные или слабо соединенные мультипроцессоры (loosely coupled), в которых процессоры связаны через средство связи (как правило, шину), отличное от общей памяти

Необходимо отметить, что эти виды архитектуры могут сочетаться между собой: каждый процессор может обладать локальной памятью и делить с остальными общую память. Кроме того, в настоящее время процессоры обладают одним или двумя уровнями кэширования.

Появление сетей, предназначенных для взаимной связи различных компьютеров, привело к разработке средств, а затем и операционных систем, позволяющих осуществлять управление, так называемой, мультимашинной архитектурой, то есть совокупности полносоставных компьютеров (процессоры, память, вводы-выводы. ), связанных в сеть. В этом случае речь идет о распределенных вычислительных системах.

С точки зрения хронологии, взаимодействие между программами последовательно приобретало следующие формы:

· — обмен: программы различных систем посылают друг другу сообщения (как правило, файлы);

· — разделение: имеется непосредственный доступ к ресурсам нескольких машин (совместное пользование файлом, например);

· — совместная работа: машины играют в реализации программы взаимодополняющие роли.

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

Читайте также:  В компьютерных сетях концентратор выполняет функцию сжатия сигнала

3. Схема взаимодействия клиента и сервера.

Клиентом называется объект,запрашивающий доступ к службе или ресурсу. Сервер — это объект несущий службу или обладающий ресурсом.

Клиент и сервер могут находиться на одной и той же машине (использование локальных механизмов коммуникации) или на двух разных машинах (использование сетевых средств). В рамках нашего исследования, клиентом и сервером являются два процесса UNIX, связанные между собой через механизм IPC (Interprocess Communication), локальный или сетевой

Клиент и сервер не играют симметричную роль. Процесс-сервер инициализируется и, затем, переходит в состояние ожидания запросов от возможных клиентов. Как правило, процесс-клиент запускается в интерактивном режиме и посылает запросы серверу. Сервер исполняет полученный запрос, причем это может подразумевать диалог с клиентом, а может и нет. Затем сервер вновь переходит в состояние ожидания других клиентов.

Схема взаимодействия клиента и сервера.

Один из основных принципов технологии «клиент — сервер» заключается в разделении функций стандартного интерактивного (диалогового) приложения на че­тыре группы, имеющие различную природу.

1.Браузер открывает соединение с сервером

2.Браузер отправляет серверу запрос на получение страницы

3.Сервер формирует ответ (чаще всего — HTML-код) браузеру и закрывает соединение

4.Браузер обрабатывает HTML-код и отображает страницу

Первая группа. Это функции ввода и отображения данных.

Вторая группа — объединяет чисто прикладные функции, характерные для данной предметной области (например, для банковской системы — открытие счета, перевод денег с одного счета на другой и т. д.).

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

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

В соответствии с этим в любом приложении выделяются следующие логические компоненты:

• компонент представления (presentation), реализующий функции первой группы;

• прикладной компонент (business application), поддерживающий функции второй группы;

Читайте также:  Классификации компьютерных сетей по уровню административной поддержки

• компонент доступа к информационным ресурсам (resource manager), поддерживающий функции третьей группы, а также вводятся и уточняются соглашения о способах их взаимодействия (протокол взаимодействия).

Различия в реализации технологии «клиент — сервер» определяются следующими факторами:

• виды программного обеспечения, в которые интегрирован каждый из этих компонентов;

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

• способы распределения логических компонентов между компьютерами в сети;

• механизмы, используемые для связи компонентов между собой.

Выделяются четыре подхода, реализованные в следующих технологиях:

• файловый сервер (File Server — FS);

• доступ к удаленным данным (Remote Data Access — RDA);

• сервер баз данных (Data Base Server — DBS);

4. Серверы приложений: типы, назначение, функции.

C ерверы приложений — это программное обеспечение, предназначенное для создания систем с выделенными сервисами бизнес-логики. Чаще всего серверы приложений выполняются под управлением серверных операционных систем (различных версий UNIX, Windows NT Server, Windows 2000 Server). Компоненты, реализующие бизнес-логику распределенного приложения и выполняющиеся под управлением сервера приложений, могут представлять собой COM — или CORBA -объекты, Java -серверы либо Enterprise Java Beans (EJB) — Java -компоненты. Многие серверы приложений позволяют реализовать приложения, устойчивые к сбоям. В настоящее время серверы приложений являются основой многих корпоративных решений, например распределенных приложений, реализующих следующие схемы:

· «предприятие — потребитель» (B 2 C, business — to — consumer), такие как онлайновая продажа товаров, бронирование билетов и мест в гостиницах, услуги страхования;

· «предприятие — предприятие» (B 2 B, business — to — business), такие как виртуальные торговые площадки, позволяющие заключать торговые сделки между предприятиями;

· «предприятие — сотрудник» (B 2 E, business — to — employer), такие как корпоративные порталы.

Нередко в корпоративных решениях применяются конфигурации, содержащие несколько серверов приложений. Как правило, подобные решения обладают многозвенной архитектурой, при этом серверы приложений обычно располагаются между сервером баз данных и Web -сервером либо между сервером баз данных и клиентскими приложениями. Нередко функциональность Web -сервера реализуется и в самом сервере приложений.

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

Читайте также:  Компьютерная графика типы сетей

Из технологий, поддерживаемых современными серверами приложений, следует в первую очередь отметить средства интеграции приложений, созданных на различных платформах, в том числе поддержку Web -сервисов, средства разработки приложений, наличие продуктов специализированного назначения, основанных на данном сервере приложений (например, средств управления информационным наполнением), поддержку беспроводных Лидерами рынка серверов приложений на данный момент является компания IBM. Из других наиболее известных продуктов, относящихся к категории серверов приложений, следует отметить серверы компаний Oracle, Sun Microsystems, Borland, Sybase,.

Источник

Глава 4. Модель «клиент-сервер» и её реализация в компьютерных сетях

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

4.1. Определение модели «клиент-сервер»

Клиент-сервер — это модель взаимодействия процессов в вычислительной системе, при которой один процесс (клиент) делает запрос, другой процесс (сервер) его обрабатывает и возвращает первому ответ или предоставляет определенную услугу в виде вычислений, каких-либо данных и т.п.

Чаще всего процесс-клиент запускается на одном компьютере, процесс-сервер — на другом.

В общем виде модель представлена на рис. 13.

Рис. 13 Модель «клиент-сервер»

Также клиентом (рабочей станцией) в двухранговой компьютерной сети называется компьютер, на котором преобладают процессы-клиенты, а сервером — компьютер, на котором преобладают процессы-серверы. В процессе работы сети компьютер-сервер и компьютер-клиент могут меняться ролями. Любой компьютер может одновременно быть клиентом и сервером для различных видов услуг.

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

4.2. Виды сетевых служб

Несмотря на то, что технологии «клиент-сервер» применима как в централизованных, так и в распределенных вычислительных системах, она достигла популярности именно в компьютерных сетях.

Сетевая служба (сервис) — это определенный вид обслуживания, предоставляемый сервером.

Сетевые службы занимаются предоставлением:

  • совместно используемых аппаратных ресурсов — процессорного времени, памяти, диска, принтеров;
  • различных сетевых услуг — обрабатывают и предоставляют различную информацию.

Источник

Оцените статью
Adblock
detector