3.4 Программное обеспечение технологии «Клиент – сервер»
В типичной архитектуре «Клиент-сервер» компьютеры-серверы должны быть мощнее компьютеров-клиентов, так как на серверы возлагаются более серьезные задачи, например администрирование, выполнение множества одновременных запросов, обеспечение защиты информации и так далее.
Для успешного применения технологии «Клиент-сервер» должно использоваться соответствующее программное обеспечение, включающее клиентскую и серверную части.
Программное обеспечение, установленное на сервере для управления базой данных, реагируя на запросы клиентов, начинает поиск информации. Как часть системы «клиент-сервер» оно возвращает только результаты поиска.
Обработка данных на сервере включает их сортировку, извлечение затребованной информации и отправку ее в адрес пользователя.
Программное обеспечение сервера предусматривает и другие действия над информацией: обновление, удаление, добавление, защита и так далее.
Также на сервере размещены хранимые процедуры (короткие, предварительно написанные процедуры обработки данных), которые могут быть использованы любым клиентом. Хранимые процедуры помогают обрабатывать данные, уменьшая длину кода и используемого дискового пространства на компьютерах-клиентах. Одна хранимая процедура может быть вызвана любым количеством клиентов, при этом включать ее в код каждой программы совсем не обязательно. Кроме частичной обработки данных, хранимые процедуры уменьшают сетевой трафик, так как единственное обращение клиента приводит к выполнению серии команд хранимой процедуры, каждая из которых потребовала бы отдельного запроса, и могут проводить контроль безопасности, чтобы предотвратить несанкционированный запуск пользователями некоторых процедур.
Инструментальные средства, приложения и утилиты для интерфейсной части дополняют возможности модели «Клиент-сервер». К ним относятся средства запросов, которые упрощают доступ к данным сервера, используя предопределенные запросы и встроенные возможности для построения отчетов, пользовательские приложения, которые могут работать в качестве интерфейсной части, предоставляя доступ к серверу базы данных. Другие приложения (такие, как 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.
3.5 Организация обработки данных в СУБД с архитектурой «Клиент-сервер»
Существуют различные классификации баз данных (БД), например по степени изменчивости их можно подразделить на условно-постоянные (такие БД используются в основном для справочных систем) и сильно динамичные (используются например в банковских системах).
Термин «сервер баз данных» обычно используют для обозначения всей СУБД, основанной на архитектуре «Клиент-сервер», включая и серверную, и клиентскую части. Такие системы предназначены для хранения и обеспечения доступа к базам данных.
Для ведения БД используются системы управления базами данных (СУБД), которые в значительной степени отличаются друг от друга как по функциональным возможностям, так и по эксплуатационным характеристикам.
Хотя обычно одна база данных целиком хранится в одном узле сети и поддерживается одним сервером, серверы баз данных представляют собой простое и дешевое приближение к распределенным базам данных, поскольку общая база данных доступна для всех пользователей локальной сети.
Например, для условно-постоянных БД наиболее важными показателями являются показатели скорости отработки запросов и скорости формирования выходных отчетов по БД, а такие показатели, как скорость отработки транзакций и контроль целостности БД при отработке транзакций не столь критичны; а для сильно-динамичных БД на первый план выходят такие показатели, как скорость отработки транзакций, возможность контроля целостности, скорость формирования отчетов, согласованность по чтению и транзакциям. Менее критичны здесь скорости отработки запросов.
Поэтому любая СУБД не может одинаково успешно применяться при работе с БД разных классов.
Доступ к базе данных от прикладной программы или пользователя производится путем обращения к клиентской части системы. В качестве основного интерфейса между клиентской и серверной частями выступает язык запросов баз данных - SQL. Это язык представляет собой текущий стандарт интерфейса СУБД в открытых системах. Собирательное название SQL-сервер относится ко всем серверам баз данных, основанных на SQL.
Серверы баз данных, интерфейс которых основан исключительно на языке SQL, обладают своими преимуществами и своими недостатками. Очевидное преимущество – стандартность интерфейса. Недостаток тоже довольно очевиден. При таком высоком уровне интерфейса между клиентской и серверной частями системы на стороне клиента работает слишком мало программ СУБД. Это нормально, если на стороне клиента используется маломощная рабочая станция. Но если клиентский компьютер обладает достаточной мощностью, то часто возникает желание возложить на него больше функций управления базами данных, разгрузив сервер, который является узким местом всей системы.