Файл: Технология «клиент-сервер» (Серверы. Основные понятия серверов).pdf

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

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

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

Добавлен: 19.06.2023

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

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

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

Введение

Сфера применения информационных систем постоянно расширяется,

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

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

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

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

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

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

Цель работы - изучить технологию клиент - сервер.

В связи с поставленной целью необходимо рассмотреть такие задачи:

- теоретические основы технологии клиент - сервер;

- технологию построения  клиент-сервер как концепция локальной сети;

- различные модели технологии «Клиент - сервер».


Глава 1.Теоретические основы технологии «Клиент - сервер»

1.1Серверы. Основные понятия серверов

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

Сервер (сеть) - это логический или физический узел сети, который запрашивает адрес и / или доменные имена (связанные доменные имена) наборов, состоящий из одного или системы аппаратных серверов, на которых или система серверного программного обеспечения работает.

Часто люди просто называют клиент или сервер компьютером, на котором запущена одна из этих программ.

Физически вы можете находиться на одном компьютере. Одна и та же программа может быть одновременно клиентом и сервером.

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

Как правило, пользователи компьютеров и высокой вычислительной мощности и отличные свойства персональных компьютеров требуют. Поэтому пользователи должны регулярно обращаться к персональным компьютерам для редактирования текстов или выполнения задач, использующих электронные таблицы для выполнения сложных вычислений. Это заставляет пользователей освоить 2 различных операционных систем (на больших машинах обычно установлены OC MVS, VMS, VM, UNIX, а на персональных - MS DOS/MS Windows, OS/2 или Mac) и не решает задачи совместного использования данных.[1, с.19]

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

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


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

1.2 Модель «Клиент-сервер»

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

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

В файл-серверной системе данные хранятся на файловом сервере (например, Novell NetWare или Windows NT Server), а их обработка осуществляется на рабочих станциях, на которых, как правило, функционирует одна из, так называемых, «настольных СУБД» - Access, FoxPro, Paradox и т.п…

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

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

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

Хранением и непосредственным манипулированием данными занимается сервер баз данных, в качестве которого может выступать Microsoft SQL Server, Oracle, Sybase и т.п…


Рис.1 Сравнение файл-серверной и клиент-серверной моделей

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

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

Сервер баз данных изменяет данные на основе механизма транзакций, любое количество транзакций, которые были объявлены как транзакции, дает следующие свойства:

- Автономность-при любых обстоятельствах, все операции выполняются или не выполняются; целостность данных, если сделка завершена;

- Независимость-транзакции, инициированные разными пользователями, не мешают друг другу;

- Устойчивость к сбоям-после завершения сделки ваши результаты больше не будут потеряны.[3, с.62]

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

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

Общеизвестно, что возможности десктопных СУБД серьезно ограничены, составляют от пяти до семи пользователей и 30-50 МБ. Цифры, конечно, одни средние значения, в некоторых случаях они могут отличаться в ту же сторону, что и в других. Самое главное, эти барьеры можно преодолеть с помощью строительной техники.

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

Таким образом, сервер баз данных предоставляет мощные средства защиты данных, недоступные в настольных СУБД. В этом случае управление правами доступа осуществляется очень гибко - на уровне полей таблицы. Кроме того, обычно можно предотвратить прямой доступ к таблицам, взаимодействуя с данными через объекты и процедуры представления промежуточного программного обеспечения.


Глава 2.Технология построения « Клиент-сервер» как концепция локальной сети

2.1.Технология «Клиент - сервер»

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

Со временем низко - работающая файл-серверная модель для Ethernet (FS) была заменена моделью структуры «клиент-сервер» (RDA, DBS, AS).[6, с.77]

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

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