Файл: Принципы соединения пользователей с ресурсами (Архитектура клиент-серверных систем).pdf

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

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

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

Добавлен: 04.04.2023

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

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

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

ВВЕДЕНИЕ

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

Интернет – это глобальная система взаимосвязанных компьютерных сетей, которые используют стандартный набор протоколов интернета (TCP / IP) для обслуживания миллиардов пользователей по всему миру. Это сеть, состоящая из миллионов частных, общественных, академических, деловых и правительственных сетей локального и глобального масштаба, которые связаны широким спектром электронных, беспроводных и оптических сетевых технологий. Интернет предоставляет широкий спектр информационных ресурсов и служб, таких как взаимосвязанные гипертекстовые документы Всемирной паутины и инфраструктура для поддержки электронной почты. Все эти возможности достигаются благодаря использованию модели «клиент-сервер».

Понятие клиент-серверной модели впервые появилось в конце 1980-х годов, когда термины «клиент» и «сервер» были впервые применены к персональным компьютерам в сети [1.]. Модель «клиент-сервер» основана на распределении функций между двумя типами независимых и автономных объектов.

Клиент – это любой процесс, запрашивающий определенные услуги у процессов сервера [6.]. Обычно это персональные компьютеры с установленными сетевыми приложениями (мобильное устройство также может работать как клиент). Сервер – это процесс, который предоставляет запрашиваемые услуги для одного или нескольких клиентов [6.]. Как правило, это устройства, в которых хранятся файлы и базы данных, включая сложные приложения, такие как веб-сайты. Они имеют более мощные центральные процессоры, более жесткие диски и больше памяти по сравнению с клиентом.

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


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

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

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

Архитектура клиент-серверных систем

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

Архитектура совместного доступа к файлам [5.] была основной для первых персональных компьютеров, использовавших доступ в интернет. В такой архитектуре каждая рабочая станция в сети имеет доступ к центральному файловому серверу, на котором хранятся данные. Файлы данных также могут находиться на рабочей станции с клиентским приложением. Несколько рабочих станций получают доступ к одному и тому же файловому серверу, на котором хранятся данные. Сервер загружает файлы из общей папки в среду рабочего стола – связанные с действиями пользователя логика и данные выполняются в среде рабочего стола.

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


Клиент-серверная архитектура основана на аппаратных и программных компонентах, которые взаимодействуют между собой для формирования системы. Система включает в себя в основном три компонента [5.]:

  1. Аппаратное обеспечение (клиент и сервер);
  2. Программное обеспечение (которое обеспечивает работоспособность оборудования);
  3. Связующее программное обеспечение (используется для связи аппаратного и программного обеспечения).

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

  1. Аппаратная независимость;

Принципы аппаратной независимости требуют, чтобы процессы клиентского, серверного и связующего программного обеспечения выполнялись на нескольких аппаратных платформах (IBM, DEC, Compaq, Apple и т.д.) без каких-либо функциональных различий.

  1. Независимость программного обеспечения;

Принципы независимости программного обеспечения требуют, чтобы процессы клиентского, серверного и связующего программного обеспечения поддерживали несколько операционных систем (таких как Windows 7, Windows 10, Apple Mac, Linux, Unix и т.д.), несколько сетевых протоколов (таких как IPX и TCP / IP) и несколько приложений (электронные таблицы, базы данных, электронная почта и т. д.).

  1. Открытый доступ к услугам;

Все клиенты в системе должны иметь открытый (неограниченный) доступ ко всем услугам, предоставляемым в сети, и эти услуги не должны зависеть от местоположения клиента или сервера. Ключевой момент заключается в том, что услуги должны предоставляться по требованию клиента. Предоставление услуг по требованию является одной из основных задач модели клиент / сервер.

  1. Распределение процессов;

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

  • Процессы клиента и сервера должны быть автономными объектами с четко определенными границами и функциями;
  • Локальное использование ресурсов (как на стороне клиента, так и на стороне сервера) должно быть максимальным;
  • Масштабируемость и гибкость требуют, чтобы процессы клиента и сервера легко обновлялись для работы на более мощных аппаратных и программных платформах;
  • Функциональная совместимость и интеграция требуют, чтобы клиентские и серверные процессы были совместимы и легко интегрировались для формирования системы.

  1. Стандарты.

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

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

  1. Приемлемое оборудование;

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

  1. Операционная система, способная к многозадачности;

Клиент должен иметь доступ к операционной системе с минимальными возможностями многозадачности. Любая из систем Microsoft Windows старше 1998 года обеспечивает доступ к памяти, многозадачность при работе с приложениями и графический пользовательский интерфейс, что делает Windows одной из самых популярных платформ в большинстве реализаций клиент-серверных систем [5.]. Однако многие современные «разновидности» UNIX, включая Linux с множеством различных дистрибутивов, также хорошо подходят в качестве основной операционной системы для клиентской стороны.

  1. Наличие средств связи;

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

  1. Графический интерфейс пользователя.

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


Как уже упоминалось ранее, сервер – это любой процесс, который предоставляет услуги клиентскому процессу. Сервер всегда ожидает запроса клиента. Вот некоторые услуги, предоставляемые сервером:

  1. Файловые сервисы;

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

  1. Сервисы по управлению печатью;

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

  1. Сервисы базы данных;

При наличии сервера базы данных клиент отправляет SQL-запрос на сервер. Сервер получает код запроса, проверяет его, выполняет и отправляет результат клиенту. Данные и ядро ​​базы данных находятся на компьютере сервера базы данных.

  1. Сервисы веб-приложений;

Некоторые документы, данные и т. д. находятся на веб-серверах. Веб-приложение обеспечивает доступ к документам и другим данным. «Тонкие» клиенты обычно используют веб-браузер для запроса этих документов. Такие сервисы обеспечивают совместное использование документов в интрасетях или в Интернете. Наиболее часто используемый протокол – это HTTP (протокол передачи гипертекста). Серверы веб-приложений теперь дополняют простые веб-серверы.

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

Серверное приложение, или бэк-энд, взаимодействует с компонентами связующего программного обеспечения для того, чтобы обрабатывать клиентский запрос. В отличие от процессов фронт-энда, процесс сервера не обязательно должен быть основан на графическом интерфейсе. Бэк-энд приложение взаимодействует с операционной системой (сетевой или автономной) для доступа к локальным ресурсам (жесткий диск, память и т.д.). Бэк-энд сервер постоянно «слушает» запросы клиентов. Как только запрос получен, сервер обрабатывает его локально. Сервер знает, как обрабатывать запрос; клиент сообщает серверу только то, что ему нужно, а не то, как это делать. Когда запрос выполнен, ответ отправляется обратно клиенту через связующее программное обеспечение.