Download - 1 открытые системы. клиент и сервер
![Page 1: 1 открытые системы. клиент и сервер](https://reader035.vdocuments.mx/reader035/viewer/2022062712/55d05747bb61ebcb7b8b4842/html5/thumbnails/1.jpg)
Технологии и средства разработки корпоративных систем
Открытые системы. Клиент и сервер
![Page 2: 1 открытые системы. клиент и сервер](https://reader035.vdocuments.mx/reader035/viewer/2022062712/55d05747bb61ebcb7b8b4842/html5/thumbnails/2.jpg)
2
Корпоративные системы Программные архитектуры распределенных СУБД
Особенности архитектуры "клиент-сервер“ для СУБДАрхитектура “клиент-сервер” для СУБД:
• разделение системы на приложение-клиент (front-end) и сервер БД (back-end)
• графический интерфейс пользователя
• Легкость и скорость разработку приложений за счет централизованного хранения ограничений целостности на сервере
Преимущества - синтез лучших черт :
• мэйнфреймов:
– централизованное администрирование,
– безопасность,
– надежность.
• “файл-серверов”:
– низкая стоимость
– распределенная обработка данных на основе ресурсов «клиентов»
![Page 3: 1 открытые системы. клиент и сервер](https://reader035.vdocuments.mx/reader035/viewer/2022062712/55d05747bb61ebcb7b8b4842/html5/thumbnails/3.jpg)
3
мэйнфрейм
![Page 4: 1 открытые системы. клиент и сервер](https://reader035.vdocuments.mx/reader035/viewer/2022062712/55d05747bb61ebcb7b8b4842/html5/thumbnails/4.jpg)
4
Файл-сервер
![Page 5: 1 открытые системы. клиент и сервер](https://reader035.vdocuments.mx/reader035/viewer/2022062712/55d05747bb61ebcb7b8b4842/html5/thumbnails/5.jpg)
5
Корпоративные системы Программные архитектуры распределенных СУБД
Обработка данных СУБД: локальный компьютер
![Page 6: 1 открытые системы. клиент и сервер](https://reader035.vdocuments.mx/reader035/viewer/2022062712/55d05747bb61ebcb7b8b4842/html5/thumbnails/6.jpg)
6
Корпоративные системы Программные архитектуры распределенных СУБД
Обработка данных СУБД: файл-сервер
![Page 7: 1 открытые системы. клиент и сервер](https://reader035.vdocuments.mx/reader035/viewer/2022062712/55d05747bb61ebcb7b8b4842/html5/thumbnails/7.jpg)
7
Корпоративные системы Программные архитектуры распределенных СУБД
Обработка данных СУБД: клиент-сервер
![Page 8: 1 открытые системы. клиент и сервер](https://reader035.vdocuments.mx/reader035/viewer/2022062712/55d05747bb61ebcb7b8b4842/html5/thumbnails/8.jpg)
8
Корпоративные системы Программные архитектуры распределенных СУБД
Архитектура серверов БДСервер БД - СУБД на основе архитектуры «клиент-сервер»
Особенности:
• Содержит серверную и клиентскую части
• предназначены для хранения и обеспечения доступа к БД
• общая БД доступна всем пользователям ЛВС.
• облегчение и удешевление технологи распределенных БД
[БД часто хранятся в одном узле ЛВС и поддерживаются одним сервером]
![Page 9: 1 открытые системы. клиент и сервер](https://reader035.vdocuments.mx/reader035/viewer/2022062712/55d05747bb61ebcb7b8b4842/html5/thumbnails/9.jpg)
9
Корпоративные системы Программные архитектуры распределенных СУБД
Принципы клиент-серверного взаимодействия в СУБД• Доступ к БД производится обращением к клиентской части.
• Основа интерфейса клиент-сервер - язык SQL (стандарт интерфейса СУБД в открытых системах)
• SQL-сервер - сервер БД на основе SQL.
• Преимущество SQL-серверов – стандартный интерфейс (в идеале любой SQL-клиент совместим с любым SQL-сервером)
• Недостаток SQL-серверов – сервер является узким местом системы (при этом клиент может быть достаточно мощным)
• Перспектива развития СУБД – гибкое распределение функций между клиентом и сервером
![Page 10: 1 открытые системы. клиент и сервер](https://reader035.vdocuments.mx/reader035/viewer/2022062712/55d05747bb61ebcb7b8b4842/html5/thumbnails/10.jpg)
10
Корпоративные системы Программные архитектуры распределенных СУБД
Преимущества RPC• RPC важны в СУБД архитектуры "клиент-сервер".
• Балансировка функций клиентской и серверной частей (компоненты системы может располагаться на стороне как сервера, так и клиента).
• Сокрытие различий между взаимодействующими компьютерами в физически неоднородной ЛВС
• Снижение важности аппаратно совместимых серверов и рабочих станций.
![Page 11: 1 открытые системы. клиент и сервер](https://reader035.vdocuments.mx/reader035/viewer/2022062712/55d05747bb61ebcb7b8b4842/html5/thumbnails/11.jpg)
11
Корпоративные системы Программные архитектуры распределенных СУБД
Разделение функций между клиентами и серверами
На стороне клиента СУБД работает ПО с доступом к БД лишь через (SQL-сервер) БД.
Организация на стороне клиента работы с "локальным кэшем" БД – частью БД, которая интенсивно используется клиентской приложением – возможна лишь посредством создания «клиентской» копии сервера БД
Перенос части приложения на сторону сервера для реализации его вычислительной мощности возможен при использовании RPC (если базовое ПО сервера – ОС и др. – это позволяет)
![Page 12: 1 открытые системы. клиент и сервер](https://reader035.vdocuments.mx/reader035/viewer/2022062712/55d05747bb61ebcb7b8b4842/html5/thumbnails/12.jpg)
12
Корпоративные системы Программные архитектуры распределенных СУБД
Виды архитектур сервера БДСервер БД – важная часть системы “клиент-сервер” (определяет ее
успех)Главное требование к серверу БД – max производительность (min
времени выполнения запросов при max числе пользователей).Основные архитектуры сервера БД: • Многопроцессорная - одновременная работа нескольких
экземпляров исполняемого файла • «+»: масштабируемость, • «-» - ресурсоемкость по памяти – нужна для каждого экземпляра
приложения• Многопоточная - один исполняемый файл с несколькими
потоками• «+» - меньшая ресурсоемкость АО, отсутствие сложного
взаимодействия процессов
![Page 13: 1 открытые системы. клиент и сервер](https://reader035.vdocuments.mx/reader035/viewer/2022062712/55d05747bb61ebcb7b8b4842/html5/thumbnails/13.jpg)
13
Корпоративные системы Программные архитектуры распределенных СУБД
Особенности архитектур сервера БД
Многопроцессорная : • эффективный механизм взаимодействия процессов;• Ориентация на ОС при разделении процессорного времени
между экземплярами • Пользователь при подключении к СУБД запускает
экземпляр исполняемого файла сервера БД.• Пример: Oracle Server
Многопоточная : • Сервер разделяет время между потоками, ранжируя задачи. • Примеры: MS SQL Server, Sybase SQL Server.
![Page 14: 1 открытые системы. клиент и сервер](https://reader035.vdocuments.mx/reader035/viewer/2022062712/55d05747bb61ebcb7b8b4842/html5/thumbnails/14.jpg)
14
Корпоративные системы Программные архитектуры распределенных СУБД
Модели трехуровневой архитектуры “клиент-сервер” (1)
Компоненты верхнего уровня «клиент-сервер»: • презентационная логика (Presentation Layer, PL) - работа с данными
пользователя• бизнес-логика (Business Layer, BL) - проверка корректности данных, поддержка
ссылочной целостности и т.д. • логика доступа к ресурсам (Access Layer, AL) - хранение данных
Отсюда модели взаимодействия «клиент-сервер»: • "Толстый" клиент (или RDA - Remote Data Access) – объединение в
клиентском приложении PL и BL при реализации AL серверной частью• "Тонкий" клиент – клиент реализует PL, а сервер объединяет BL и AL• Сервер приложения (бизнес-логики или AS - Application Server) – BL
выделяется как особое приложение
![Page 15: 1 открытые системы. клиент и сервер](https://reader035.vdocuments.mx/reader035/viewer/2022062712/55d05747bb61ebcb7b8b4842/html5/thumbnails/15.jpg)
15
Корпоративные системы Программные архитектуры распределенных СУБД
Модели трехуровневой архитектуры “клиент-сервер” (2)"Толстый" клиент – особенности:
• Наиболее распостранен во внедренных и активно используемых системах
• децентрализация управления бизнес-логикой
• При необходимости изменений в клиентском приложении нужно менять исходный код
• Серверная часть с AL - сервер БД
![Page 16: 1 открытые системы. клиент и сервер](https://reader035.vdocuments.mx/reader035/viewer/2022062712/55d05747bb61ebcb7b8b4842/html5/thumbnails/16.jpg)
16
Корпоративные системы Программные архитектуры распределенных СУБД
Модели трехуровневой архитектуры “клиент-сервер”
«Толстый» клиент:
![Page 17: 1 открытые системы. клиент и сервер](https://reader035.vdocuments.mx/reader035/viewer/2022062712/55d05747bb61ebcb7b8b4842/html5/thumbnails/17.jpg)
17
Корпоративные системы Программные архитектуры распределенных СУБД
Модели трехуровневой архитектуры “клиент-сервер” (3)"Тонкий" клиент – особенности:
• Распространением в корпорациях, на основе Web-технологий и браузеров
• Скромные требования клиента к АО
• Max загрузка сервера за счет бизнес-логики на хранимых процедурах – откомпилированных SQL-инструкциях, хранящихся на сервере
• Централизация и легкость коррекции управления данными предприятия
• Безопасность и целостность данных
![Page 18: 1 открытые системы. клиент и сервер](https://reader035.vdocuments.mx/reader035/viewer/2022062712/55d05747bb61ebcb7b8b4842/html5/thumbnails/18.jpg)
18
Корпоративные системы Программные архитектуры распределенных СУБД
Модели трехуровневой архитектуры “клиент-сервер”
«Тонкий» клиент:
![Page 19: 1 открытые системы. клиент и сервер](https://reader035.vdocuments.mx/reader035/viewer/2022062712/55d05747bb61ebcb7b8b4842/html5/thumbnails/19.jpg)
19
Корпоративные системы Программные архитектуры распределенных СУБД
Модели трехуровневой архитектуры “клиент-сервер” (4)Сервер приложения (сервер-бизнес-логики) – особенности:
• На сервере БД работает “универсальная” часть BL – бизнес-правила уровня предприятия или группы логически связанных приложений
• Поддержка «тонких» клиентов на компьютерах пользователей
• Освобождение сервера БД от чрезмерной загрузки
• Гибкие бизнес-правила
• Варианты сервера приложения:
– SQL-сервер БД
– Персональная СУБД (меньшие требования к АО; удобство поддержки BL)
![Page 20: 1 открытые системы. клиент и сервер](https://reader035.vdocuments.mx/reader035/viewer/2022062712/55d05747bb61ebcb7b8b4842/html5/thumbnails/20.jpg)
20
Корпоративные системы Программные архитектуры распределенных СУБД
Модели трехуровневой архитектуры “клиент-сервер”
Сервер приложения: