Файл: Технология клиент-сервер.pdf

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

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

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

Добавлен: 24.05.2023

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

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

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

Таким образом, если предстоит работа с небольшими информационными системами, не требующими графического интерфейса с пользователем, можно выбрать FS - модель. Проблему графического интерфейса легко решает RDA-модель. DBS-модель является хорошим вариантом для СУБД. AS-модель является лучшим вариантом для создания больших информационных систем, а также в случае использования низкоскоростных каналов связи.

Таблица 1 - Результаты анализа моделей технологий «Файловый сервер» и «Клиент – сервер»

Критерии

«Файловый сервер»

«Клиент – сервер»

FS - модель

RDA-модель

DBS-модель

AS-модель

1

2

3

4

5

Сложность разработки приложений

Низкая

Низкая

Высокая

Высокая

Сложность администрирования

Низкая

Высокая

Высокая

Высокая

Степень защиты данных

Высокая

Низкая

Высокая

Высокая

Требования к характеристикам сервера

Высокие

Низкие

Высокие

Высокие

Трафик, создаваемый в сети

Низкий

Очень высокий

Низкий

Низкий

Сложность обновления ПО

Низкая

Высокая

Низкая

Низкая

Требования к характеристикам сети

Низкие

Очень высокие

Низкие

Низкие

Распределение загрузки

Нет

Есть

Есть

Есть

Требования к характеристикам рабочих станций

-

Очень высокие

Низкие

Низкие

Использование графического интерфейса

-

+

+

+

Использование символьного интерфейса

+

+

+

+

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


  1. Программное обеспечение технологии «Клиент – сервер»

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

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

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

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

Программное обеспечение сервера предусматривает и другие действия над информацией: обновление, удаление, добавление, защита и так далее.

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

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


В зависимости от выбора операционной системы (ОС) и поставленных задач определяется программное обеспечение. Так, если используется ОС Windows, то на компьютере – клиенте обычно используется пакет Microsoft Office, в состав которого входят текстовый процессор Word, табличный процессор Excel, система подготовки презентаций PowerPoint, система управления базами данных Access и программа управления информацией Outlook

В связи с успехом распространения пакета Microsoft Office корпорация Microsoft решила собрать комплекс программ для сервера –пакет MS BackOffice. В состав названного пакета входят Windows Server – сетевая операционная система, System Management Server – система администрирования сети, SQL Server – сервер управления базами данных, SNA Server – сервер для соединения с хост-компьютерами, Exchange Server – сервер системы электронной почты и Internet Information Server – сервер для работы с Internet.

Windows Server 2000/2003/2008 способна обеспечить совместное использование файлов, печатающих устройств, предоставить услуги по соединению с рабочими станциями (клиентскими компьютерами) и другой сервис.

В качестве сетевой операционной системы используют Windows 2000/2003/2008 Server, которую можно использоваться и на рабочей станции для реализации дополнительных возможностей.

Windows Server 2000/2003/2008 обеспечивает совместное использование не только множества процессов, но и ресурсов многими пользователями. Возможность соединения с удаленными сетями реализуется через сервис удаленного доступа – RAS (Remote Access Service), а также через средства связи с сетями других фирм (Novell, Digital Pathworks и Apple).

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

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

SNA Server позволяет нескольким настольным ПЭВМ, работающим под управлением различных операционных систем «видеть» хост-компьютеры.


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

Internet Information Server обеспечивает возможность создания Web-, FTP- и Gopher-серверов для сети Internet, поддерживает управление ими с помощью встроенной программы Internet Service Manager.

  1. Организация обработки данных в СУБД с архитектурой «Клиент-сервер»

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

Термин «сервер баз данных» обычно используют для обозначения всей СУБД, основанной на архитектуре «Клиент-сервер», включая и серверную, и клиентскую части. Такие системы предназначены для хранения и обеспечения доступа к базам данных.

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

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

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

Поэтому любая СУБД не может одинаково успешно применяться при работе с БД разных классов.

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


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

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

Одним из основополагающих механизмов организации обработки данных в СУБД с практически любой архитектурой, в том числе и с архитектурой «Клиент-сервер» является механизм транзакций.

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

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

Если же все составляющие транзакции были успешно выполнены, то происходит процесс фиксирования транзакции.

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

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

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

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