Слайд 2
Архитектура многопользовательских СУБД
Слайд 3
Архитектура информационной системы - концепция, определяющая модель, структуру,
выполняемые функции и взаимосвязь компонентов информационной системы.
Слайд 4
Компоненты информационной системы по выполняемым функциям можно разделить
на три слоя: слой представления, слой бизнес-логики и слой
доступа к данным.
Слой представления - все, что связано с взаимодействием с пользователем: нажатие кнопок, движение мыши, отрисовка изображения, вывод результатов поиска и т.д.
Бизнес логика - правила, алгоритмы реакции приложения на действия пользователя или на внутренние события, правила обработки данных.
Слой доступа к данным - хранение, выборка, модификация и удаление данных, связанных с решаемой приложением прикладной задачей
Базовые функции информационных систем
Слайд 5
Типовые функциональные компоненты информационной системы
Слайд 6
Классификация ИС по способу организации
Традиционные архитектуры информационных
систем
Распределенные ИС
Слайд 7
Архитектура файл-сервер
Классическое представление ИС
в архитектуре "файл-сервер"
"Толстый" клиент и "тонкий" сервер
в файл-серверной архитектуре
Объекты
разработки: PL, BL, управление DL
Разработанное приложение реализуется либо в виде законченного загрузочного модуля, либо в виде специального кода для интерпретации.
Слайд 8
Клиент-серверные приложения
Общее представление ИС
в архитектуре "клиент-сервер"
"Тонкий" клиент и "толстый" сервер
в клиент-серверной архитектуре
Слайд 9
Особенностью архитектуры клиент-сервер является наличие выделенных серверов баз
данных, понимающих запросы на языке структурированных запросов (Structured Query
Language, SQL) и выполняющих поиск, сортировку и агрегирование информации.
Отличительная черта серверов БД — наличие справочника данных, на котором записаны структура БД, ограничения целостности данных, форматы и даже серверные процедуры обработки данных по вызову или по событиям в программе
Объектами разработки для таких приложений, помимо диалога (DL) и логики обработки (PL, BL) являются, прежде всего, реляционная модель данных и связанный с ней набор SQL-операторов для типовых запросов к базе данных
Слайд 10
Классический вариант клиент-серверной системы
Хранимая процедура — процедура
с SQL-операторами для доступа к БД, вызываемая по имени
с передачей требуемых
параметров и выполняемая па сервере БД
Ключевым отличием архитектуры клиент-сервер от архитектуры файл-сервер является
абстрагирование от внутреннего представления данных (физической схемы данных).
Теперь клиентские программы манипулируют данными на уровне логической схемы.
Слайд 11
Клиент-серверная архитектура
Основные особенности:
Клиентская программа работает с данными
через запросы к серверному ПО.
Базовые функции приложения разделены
между клиентом и сервером.
Слайд 13
Клиент-серверная архитектура
Плюсы:
Полная поддержка многопользовательской работы
Гарантия целостности
данных
Минусы:
Бизнес логика приложений осталась в клиентском ПО.
При любом изменении алгоритмов, надо обновлять пользовательское ПО на каждом клиенте.
Высокие требования к пропускной способности коммуникационных каналов с сервером, что препятствует использование клиентских станций иначе как в локальной сети.
Слабая защита данных от взлома, в особенности от недобросовестных пользователей системы.
Высокая сложность администрирования и настройки рабочих мест пользователей системы.
Необходимость использовать мощные ПК на клиентских местах.
Высокая сложность разработки системы из-за необходимости выполнять бизнес-логику и обеспечивать пользовательский интерфейс в одной программе.
Слайд 14
Многоуровневая архитектура
Многоуровневая архитектура стала развитием архитектуры клиент-сервер и
в своей классической форме состоит из трех уровней:
Слайд 15
Трехуровневая клиент-серверная архитектура
Компоненты трехзвенной архитектуры, с точки зрения
программного обеспечения реализуют определенные сервера БД, web-сервера и браузеры.
Место любого из этих компонентов может занять программное обеспечение любого производителя.
любой web-браузер.
MySQL-сервер
технологии: ADO.NET, ASP.NET и web-сервером IIS
Слайд 16
Браузер клиента 1-> Сервер IIS 2-> Исполняющая среда
ASP.NET 2.0 3-> Провайдер данных ADO.NET 2.0 4-> Сервер
MySQL 5-> Провайдер данных ADO.NET 2.0 6-> Исполняющая среда ASP.NET 2.0 7-> Сервер IIS 8-> Браузер клиента
1 — браузер клиента отправляет HTTP-запрос;
2 — на стороне сервера служба Web Internet Information Server (web-сервер IIS) определяет тип запрашиваемого ресурса, и для случая запроса *.aspx (расширение файлов страниц ASP.NET) загружает соответствующее ему (запросу) расширение Internet Server Aplication Programming Interface (ISAPI). Для страниц aspx это расширение isapi_aspnet.dll. IIS также осуществляет идентификацию и авторизацию пользователя от которого поступил запрос. В свою очередь расширение isapi_aspnet.dll загружает фабрику обработчиков ASP.NET. Далее, фабрика обработчиков создает объектную модель запрашиваемой страницы и обрабатывает действия пользователя.
3 — в ходе генерации ответа приложению ASP.NET может потребоваться обращение к
БД, в этом случае используя библиотеки классов провайдера данных ADO.NET 2.0,
выполняющая среда обращается к серверу БД;
4 — провайдер данных ADO.NET 2.0 передает запрос на операцию с БД серверу
MySQL;
5 — сервер MySQL осуществляет обработку запроса, выполняя соответствующие
операции с БД ;
6 — провайдер данных ADO.NET 2.0 передает результаты запроса объекту страницы;
7 — объект страницы с учетом полученных данных осуществляет рендеринг графического интерфейса страницы и направляет результаты в выходной поток;
8 — сервер IIS отправляет содержимое сгенерированной страницы клиентскому браузеру.
Слайд 17
Трехуровневая клиент-серверная архитектура
Плюсы:
1. Тонкий клиент.
2. Между
клиентской программой и сервером приложения передается лишь минимально необходимый
поток данных - аргументы вызываемых функций и возвращаемые от них значения. Это теоретический предел эффективности использования линий связи, даже работа с ANSI-терминалами (не говоря уже об использование протокола http) требует большей нагрузки на сеть.
3. Сервер приложения ИС может быть запущен в одном или нескольких экземплярах на одном или нескольких компьютерах, что позволяет использовать вычислительные мощности организации столь эффективно и безопасно как этого пожелает администратор ИС.
4. Дешевый трафик между сервером приложений и СУБД. Трафик между сервером приложений и СУБД может быть большим, однако это всегда трафик локальной сети, а их пропускная способность достаточно велика и дешева. В крайнем случае, всегда можно запустить СП и СУБД на одной машине, что автоматически сведет сетевой трафик к нулю.
5. Снижение нагрузки на сервер данных по сравнению с 2.5-слойной схемой, а значит и повышение скорости работы системы в целом.
6. Дешевле наращивать функциональность и обновлять ПО.
Слайд 18
Трехуровневая клиент-серверная архитектура
Минусы:
1. Выше расходы на администрирование
и обслуживание серверной части.
Слайд 19
Архитектура Web-СУБД
Intranet-приложения
Простая организация Intranet-системы с использованием средств
WWW
при применении Web-технологии существует 2 подхода в ее
реализации
на стороне Web-сервера:
CGI (Common Gateway Interface) – внешняя программа выполняется в
отдельном адресном пространстве
API (Application Programming Interface) – внешние процедуры компонуются
совместно со стандартной частью Web-сервера
Слайд 20
Вызов внешней процедуры Web-сервера
Доступ к базе данных
в Intranet-системе
Слайд 22
Архитектура на основе Internet/Intranet
с мигрирующими программами
Слайд 23
Распределенные информационные системы
Распределенная система — это набор независимых
вычислительных машин, представляющийся их пользователям единой объединенной системой.
Характеристики
распределенных систем:
От пользователей скрыты различия между компьютерами и способы связи между ними. То же самое относится и к внешней организации распределенных систем.
Пользователи и приложения единообразно работают в распределенных системах, независимо от того, где и когда происходит их взаимодействие.
Распределенные системы должны также относительно легко поддаваться расширению, или масштабированию.
Слайд 24
система промежуточного уровня (middleware)
Распределенная система организована в
виде службы промежуточного уровня.
Слайд 25
Особенности распределенных ИС
• Ссылки
• Задержки выполнения
запросов
• Активация/деактивация
• Постоянное хранение
• Параллельное исполнение
• Отказы
• Безопасность
Слайд 26
Ссылки
Ссылки на объекты в программных модулях на
ОО языках программирования (например, С++) являются указателями в памяти.
1. Ссылки на объекты в распределенных системах в противоположность являются более комплексными:
1.1.Содержат информацию о размещении
1.2.Информацию о безопасности
1.3.Ссылки на объектные типы
2. Ссылки на распределенные объекты значительно больше (40 байт для Orbix)
Слайд 27
Задержки выполнения запросов
Локальные вызовы требуют порядка пары
сотен наносекунд
Запрос к объекту требует от 0.1 до
10 миллисекунд
Интерфейсы в распределенной системе должны быть спроектированы так, чтобы снизить время выполнения запросов:
1. Снизить частоту обращения;
2. Укрупнить выполняемые функции.
Слайд 28
Активация/деактивация
Объекты в ОО языках находятся в виртуальной
памяти от создания до уничтожения
В распределенных системах
1.
Больше объектов
2. Объекты могут не использоваться на протяжении долгого времени
Реализации распределенных объектов
1. Переносятся в память при активации
2. Удаляются из памяти при деактивации
Слайд 29
Постоянное хранение
Объекты могут иметь или не иметь
состояние.
Объекты имеющие состояние должны сохранять его на постоянный
носитель между:
1. Деактивацией объекта
2. Активацией объекта
Может быть достигнуто:
1. Записью в файловую систему
2. Отражением на реляционные БД
3. С помощью объектных БД
Слайд 30
Параллельное исполнение
В нераспределенных системах исполнение в основном
последовательное, иногда конкурентное в разных нитях процессов.
Распределенные компоненты выполняются
параллельно, что приводит к необходимости согласования выполнения.
Слайд 31
Отказы
Запросы в распределенных системах имеют большую вероятность
отказов
Клиенты обязаны проверять факт выполнения запросов сервером