Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Shpory_po_BD.doc
Скачиваний:
4
Добавлен:
22.09.2019
Размер:
1.37 Mб
Скачать

26. Информационные приложения

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

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

1. PS (Presentation Services) - средства представления. Обеспечиваются устройствами, принимающими ввод информации от пользователя и отображающими то, что сообщает устройству компонент логики представления PL, плюс соответствующая программная поддержка. Это может быть текстовый терминал, ПК в режиме программной эмуляции терминала.

2. PL (Presentation Logic) - логика представления. Управляет взаимодействием между пользователем и ЭВМ. Обрабатывает действия пользователя по выбору пунктов меню, нажатие кнопки или выбора элемента из списка.

3. BL (Business Logic) - прикладная логика. Набор правил для принятия решений, вычислений и опраций, которые должно выполнить приложение.

4. DL (Data Logic) - логика управления данными. Сюда относят операции с базой данных (SQL-операторы Select, Delete, Update, Insert), которые нужно выполнить чтобы реализовать прикладную логику управления данными.

5. DS (Data Services) - операции с базой данных. Действия СУБД, вызываемые для выполнения логики управления данными, такие как манипулирование данными, определения данных, фиксация или откат транзакции.

6. FS (File Services) - файловые операции. Дисковые операции чтения и записи данных для СУБД, обычно являются функциями ОС.

27. Варианты построения информационных систем

Информационные системы и соответствующие приложения могут строиться различными способами:

- централизованные многотерминальные вычислительные системы;

- независимые рабочие станции;

- системы на основе локальной сети ПК (архитектура файл-сервер);

- системы с архитектурой клиент-сервер;

- системы на основе Internet/Intranet.

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

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

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

Централизованные многотерминальные системы

Централизованные системы были широко распространены в 60-70-х годах, были построены на больших ЭВМ (хост, мэйнфрейм), типа IBM-360/370, ЕС-1030.

При такой схеме пользователи общались с ЭВМ через неинтеллектуальные терминалы, которые не обладали никакими вычислительными возможностями и передавали и выводили на экран информацию от ЭВМ.

В такой системе терминал реализует лишь функции представления данных PS, тогда как остальные функции обеспечивает центральный узел. Центральная ЭВМ должна реагировать на каждый запрос пользователя (PL), выполнять логику приложения (BL,DL) и извлекать данные из БД (DS).

К недостаткам централизованной системы относят:

- трудно обеспечить графический интерфейс;

- каждый дополнительный пользователь и приложение вносят существенную нагрузку на сервер;

- теряется масштабируемость.

К достоинствам централизованной системы относят:

- надежность в управлении одной машиной;

- высокая производительность;

- высокая заменяемость вышедших из строя терминалов.

- можно совместно использовать дорогостоящее периферийное оборудование;

Независимые рабочие станции

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

Однако при использовании этой архитектуры информация, ранее доступная всем сотрудникам, становится распределенной между отдельными ПЭВМ. К тому же отсутствует возможность совместного использования оборудования.

Файл-сервер

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

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

Компоненты диалога размещены на ПК, что облегчает построение графического интерфейса. Информационные приложения, размещаются на ПК и содержат в себе следующие компоненты: логику диалога (PS,PL), логику обработки (BL,DL) и управления данными (DS).

Каждый пользователь получает на свой ПК локальную копию БД, расположенной на сетевом сервере.

При этом изменения, которые каждый пользователь вносит в БД, до определенного момента могут быть неизвестны другим пользователям, что делает актуальной задачу систематического обновления данных. Другой важной задачей является блокирование записей, которые изменяются одним из пользователей.

Модель файл-сервер не позволяет эффективно обслуживать многопользовательские приложения с разделяемыми данными по двум причинам:

  • не обеспечивается согласованность данных.

  • файловый сервер не позволяет нескольким пользователям одновременно обрабатывать один и тот же файл. Файл может быть заблокирован первым пользователем, остальные вынуждены ждать, когда файл освободится;

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

- возникает проблема "толстого клиента", т.к. выполнение информационного приложения, Windows-интерфейс, работа СУБД могут перегрузить даже мощный ПК.

Клиент-сервер

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

Архитектура клиент-сервер обеспечивает преимущества сетевых вычислений с доступом к совместно используемым данным и высокие характеристики производительности, присущие централизованным вычислениям с большой ЭВМ.

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

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

Еще одна отличительная черта серверов БД - наличие справочника данных, в котором записана структура БД, ограничения целостности данных, форматы, серверные процедуры обработки данных.

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

Поскольку запрос выполняется на сервере, т.е. где расположены сами данные, то повышается быстродействие системы, существенно уменьшается сетевой трафик.

Выделяют три вида моделей "клиент-сервер":

  • модель доступа к удаленным данным (Remote Data Access - RDA);

  • модель сервера базы данных (DataBase Server - DBS);

  • модель сервера приложений (Application Server - AS).

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

Модель доступа к удаленным данным (RDA)

Такая схема предъявляет наименьшие требования к серверу и обладает лучшей масштабируемостью. Однако сложные приложения, требующие большого взаимодействия с БД, могут сильно загрузить клиента и сеть, т.к. результаты SQL-запросов должны вернуться клиенту, на котором расположена логика принятия решения (BL). Кроме того, типовая двухзвенная модель усложняет администрирование приложений, расположенных на разных клиентских узлах. Можно сократить нагрузку на клиента и сеть, переместив компонент BL целиком на сервер. В этом случае вся логика принятия решений оформляется в виде хранимых процедур и выполняется на сервере.

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

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

Модель сервера базы данных (DBS).

Распределенные вычисления

Развитие архитектуры клиент-сервер привело к появлению многозвенной архитектуры доступа к базам данных: трехзвенная архитектура или N-tier или Multi-tier архитектура. Распределенные вычисления представляют собой случай, когда явно выделяется сервер приложений, который обеспечивает прикладную логику обработки данных. Распределенные вычисления позволяют лучше сбалансировать нагрузку на разные узлы и сеть, устраняет недостатки двухзвенной модели.

В этих схемах приложение-клиент выполняет функции и логику представлений PS,PL, имеет программный интерфейс для вызова приложения на среднем уровне. Средний уровень представляет собой сервер приложений, на котором выполняется прикладная логика (BL) и логика обработки данных (DL). Сервер БД занят управлением данных (DS) и файловыми операциями (FS).

Централизация логики приложения упрощает администрирование и сопровождение. Изменения прикладной логики не затрагивают интерфейса и наоборот. Четко разделяются платформы и инструменты для реализации интерфейса и прикладной логики.

Модель сервера приложений (AS) является основой для мониторов обработки транзакций, который представляет собой особый вид программного обеспечения.

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

Модель сервера приложений (AS).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]