Добавлен: 03.07.2023
Просмотров: 285
Скачиваний: 4
СОДЕРЖАНИЕ
Глава 1. Технологии «клиент-сервер»
1.1. Характеристика технологии «клиент-сервер»
1.2.1. Двухзвенная архитектура
1.2.2. Трехзвенная архитектура
Глава 2. Распределенные системы обработки информации
2.1. Сущностью распределенных систем обработки информации
2.2. Распределенная система обработки информации
Глава 3. Программная реализация
3.1. Проектирование базы данных
ВВЕДЕНИЕ
Актуальность выполнения данной работы обусловлена тем, что современное информационное пространство предполагает обработку огромного количества информации. Использование разрозненных средств информационных систем уже недостаточно для обеспечения эффективной работы организации и пользователя, в частности. Перевод сервисов в облака позволяет предоставить организациям более широкий спектр услуг и надежность обработки информации. И при этом, использование технологии клиент-сервер позволяет достичь максимального эффекта обработки информации.
Технология клиент-сервер представляют собой специализированную информационную модель по обеспечению пользователям удобного сетевого доступа по требованию к определенному общему фонду конфигурируемых ресурсов, которые могут быть в оперативном порядке освобождены и предоставлены с минимальными затратами или обращениями к провайдеру предоставления услуг.
Потребителям клиент-серверных технологий можно существенно снизить требуемые расходы на используемую инфраструктуру вычислительных средств и позволяет достаточно гибко реагировать на постоянные изменения вычислительных потребностей, используя специализированные свойства вычислительной эластичности высокопроизводительных многоцелевых сервисов.
Среди преимуществ практического использования технологии «клиент-сервер» можно выделить: отсутствие дублирования кода программы-сервера прикладными программами-клиентами; так как все вычисления выполняются на сервере, то требования к персональным компьютерам, на которых установлен клиент, существенно снижаются; все данные хранятся на сервере, который, как правило, защищён гораздо лучше большинства клиентов. На сервере проще может быть организован контроль полномочий, чтобы разрешать доступ к данным только клиентам с определенными правами доступа
Объект исследования – интернет-технологии.
Предмет исследования – технология «клиент-сервер»
Целью данной работы является изучение технологии «клиент-сервер».
В соответствии с целью была определена необходимость постановки и решения следующих задач:
– дать характеристику технологии «клиент-сервер»;
– проанализировать архитектуры «клиент-сервер»;
– описать распределенные системы обработки информации;
– дать характеристику распределенной системе обработки информации;
– представить программную реализацию предметной задачи.
Глава 1. Технологии «клиент-сервер»
1.1. Характеристика технологии «клиент-сервер»
«Клиент–сервер» (англ. client–server) представляет собой вычислительную или сетевую архитектуру, в которой задания или сетевая нагрузка распределяется между активными поставщиками услуг, которые называются серверами, и заказчиками услуг, называемыми клиентами. Фактически клиент и сервер представляет собой прикладное программное обеспечение[1]. Обычно эти прикладные программы располагаются на разных вычислительных машинах и взаимодействуют между собой по средствам использования средств вычислительной сети с использованием сетевых протоколов, но в тоже время они могут быть расположены также и на одной машине.
Программы-серверы ожидают от клиентских прикладных программ запросы и предоставляют им свои вычислительные ресурсы в виде некоторых данных или в виде сервисных функций. В связи с тем, что одна программа-сервер может выполнять запросы от нескольких прикладных программ-клиентов, её размещают на специально выделенной вычислительной машине, которая настраивается особым образом, как правило, совместно с другими прикладными программами-серверами, поэтому производительность такой машины должна быть достаточно высокой[2].
Из-за особой роли такой машины в вычислительной сети, специфики её оборудования и прикладного программного обеспечения, её также называют сервером, а машины, которые выполняют клиентские прикладные программы, соответственно, клиентами.
Преимущества практического использования технологии «клиент-сервер»:
– отсутствие дублирования кода программы-сервера прикладными программами-клиентами;
– так как все вычисления выполняются на сервере, то требования к персональным компьютерам, на которых установлен клиент, существенно снижаются;
– все данные хранятся на сервере, который, как правило, защищён гораздо лучше большинства клиентов. На сервере проще может быть организован контроль полномочий, чтобы разрешать доступ к данным только клиентам с определенными правами доступа[3].
Недостатки практического использования технологии «клиент-сервер» заключаются в следующем:
– неработоспособность вычислительного сервера может сделать неработоспособной всю вычислительную сеть. Неработоспособным сервером следует считать сервер, производительности которого не хватает на обслуживание всех клиентов, а также сервер, который находится на ремонте, профилактике;
– поддержка работы данной системы требует отдельного специалиста – системного администратора;
– высокая стоимость требуемого оборудования[4].
1.2. Сравнение архитектур
В рамках многоуровневого представления вычислительных систем можно выделить несколько групп функций, которые ориентированы на решение различных подзадач:
– функции ввода и отображения данных (обеспечивающие необходимое взаимодействие с пользователем);
– прикладные функции, которые являются характерными для данной предметной области;
– функции управления вычислительными ресурсами (файловой системой, базой данных и т.д.)[5].
В основном выполнение перечисленных функций обеспечивается прикладными программными средствами, которые можно представить в виде взаимосвязанных компонентов, где:
– компонент представления отвечает за обработку пользовательского интерфейса;
– прикладной программный компонент реализует алгоритм решения конкретной вычислительной задачи;
– прикладной программный компонент управления ресурсом обеспечивает доступ к необходимым ресурсам.
Автономная система (компьютер, который не подключен к вычислительной сети) представляет все эти прикладные программные компоненты как на различных уровнях (операционная система, служебное программное обеспечение и утилиты, прикладное программное обеспечение), так и на уровне прикладных программных приложений (не характерно для современных программ).
Так же и вычислительная сеть – она представляет все эти прикладные компоненты, но, в общем случае, распределенные между узлами[6]. Задача сводится к обеспечению сетевого взаимодействия между этими компонентами.
Архитектура «клиент-сервер» определяет общие принципы организации взаимодействия в сети, где имеются серверы, узлы-поставщики некоторых специфичных функций (сервисов) и клиенты, потребители этих функций[7].
Практические реализации такой архитектуры называются клиент-серверными технологиями. Каждая технология определяет собственные или использует имеющиеся правила взаимодействия между клиентом и сервером, которые называются протоколом обмена (протоколом межсетевого взаимодействия).
1.2.1. Двухзвенная архитектура
В любой сети (даже одноранговой), построенной на современных сетевых технологиях, присутствуют элементы клиент-серверного взаимодействия, чаще всего на основе двухзвенной архитектуры. Двухзвенной (two-tier, 2-tier) она называется из-за необходимости распределения трех базовых компонентов между двумя узлами (клиентом и сервером)[8].
Двухзвенная архитектура используется в клиент-серверных системах, где вычислительный сервер отвечает на клиентские запросы напрямую и в полном объеме, при этом используя только собственные вычислительные ресурсы. Т.е. сервер не вызывает сторонние сетевые прикладные программные приложения и не обращается к сторонним вычислительным ресурсам для выполнения какой-либо части пользовательского структурированного запроса (рис. 1).
Расположение компонентов на стороне клиента или сервера определяет следующие основные модели их взаимодействия в рамках двухзвенной архитектуры:
– сервер терминалов – распределенное представление оперативных данных;
– файл-сервер – доступ к удаленной базе данных и файловым вычислительным ресурсам;
– сервер базы данных – удаленное представление оперативных данных программы;
– сервер приложений – удаленное прикладное программное приложение[9].
Перечисленные модели в рамках двухзвенной архитектуры с вариациями представлены на рис. 2.
Рис.1. Двухзвенная клиент-серверная архитектура
В настоящее время намечается тенденция возврата к тому, с чего начиналась клиент-серверная архитектура – к централизации вычислений на основе использования модели терминал-сервера. В современной реинкарнации терминалы отличаются от своих алфавитно-цифровых предков тем, что имея минимум программных и аппаратных средств, представляют мультимедийные возможности (в т.ч. графический пользовательский интерфейс).
Рис.2. Модели клиент-серверного взаимодействия
Работу терминалов обеспечивает высокопроизводительный сервер, куда вынесено все, вплоть до виртуальных драйверов устройств, включая драйверы видеоподсистемы.
1.2.2. Трехзвенная архитектура
Еще одна тенденция в клиент-серверных технологиях связана со все большим использованием распределенных вычислений. Они реализуются на основе модели сервера приложений, где сетевое приложение разделено на две и более частей, каждая из которых может выполняться на отдельном компьютере[10].
Выделенные части приложения взаимодействуют друг с другом, обмениваясь сообщениями в заранее согласованном формате. В этом случае двухзвенная клиент-серверная архитектура становится трехзвенной (three-tier, 3-tier).
Как правило, третьим звеном в следующей трехзвенной вычислительной архитектуре становится сервер прикладных программных приложений, т.е. прикладные компоненты распределяются следующим образом (рис. 3):
– представление данных – на стороне клиента обработка оперативных данных;
– прикладной компонент – на выделенном сервере прикеладных программных приложений (как вариант, выполняющем функции промежуточного программного обеспечения);
– управление ресурсами – на сервере базы данных, который и представляет запрашиваемые данные[11].
Рис.3. Трехзвенная клиент-серверная архитектура
Трехзвенная архитектура может быть расширена до многозвенной (N-tier, Multi-tier) путем выделения дополнительных серверов, каждый из которых будет представлять собственные сервисы и пользоваться услугами прочих серверов разного уровня[12]. Абстрактный пример многозвенной модели приведен на рис. 4.
Рис.4. Многозвенная (N-tier) клиент-серверная архитектура
1.2.3. Сравнение архитектур
Двухзвенная архитектура является намного проще, в отличие от трехзвенной, так как все получаемые запросы обслуживаются одним вычислительным сервером, но именно из-за этого она будет менее надежной и предъявляет повышенные требования к вычислительной производительности используемого сервера.