В типичном случае на стороне клиента СУБД работает только такое программное обеспечение, которое не имеет непосредственного доступа к базам данных, а обращается для этого к серверу с использованием языка SQL.
Большая часть прикладной системы располагается на сервере, поскольку вычислительная мощность сервера значительно превышает мощности клиентских рабочих станций. При использовании RPC это сделать нетрудно. При использовании ОС UNIX проблемы практически не возникают. Современное направление в построении «клиент-серверных» систем — это системы с «тонкими» клиентами.
Требования к аппаратным возможностям и базовому программному обеспечению клиентов и серверов
Требования к аппаратуре и программному обеспечению клиентских и серверных компьютеров различаются в зависимости от вида использования системы.
Если разделение между клиентом и сервером достаточно жесткое (как в большинстве современных СУБД), то пользователям, работающим на рабочих станциях или персональных компьютерах, абсолютно все равно, какая аппаратура и операционная система работают на сервере, лишь бы он справлялся с возникающим потоком запросов.
Лекция 1: Открытые системы. Клиент и сервер
Но при возникновении потребности перераспределения функций между клиентом и сервером использование определенных операционных систем выходит на первый план.
Контрольные вопросы и задания
- 1. В чем заключается концепция открытых систем?
- 2. Что означает для пользователей термин «открытые системы»?
- 3. Что обеспечивает стандарты и технологии открытых систем?
- 4. Что такое клиент локальной сети?
- 5. Что такое сервер локальной сети?
- 6. Как организована системная архитектура «клиент-сервер»?
- 7. Что такое серверы баз данных?
- 8. Поясните принципы взаимодействия между клиентскими и серверными частями баз данных.
- 9. Как разделяются функции между клиентами и серверами?
Источник: studme.org
Проведите сравнительный анализ распределения функций для различных базовых архитектур.
Взаимодействие пользователя с БД строится на основе модели «клиент – сервер». Клиентская часть отвечает за целевую обработку данных и организацию взаимодействия с пользователем. Серверная часть обеспечивает хранение данных, обрабатывает запросы и посылает результаты клиенту для специальной обработки. В общем случае эти части функционируют на отдельных компьютерах, т. е. к серверу БД с помощью сети подключены компьютеры клиентов.
Разделение процесса на клиентскую и серверную компоненты позволяет:
· одновременно использовать БД различным прикладным программам;
· централизовать функции управления, такие как защита информации, обеспечение целостности данных, управление совместным использованием ресурсов;
· обеспечивать параллельную обработку запроса в распределенных БД;
Основы клиент-серверной работы в 1С Предприятии
· высвобождать ресурсы рабочих станций и сети;
· повышать эффективность управления данными за счет использования специальных серверов баз данных.
В архитектуре «файл-сервер» (рис. 38) средства организации и управления БД (в том числе СУБД) располагаются на машине клиента, а БД, представляющая собой набор специализированных файлов, – на машине-сервере.
Рис. 38. Архитектура «файл – сервер»
В этом случае серверная компонента представлена даже не средствами СУБД, а сетевыми составляющими ОС, обеспечивающими удаленный разделяемый доступ к файлам. Запрос к БД, сформулированный на языке манипулирования данными, преобразуется СУБД в последовательность команд ввода-вывода, которые обрабатываются операционной системой машины-сервера.
· высокая загрузка сети и машин-клиентов, так как обмен идет на уровне единиц информации файловой системы (физических записей, блоков, файлов);
· низкий уровень защиты данных, так как доступ к файлам БД управляется общими средствами ОС сервера;
· бизнес-правила функциональной обработки, сосредоточенные в клиентской части, могут быть противоречивыми.
Для схемы характерно наибольшее суммарное время обработки информации.
В архитектуре «выделенный сервер базы данных» (рис. 39) средства управления базой данных и база данных размещены на машине-сервере (DB-сервер).
Рис. 39. Архитектура с выделенным сервером базы данных
Обращение к БД осуществляется на языке SQL, поэтому сервер БД часто называют SQL-сервером. Он поддерживается всеми реляционными СУБД (Oracle, Informix, MS SQL, DB2, ADABAS D, InterBase, SyBase). Сервер БД осуществляет поиск записей и анализирует их. Записи, удовлетворяющие условиям, могут накапливаться на сервере и после обработки запроса передаваться пользователю.
Клиентское приложение может быть реализовано на языке настольных СУБД (MS Access, FoxPro, Paradox, Clipper). Взаимодействие клиентского приложения с SQL-сервером осуществляется через ODBC-драйвер(Open DataBase Connectivity). ODBC стал стандартом де-факто на алгоритм доступа к разнородным БД.
· снижение нагрузки на машины сервера и клиентов;
· снижение сетевого трафика и повышение эффективности обработки за счет оптимизации и буферизации ввода-вывода;
· защита данных средствами СУБД, позволяющая блокировать не разрешенные пользователю действия;
· сервер реализует управление транзакциями и может блокировать попытки одновременного изменения одних и тех же записей.
· бизнес-логика функциональной обработки и представление данных могут быть одинаковыми для нескольких клиентских приложений, что увеличивает потребности в ресурсах (повторение кода программ и запросов);
· бизнес-правила функциональной обработки, сосредоточенные на клиентской части, могут быть противоречивыми.
В архитектуре «активный сервер баз данных» (рис. 40) непротиворечивость бизнес-логики контролируется на стороне сервера. Функции бизнес-логики разделяются между клиентской и серверной частями. Общие функции оформляются в виде хранимых процедур. Вводится механизм триггеров, отслеживающих события БД.
При возникновении события (обычно изменения данных) выполняется оператор SQL или вызывается хранимая процедура, связанная с триггером.
Рис. 40. Архитектура «активный сервер баз данных»
Хранимые процедуры и триггеры могут быть использованы любыми клиентскими приложениями, работающими с БД. Это снижает дублирование программных кодов и исключает необходимость компиляции каждого запроса. Недостатком архитектуры становится возрастающая загрузка сервера.
Такую архитектуру иногда называют моделью с тонким клиентом, в отличие от предыдущих архитектур, называемых моделью с толстым клиентом, где на стороне клиента выполняется большинство функций.
Дальнейшее снижение уровня требований к ресурсам клиента достигается за счет введения сервера приложений, на который переносится значительная часть программных компонентов управления данными и большая часть бизнес-логики. При этом серверы БД обеспечивают исключительно функции СУБД (рис. 41).
Рис. 41. Трехзвенная архитектура сервера приложений
Связь клиентских рабочих станций с прикладными программами на сервере приложений устанавливается через интерфейс API (Application Programming Interface). Работа клиентской части сводится к вызову функций сервера приложений. Прикладные программы обращаются к серверу БД с помощью SQL-запросов.
К достоинствам трехзвенной архитектуры относятся:
· многократное использование общих функций обработки данных в множестве клиентских приложений;
· централизованное ведение бизнес-логики (при внесении изменений их не нужно тиражировать в клиентских приложениях);
· на клиентских машинах не следует устанавливать компоненту программного обеспечения управления доступом к данным;
· оптимизация доступа к БД (диспетчеризация запросов выполняется сервером приложений);
· возможность отложенного обновления БД при изменении данных в автономном режиме (данные будут обновлены в БД при следующем соединении);
· повышение скорости и надежности за счет дублирования ПО на нескольких серверах приложений, которые могут заменять друг друга;
· перенос проверки полномочий пользователей с сервера БД на сервер приложений.
· уменьшение мощности сервера приложений за счет параллельной работы сервера приложений и сервера БД.
10. Определите основные принципы и примерные структурные схемы
сервера распределенной обработки.
Основной принцип технологии » клиент—сервер» применительно к технологии баз данных заключается в разделении функций стандартного интерактивного приложения на 5 групп, имеющих различную природу:
— функции ввода и отображения данных (Presentation Logic);
— прикладные функции, определяющие основные алгоритмы решения задач приложения (Business Logic);
— функции обработки данных внутри приложения (Database Logic);
— функции управления информационными ресурсами (Database Manager System);
— служебные функции, играющие роль связок между функциями первых четырех групп.
Структура типового приложения, работающего с базой данных приведена на рис. 10.2.
Рис. 10.2. Структура типового интерактивного приложения, работающего с базой данных
Презентационная логика (Presentation Logic) как часть приложения определяется тем, что пользователь видит на своем экране, когда работает приложение. Сюда относятся все интерфейсные экранные формы, которые пользователь видит или заполняет в ходе работы приложения, к этой же части относится все то, что выводится пользователю на экран как результаты решения некоторых промежуточных задач либо как справочная информация. Поэтому основными задачами презентационной логики являются:
— формирование экранных изображений;
— чтение и запись в экранные формы информации;
— обработка движений мыши и нажатие клавиш клавиатуры.
Бизнес-логика, или логика собственно приложений (Business processing Logic), — это часть кода приложения, которая определяет собственно алгоритмы решения конкретных задач приложения. Обычно этот код пишется с использованием различных языков программирования, таких как C, C++, Cobol, SmallTalk, Visual-Basic.
Логика обработки данных (Data manipulation Logic) — это часть кода приложения, которая связана с обработкой данных внутри приложения. Данными управляет собственно СУБД (DBMS). Для обеспечения доступа к данным используются язык запросов и средства манипулирования данными стандартного языка SQL.
Процессор управления данными (Database Manager System Processing) — это собственно СУБД, которая обеспечивает хранение и управление базами данных. В идеале функции СУБД должны быть скрыты от бизнес-логики приложения, однако для рассмотрения архитектуры приложения нам надо их выделить в отдельную часть приложения.
В централизованной архитектуре (Host-based processing) эти части приложения располагаются в единой среде и комбинируются внутри одной исполняемой программы.
Двухуровневые модели
Двухуровневая модель фактически является результатом распределения пяти указанных функций между двумя процессами, которые выполняются на двух платформах: на клиенте и на сервере. В чистом виде почти никакая модель не существует, однако рассмотрим наиболее характерные особенности каждой двухуровневой модели.
Источник: lektsia.com
7 лек. Лекция Серверы баз данных Понятие сервера. Классификация серверов. Принципы разделения между клиентскими и серверными частями. Типовое разделение функций
Единственный в мире Музей Смайликов
Самая яркая достопримечательность Крыма
Скачать 17 Kb.
Лекция № 7. Серверы баз данных
Понятие сервера. Классификация серверов. Принципы разделения между клиентскими и серверными частями. Типовое разделение функций
В настоящее время эффективную работу любой организации, в которой работают более пяти человек, невозможно представить без использования сервера. При отсутствии серверной системы, данные используемые для работы разрозненны, информацию собрать воедино проблематично. В тех случаях, когда для работы используется общая база данных, возникает необходимость в использовании сервера.
Современный рынок предлагает огромный выбор серверов, поэтому для выбора оптимального варианта, необходимо окончательно разобраться в вопросе, что такое сервер.
Сервер – это специальный компьютер, который предоставляет ряд услуг и некоторых видов сервисов, таких как хранение файлов, печать и осуществляет общую связь между другими компьютерами локальной сети. Для входа в сеть нужно зарегистрироваться или «залогиниться», т.е. войти в систему, используя свое имя и пароль. После входа пользователь может давать компьютеру определенные инструкции для выполнения определенных действий. Какими конкретно полномочиями обладает пользователь, определяет администратор.
- Управляемость;
- Масштабируемость;
- Надежность;
- Производительность.
Рассмотрим каждое из вышеперечисленных свойств сервера более подробно.
Под управляемостью сервера понимают возможность удаленного мониторинга, удаленного включения и перезагрузки, а также способность проводить диагностику при выключенном состоянии, но при условии наличие электропитания.
Масштабируемость – возможность значительно увеличить вычислительную мощность операционной системы или сервера. Это значит, что за определенный промежуток времени возможно увеличить количество выполняемых транзакций или поисковых операций.
- Аппаратная надежность;
- Физическая надежность.
Производительность сервера полностью зависит от производительности его комплектующих, то есть, от объема оперативной памяти, от количества процессоров, от количества ядер в этих процессорах и др. Это значит, что производительность значительно повышается, при условии применения комплектующих с высокой производительностью.
Классификация серверов
- Сервер рабочей группы;
- Прокси-сервер;
- WEB-сервер;
- Терминальный сервер;
- Файловый сервер;
- Принт-сервер и др.
Если появляются проблемы при работе в сети Интернет, необходимо задуматься о безопасности и разобраться с вопросом, для чего используется и что такое прокси-сервер. Итак, прокси-сервер – это шлюз(аппаратный маршрутизатор или программное обеспечение для сопряжения компьютерных сетей, использующих разные протоколы (это набор правил, позволяющий осуществлять соединение и обмен данными между двумя и более включёнными в сеть компьютерами. например, локальной и глобальной). в Интернет, с помощью которого обеспечивается безопасный доступ всем пользователям.
Если деятельность организации связана с работой по внешней сети, то такой шлюз должен быть достаточно отказоустойчивым, при этом понадобится не только большое количество системных ресурсов, но и высокоскоростные интерфейсы.
Для чего необходим и что такое веб-сервер (web-сервер)? Web-сервер необходим для передачи запрашиваемых поисковой системой страниц сайта браузеру по протоколу HTTP. Также термин web-сервер может часто используется в отношении web-сайта, а также основной программы, которая обеспечивает работу web-сайта. Также web-сервером может быть просто персональный компьютер, на котором есть программное обеспечение для предоставления запрашиваемой клиентом информации в службе глобальной сети. Под определение «что такое веб-сервер» можно отнести серверы поисковых систем.
Терминальный сервер предназначен для удаленного обслуживания клиентов с предоставлением виртуального рабочего стола. После установки виртуальной связи с терминальным сервером клиент пересылает вводимые данные и, если необходимо, предоставляет доступ к некоторым локальным ресурсам, например, к принтеру.
Файловый сервер предназначается для организации и специального хранения данных клиентов с учетом ограниченного доступа и политики безопасности. Объем данных и количество пользователей являются определяющим моментом для этого сервера.
Что такое принт-сервер и для чего он используется можно понять по его названию. Принт-сервер необходим для использования принтера группе пользователей. Поддерживается почти всеми операционными системами, за счет чего обеспечивает высокую производительность печатному процессу.
ДЗ_Принципы взаимодействия между клиентскими и серверными частями
Источник: topuch.com