Файл: Методологические аспекты архитектуры клиент-сервера.pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 29.03.2023

Просмотров: 230

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Введение

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

За выполнение всех необходимых действий в сети Интернет, сформирована концепция «Клиент-сервер», в которой участвуют две стороны – клиент и сервер. В качестве клиента выступает заказчик услуги, а сервера – поставщик данных услуг.

Физически, клиент и сервер представляют собой программы, например, в качестве основного признается браузер на любом персональном компьютере. В свою очередь, в качестве сервера выступают все HTTP сервера (в частности Apache), MySQL сервер, локальный веб-сервер AMPPS или готовая сборка Denwer.

Структурные компоненты «клиент» и «сервер» на постоянной основе взаимодействуют друг с другом в сети Интернет, а также в любой компьютерной сети с помощью различных сетевых протоколов, например IP протокол, HTTP протокол, FTP и др. Например, при помощи HTTP протокола браузер отправляет специальное HTTP сообщение, в котором указано какую информацию и в каком виде он хочет получить от сервера, а сервер, получив такое сообщение, отсылает браузеру в ответ похожее по структуре сообщение (или несколько сообщений), в котором содержится нужная информация, как правило - HTML документ.

Сообщения, которые посылают клиенты, получили название «HTTP запросы». Запросы имеют специальные методы, которые говорят серверу о том, как обрабатывать сообщение. В свою очередь, сообщения, которые посылает сервер получили название «HTTP ответы», которые содержат помимо полезной информации еще и специальные коды состояния, которые позволяют браузеру узнать то, как сервер понял его запрос.

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

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


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

Целью курсовой работы является подробное теоретическое и методологическое изучение модели «клиент-сервер». Для достижения поставленной цели определены следующие задачи:

  1. рассмотреть сущность и основные характеристики технологии «клиент-сервер»;
  2. изучить архитектуру модели «клиент-сервер»;
  3. провести сравнительную характеристику действующих архитектур.

Объектом курсовой работы признается информационная среда, в которой осуществляет функционирование модель «клиент-сервер», а предметом – сущность и основные компоненты технологии «клиент-сервер».

Методами научного исследования является выборочный (метод исследования общих свойств и качества», а также обобщение и классификация полученной информации.

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

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

1. Теоретические аспекты технологии клиент-сервер

1.1 Сущность и основные характеристики технологии клиент-сервер

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

Зачастую, серверы и клиенты взаимодействуют через компьютерную сеть и могут быть представлены в виде программного обеспечения или в виде разлитого рода физического устройства. 


Технология клиент-сервер проста. Например, пользователь осуществляет запрос в поисковой строке, после чего сервер выдает ответ в виде списка сайтов по запрошенной информации. Данный пример является одним из самых простых.

Графически технология клиент-сервер представлена на рисунке 1. [2, c.85]

запросы

запросы

Рис. 1 – Технология клиент-сервер

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

Необходимо выделить ряд основных характеристик, которые отличают вычислительную модель клиент-сервер от обычных схем распределённых вычислений: [3, c.73]

1) в технологии «клиент-сервер» большое значение уделяется формированию на клиентской машине дружественного интерфейса. Это обеспечивает пользователю полный контроль над расписанием и режимом работы компьютера, а менеджеры различных отделов, в свою очередь, получают возможность своевременно реагировать на локальные и масштабные проблемы;

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

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

4) ядром технологии признаётся компьютерная сеть, поэтому все вопросы, связанные с сетевым администрированием и сетевой безопасностью при работе с информационными системами данного типа, имеют высокий приоритет.

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

Успех технологии «клиент-сервер» объясняется тем, что данная модель действительно представляет собой новый технический метод распределённых вычислений. При этом, клиент-сервер формирует условия для новых подходов и методов организации бизнеса.


Все данные, находящиеся на файл-серверной системе, хранятся на файловом сервере, а их обработка происходит на рабочих станциях с помощью функционирования настольных систем управления баз данных, например, FoxPro, Access, Paradox и тд. 

Среди преимуществ технологии клиент-сервер необходимо выделить следующие: [1, c.97]

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

В свою очередь, к недостаткам технологии клиент-сервер необходимо отнести:

  1. отсутствие рабочего сервера делает неработоспособной всю вычислительную сеть;
  2. необходим отдельный специалист в роли системного администратора для поддержания рабочей данную систему;
  3. высокая стоимость оборудования. 

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

Клиент (пользовательский интерфейс)

Клиент (пользовательский интерфейс)

Сервер приложений (бизнес-логика»

Сервер БД (управление данными)

Клиент (пользовательский интерфейс)

Рис.2 – Многоуровневая архитектура клиент-сервер [6, c.49]

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

Коммутатор

Клиент 1


Клиент 2

Сервер

Клиент 4

Клиент 3

Рис. 3 – Сеть с выделенным сервером [10, c.67]

Компьютеры и программы, находящиеся в составе информационной системы, могут не являться равноправными. Одни из них владеют определенными ресурсами, а некоторые могут обращаться к этим ресурсам. Программу или компьютер, которые управляют этим ресурсом, называют сервером этого ресурса. Сервер или клиент любого ресурса могут находиться одновременно на одном компьютере и одновременно на разных компьютерах, связанных сетью. 

В пределах многоуровневого представления вычислительной системы стоит отметить 3 группы функций, которые направленные на решение различных подзадач: [9, c.82]

  1. функции отображения и ввода данных, которые позволяют взаимодействовать с пользователем;
  2. различные прикладные функции, которые типичны для этой предметной области;
  3. любые функции управления ресурсами, например, базой данных или файловой системой и тд. 

В основном, выполнение данных функций зависит и обеспечивается от программных средств, представленных в виде компонентов, отраженных на рисунке 4.

Рис. 4 – Компоненты сетевого приложения [3, c.94]

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

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

1.2 Архитектура «клиент-сервер»

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