Классификация по способу организации

По способу организации групповые и корпоративные информационные системы подразделяются на следующие классы (рис. 1.3):

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

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

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

□ системы на основе Интернет/интранет-технологий.

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

 

Рассмотрим более подробно особенности вариантов построения информационных приложений.

Типовые функциональные компоненты информационной системы

Архитектура файл-сервер

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

Объектами разработки в файл-серверном приложении являются компоненты приложения, определяющие логику диалога PL, а также логику обработки BL и управления данными DL. Разработанное приложение реализуется либо в виде законченного загрузочного модуля, либо в виде специального кода для интер­претации.

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

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

 

Архитектура клиент-сервер

Архитектура клиент-сервер предназначена для разрешения проблем файл-сер­верных приложений путем разделения компонентов приложения и размещения их там, где они будут функционировать наиболее эффективно. Особенностью архитектуры клиент-сервер является .наличие выделенных серверов баз данных, понимающих запросы на языке структурированных запросов (Structured Query Language, SQL) и выполняющих поиск, сортировку и агрегирование информа­ции.

Отличительная черта серверов БД — наличие справочника данных, в котором за­писаны структура БД, ограничения целостности данных, форматы и даже сер­верные процедуры обработки данных по вызову или по событиям в программе. Объектами разработки в таких приложениях, помимо диалога и логики обработ­ки, являются, прежде всего, реляционная модель данных и связанный с ней набор SQL-операторов для типовых запросов к базе данных. ,Большинство конфигураций клиент-сервер использует двухуровневую модель, в которой клиент обращается к услугам сервера. Предполагается, что диалоговые компоненты PS и PL размещаются на клиенте, что позволяет реализовать графи­ческий интерфейс. Компоненты управления данными DS и FS размещаются на сервере, а диалог (PS, PL) и логика (PL DL) - на клиенте. В двухуровневом определении архитектуры клиент-сервер именно этот вариант используется: приложение работает на клиенте, а СУБД – на сервере (рис, 1.4).

Поскольку эта схема предъявляет наименьшие требования к серверу, она обладает : наилучшей масштабируемостью. Однако сложные приложения, активно взаимо­действующие с БД, могут жестко загрузить как клиент, так и сеть. Результаты SQL-запроса должны вернуться клиенту для обработки, потому что там реализована логика принятия решения. Такая схема приводит к дополнительному усложне­нию администрирования приложений, разбросанных по различным клиентским узлам

Для сокращения нагрузки на сеть и упрощения администрирования приложений компонент BL можно разместить на сервере. При этом вся логика принятия реше­ний оформляется в виде хранимых процедур и выполняется на сервере БД.

Хранимая процедура — процедура с SQL-операторами для доступа к БД, вызываемая по имени с передачей требуемых параметров и выполняемая на сервере БД. Хранимые процедуры могут компилироваться, что повышает скорость их выпол­нения и сокращает нагрузку на сервер

Хранимые процедуры улучшают целостность приложений и БД, гарантируют актуальность коллективных операций и вычислений. Улучшается сопровождение таких процедур, а Также безопасность (нет прямого доступа к данным).

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

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

Двухуровневые схемы архитектуры клиент-сервер могут привести к некоторым проблемам в сложных информационных приложениях с множеством пользовате­лей и запутанной логикой. Решением этих проблем может стать применение мноуровневой архитектуры.