Файл: Варианты архитектуры клиент-сервер (Глава 1. Аналитическая часть).pdf

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

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

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

Добавлен: 30.06.2023

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

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

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

Содержание:

ВВЕДЕНИЕ

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

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

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

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

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

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

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


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

Цель курсовой работы - разработка регламента выполнения процесса «Варианты архитектуры клиент-сервер».

В связи с поставленной целью решались седующие задачи курсовой работы:

Описать предметную область. Поставить задачи;

Моделирование сортировки данных в массиве;

Сравнение алгаритмов сортировки;

Оценка эфективности алгоритмов.

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

Предметом исследования явлется Сортировка данных в массиве. Оценка эффективности метода.

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

Глава 1. Аналитическая часть

1. Описание предметной области. Архитектура сети клиент-сервер.

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

Самое примечательное свойство архитектуры клиент-сервер состоит в возможности удалить клиента от сервера на любое расстояние без существенного снижения скоростных характеристик системы (даже в случае сложных запросов) и без всяких изменений в программном обеспечении. Удаленный клиент подключается к серверу с помощью телефонного или иного канала. Это свойство очень ценно для организации распределенной обработки данных. Кроме того, оно позволяет заменять систему управления базами данных (СУБД), операционную систему и сервер, не изменяя программного обеспечения клиентской части системы.


Основные понятия архитектуры сети клиент-сервер

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

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

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

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

Транзакция - объединение нескольких действий в одно действие, которое выполняется или не выполняется как единое целое.

Топология - способ соединения компьютеров в сети.

1.1 Классификация архитектуры клиент-сервер

Рис. 1. Наглядная схема работы архитектуры сети клиент-сервер.

Рис. 2. Общая схема классификации архитектуры сети клиент-сервер.

Шинная топология - это тип сети клиент-сервер, который представляет собой центральную линию, к которой подключены сервер и клиент. (Рис.2. a.)

Топология «звезда» - это такой тип сети клиент-сервер, при котором файловый сервер находится в центре сети.(Рис.2. d.)

Кольцевая топология - это такой тип сети клиент-сервер, при котором все рабочие станции и сервер соединены друг с другом по кольцу, по которому посылается информация, снабженная адресом получателя. .(Рис.2. c.)


1.2 Характеристика архитектуры сети клиент-сервер.

Способы соединения компьютеров в сети клиент-сервер

Топология «Звезда»

Здесь файловый сервер находится в центре.

Рис. 2. топология «звезда»

Достоинства:

1. Повреждение кабеля является проблемой для одного конкретного компьютера и в целом не сказывается на работе сети.

2. Просто выполняется подключение, так как клиент должен соединяться только с сервером.

3. Механизмы защиты против несанкционированного доступа оптимальны.

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

Недостатки:

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

2. В то время как передача данных от клиента к серверу (и обратно) происходит быстро, скорость передачи данных между отдельными клиентами мала.

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

4. Невозможна коммуникация между отдельными клиентами без помощи сервера.

Кольцевая топология

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

Достоинства:

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

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

Недостатки:

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

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

3. При подключении новых клиентов сеть должна быть кратковременно выключена.

Шинная топология

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


Достоинства:

1. Небольшие затраты на кабели.

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

3. Клиенты могут коммутироваться друг с другом без помощи сервера.

Недостатки:

1. При обрыве кабеля выходит из строя весь участок сети от места разрыва.

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

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

-ввод и отображение данных (взаимодействие с пользователем);

-прикладные функции, характерные для данной предметной области;

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

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

- компонент представления данных;

- прикладной компонент;

-компонент управления ресурсом (компонент доступа к информационным ресурсам или менеджер ресурсов).

Связь между компонентами осуществляется по определенным правилам, которые называют «протокол взаимодействия».

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

Обычно выделяют три модели взаимодействия клиента и сервера:

RDA (Remote Data Access) - модель доступа к удаленным данным, в которой компонента представления (пользовательский интерфейс) и прикладная компонента (логика работы программы) совмещены в клиентской части, а компонента доступа к информационным ресурсам (данным) размещена в серверной части.

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

AS (Application Server) - модель сервера приложений, в которой компонента представления находиться в клиентской части, прикладная компонента - в «сервере приложения», а компонента доступа к информационным ресурсам - в «сервере базы данных».

В RDA-модели коды компонента представления и прикладного компонента совмещены и выполняются на компьютере-клиенте. Последний поддерживает как функции ввода и отображения данных, так и чисто прикладные функции. Доступ к информационным ресурсам обеспечивается, как правило, операторами специального языка (языка SQL, например, если речь идет о базах данных) или вызовами функций специальной библиотеки. Запросы к информационным ресурсам направляются по сети удаленному компьютеру (например, серверу базы данных). Последний обрабатывает и выполняет запросы и возвращает клиенту блоки данных.