Файл: Технология клиент-сервер (Архитектура. Компоненты системы SQL Server 2012. Объекты базы данных SQL Server).pdf

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

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

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

Добавлен: 26.06.2023

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

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

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

ВВЕДЕНИЕ

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

Поэтому, выбранная тема является и ещё долгое время будет являться актуальной.

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

Основное предназначение клиент/серверных систем – это обмен информацией между клиентским и серверным приложениями.

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

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

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

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

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

Что позволяет решить следующие задачи:

- удаленное централизованное хранение данных, что во многом помогает решить проблему целостности и предотвращения избыточности данных;


- разделяемый доступ к данным;

- разделение функций по управлению данными;

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

- защищенность от сбоев и потери информации при помощи системы отката транзакций.

Целью настоящей работы является представление к изучению технологии «клиент – сервер». Для этого буду решены следующие задачи: рассмотрена технология в общем; представлены и изучено создание клиент-серверных приложений на базе SQL Server 2012; рассмотрен и изучен один из аспектов хранения данных и обмена между клиентом и сервером в реализации CMS.

Объект исследования – технология «клиент - сервер».

Предмет исследования – применение технологии «клиент - сервер».

1. Технология клиент-сервер

Клиент-сервер — это вычислительная или сетевая архитектура, в которой задания или сетевая нагрузка распределены между поставщиками услуг, называемыми серверами, и заказчиками услуг, называемыми клиентами. Фактически клиент и сервер — это программное обеспечение. Обычно эти программы расположены на разных вычислительных машинах и взаимодействуют между собой через компьютерную сеть посредством сетевых протоколов, но их можно расположить также и на одной машине[3]. Программы — сервера, ожидают от клиентских программ запросы и предоставляют им свои ресурсы в виде данных (например, загрузка файлов посредством HTTP, FTP, BitTorrent, потоковое мультимедиа или работа с базами данных) или сервисных функций (например, работа с электронной почтой, общение посредством систем мгновенного обмена сообщениями, просмотр web-страниц во всемирной паутине)[4]. Поскольку одна программа-сервер может выполнять запросы от множества программ-клиентов, ей может потребоваться высокопроизводительная вычислительная машина. Из-за особой роли этой машины в сети, специфики её оборудования и программного обеспечения её так же называют сервером – Рисунок 1.1.

Рисунок 1.1 – Упрощенная схема взаимосвязей в рамках функционирования технологии клиент-сервер

В клиент-серверной системе функционируют (как минимум) два приложения - клиент и сервер делящие между собой те функции которые в файл-серверной архитектуре целиком выполняет приложение на рабочей станции. Хранением и непосредственным манипулированием данными занимается сервер баз данных в качестве которого может выступать Microsoft SQL Server Oracle Sybase и т.п.[5]


Плюсы технологии клиент сервер[6]:

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

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

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

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

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

- RPC (Remote Procedure Call) удаленный вызов процедур — система интеграции серверов в виде процедур доступных для вызова удаленным пользователем через унифицированный интерфейс. Интерфейс изобретенный Sun Microsystems для своей операционной системы (SunOS Solaris; Unix-система) в настоящее время используется как в большинстве Unix-систем так и в Windows.

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

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


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

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

- Защита пересылаемых данных только при установлении соединения клиента с сервером.

- Надежная система аутентификации администратора системы.

- Подтверждение подлинности источника данных.

- Использование надежных методов криптографии.

- Подтверждение подлинности источника, целостности и конфиденциальности данных.

- Использование сертифицированных средств защиты.

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

2. Создание клиент-серверных приложений

2.1 Архитектура. Компоненты системы SQL Server 2012. Объекты базы данных SQL Server

Итак, программное обеспечение архитектуры «клиент-сервер» состоит из двух частей: программного обеспечения сервера и программного обеспечения пользователя — клиента. Программа-клиент выполняется на компьютере пользователя и посылает запросы к программе-серверу, которая работает на компьютере общего доступа. Основная обработка данных производится мощным сервером, а на компьютер пользователя возвращаются только результаты выполнения запроса. В такой архитектуре сервер называется сервером баз данных[7].

Широко известными СУБД, используемыми в архитектуре "клиент-сервер", являются Microsoft SQL Server, Oracle, Sybase SQL Server и др. Эти СУБД являются реляционными SQL-серверами баз данных. СУБД архитектуры «клиент-сервер» может включать собственную клиентскую программу. В то же время в качестве клиентов сервера баз данных могут использоваться другие СУБД. Access также может работать в качестве клиента SQL-сервера[8].


Для взаимосвязи клиентов с сервером разработано специальное программное обеспечение. Широко используемыми интерфейсами таких взаимосвязей являются ODBC и OLE DB. Access предоставляет несколько способов взаимодействия приложения с данными сервера на основе интерфейса ODBC.

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

Интерфейс ODBC состоит из четырех функциональных компонентов, именуемых уровнями ODBC. Благодаря каждому из них достигается гибкость ODBC, позволяющая взаимодействовать любым ODBC-совместимым клиентам и серверам. Между пользователем и данными, которые он хочет получить, процесс проходит четыре уровня интерфейса ODBC: приложение, диспетчер драйверов, драйвер DLL, источник данных[9].

С версии 2000 Access включает средства создания клиентских приложений Microsoft SQL Server, которые позволяют не только использовать существующие на сервере базы данных, но и создавать новые и взаимодействовать с ними на основе интерфейса OLE DB. OLE DB — это архитектура компонентов базы данных, реализующая эффективный доступ по сети и через Интернет к источникам данных многих типов, в том числе реляционным источникам данных, почтовым файлам, неформатированным текстовым файлам и электронным таблицам. Набор OLE-интерфейсов обеспечивает универсальный доступ к данным различного формата. В архитектуре OLE DB приложения, получающие доступ к данным, называют потребителями данных, например Access или Visual Basic. Программы, обеспечивающие внутренний доступ к данным, называют средствами доступа к базам данных – провайдерами, например, Microsoft OLE DB Provider for Microsoft SQL Server (рис. 2.1) или Microsoft Jet 4.0 OLE DB Provider для доступа к базе данных Microsoft Access внешнего потребителя.

Рисунок 2.1 – Схема взаимодействия проекта Accessи SQL-сервера в сети

При установке Microsoft Office или Microsoft Access автоматически инсталлируются провайдеры OLE DB.

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