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

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

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

Добавлен: 20.05.2023

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

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

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

Введение 

Как правило компьютеры не являются равноправными. Некоторые из них владеют ресурсами,другие предоставляют доступ к этим самым ресурсам. Клиент и сервер (компьютер с данными к которому обращается пользователь) находятся в рамках одной вычислительной системы. В самом простом смысле эта система позволяет разделять обязанность информационной системы между компьютерами.Связь между ними осуществляется между ними посредством протокола данных. Задача системы «клиент - сервер» сводиться к обеспечению сетевого взаимодействия между компонентами информационной системы. В данной работе я попытаюсь в охарактеризовать важность технологии «клиент - сервер». Разобрать её ключевые моменты,методы, технологии и наиболее актуальные (применяемые ) на данный момент способы реализации. В качестве методичного материала использую такие книги как : Информатика и математика. Учебник и практикум для прикладного бакалавриата (Зайцев.М.А. Нагаева Е.И.) и - Сети и системы передачи информации (автор Костров Б.В.) Книги помимо темы «клиент - сервер» затрагивают поверхностно математическую статистику, дискретную математику и логику. Мой выбор пал именно на эти книги за счёт лёгкости восприятия текста и за множество поясняющих примеров.Попытаюсь разобрать технологии и мотивы по созданию тех или иных методов

1. Проектирование архитектуры «клиент - сервер» 

1.1.Что такое «клиент - сервер»

На сегодняшний день система «клиент-сервер» получает все большее распространение. Хотя по своей сути и структуре не предлагает ничего нового. Она лишь предоставляет примерное понятие о том как должно быть устроена современная информационная система.Заняв нишу базы данных, система «клиент-сервер» является одной из основных технологий глобальной сети internet. Со временем заменив узконаправленную модель файлового сервера для локальных сетей (FS) заменили (RDA,DBS,AS).В последующем, в ходе перенесения идей из сети internet в среду корпоративных систем, появилась технология intranet. Разительное отличие технологии от «клиент-сервера» эта технология ориентированна не на данные, а на информацию в её завершённом к потреблению виде. Системы системы построенные на основе intranet, имеют в своём составе централизованные серверы информации и распределительные элементы предоставления этой самой информации конечному пользователю. Взаимодействия между клиентом и сервером в intranet происходит при помощи web - технологии. Следует также отметить также что реализация данной технологии может разительно отличаться от случая применения. Подобное зависит от конкретного программного обеспечения и ресурсных технологий.В большинстве своих случаев доступ к компьютерным ресурсам неравноправен. Одним имеют доступ к этим ресурсам, другие имеют право обращаться к ним.


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

1.2. Модули данных

Модули интерфейса с пользователем. Альтернативное название - логика представлений. Посредством этого инструмента пользователи контактируют с приложением. Вне зависимости от логики построения модулей её главная задача состоит в упрощении и максимальной эффективности обмена информации между информационной системой и пользователями.

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

Модули обработки данных.

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

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


В соответствии с разделением выделяют необходимые следующие компоненты ;

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

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

- Компонент предоставления ресурсами

Глава 2. Архитектура данных и их градация. Продукты промежуточного слоя. Модель файлового сервиса.

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

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


Архитектура «тонкий клиент»

- Усложняться реализация, язык SQL не разработан для подобного ПО и нет хороших средств отладки.

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

- Программы написанные на СУБД языках недостаточно надёжные, ошибка в них может привести к выходу из строя всего сервера.

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

- Архитектура «толстый клиент»

- Усложняется обновления ПО, поскольку замену приходиться проводить по всей системе.

- Усложняется распределение полномочий, поскольку распределение происходит не по действиям, а по таблицам.

- Перегружается сеть поскольку по ней передаются необработанные данные

- Слабая защита поскольку сложно распределить полномочия.

Для решения перечисленных проблем используются многоуровневые (три и более уровней) архитектуры «клиент-сервер»

- Трёхуровневая модель

Наибольшее признание получила у специалистов получила именно трёхуровневая система, которая разделила систему по функциональным возможностям на три отдельных компонента.

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

В этой системе клиент не перегружен функциями обработки данных, а выполняет свою основную роль системы представлений информации, поступающий с сервера приложений. Такой интерфейс можно реализовать при помощи стандартных средств web - технологии браузера, CGI, Java. Это уменьшает объём данных передаваемых между клиентом и сервером приложений, что позволяет подключать компьютеры клиентов даже по медленным линиям. К тому же клиентская часть может быть настолько простой что для её реализации может быть использован лишь браузер. В случае необходимости замены, процедуру можно провести быстро и безболезненно.

Продукты промежуточного слоя

Существует несколько категорий продуктов промежуточного слоя ;

- Message orientated яркие представители MQ series и JMS

- Object broker яркие представители CORBA и DCOM

- Component based яркие представители NET и EJB

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


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

- - CORBA Agent – может предоставлять распределенную директорию для хранения CORBA объектов;

- Transaction Service – уже из названия понятно, что это сервис транзакций;

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

- Java Mail – данный сервис может предоставлять сервис к SMTP;

- JMS (Java Messaging Service) – обработка синхронных и асинхронных сообщений;

- RMI (Remote Method Invocation) - вызов удаленных процедур.

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

Модель файлового сервиса (FS)

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

- Простота разработки приложения

- Удобство администрирования и обновления ПО ( за счёт компактности размещения компонентов на одном компьютере)

- Низкая себестоимость оборудования рабочих мест ( терминалы или дешёвые пк, всегда выгоднее полноценных пк)

Словом достоинство FS перекрывают её недостатки. Но она их не лишена.