
74 Глава 1. Введение
В качестве второго примера рассмотрим систему поддержки принятия penie-
ний для фондового рынка. Так же как PI В ПОИСКОВОЙ машине, эту систему можно
разделР1ть на внепрнрпр ригтерфейс, реалргзующий работу с пользователем, внут-
ренрпою часть, отвечающую за доступ к базе с финансовор! информацией,
PI
проме-
жуточную программу анализа. Анализ финансовых данных может потребовать
замысловатых методик и технологий на основе статистических методов и искус-
ственного интеллекта. В некоторых случаях для того, чтобы обеспечить требуе-
мые производительрюсть и время отклика, ядро системы поддержки финансовых
решений должно выполняться на высокопроизводительных компьютерах.
Нашим последнихм примером будет типичный офисный пакет, состоя1ций из
текстового процессора, приложения для работы с электронными таблицами, ком-
муникационных утилит и т. д. Подобные офисные пакеты обычно поддерживают
обобщенный пользовательский интерфейс, возможность создания составных до-
кументов и работу с файлами в домашнем каталоге пользователя. В этом случае
уровень обработки будет включать в себя относительно большой набор про-
грамм, каждая из которых призвана поддерживать какую-то из функций обра-
ботки.
Уровень данных
Уровень данных в модели клиент-сервер содержит программы, которые предо-
ставляют данР1ые обрабатывающим их приложениям. Спецр1фр1ческим свойством
этого уровня является требование сохранности (persistence). Это означает, что
когда приложение не работает, данные должны сохраняться в определенном мес-
те в расчете на дальнейшее использование. В простейшем варианте уровень дан-
ных реализуется файловой системой, но чаще для его реализации задействуется
полномасштабная база данных. В модели клиент-сервер уровень данных обычно
находится на стороне сервера.
Кроме простого храненрш информациР1 уровень данных обычно также отвеча-
ет за поддержание целостности данных для различных приложений. Для базы
данных поддержание целостности означает, что метаданные, такие как описания
таблиц, огранР1чения и специфические метаданные прршожений, также хранятся
на этом уровне. Например, в приложенрп! для банка мы можем пожелать сформи-
ровать уведомление, если долг клиента по кредитной карте достигнет определен-
ного значения. Это может быть сделано при помощи трр1ггера базы данных, кото-
рый в нужный момент активизирует процедуру, связанную с этим триггером.
Обычно в деловой среде уровень данных организуется в форме реляционной
базы данных. Ключевым здесь является независимость данных. Данные органи-
зуются независимо от приложений так, чтобы изменения в организации данных
не влияли на приложения, а прршожения не оказывали влияния на организацию
данных. Использование реляционных баз данных в модели клиент-сервер помо-
гает нам отделить уровень обработки от уровня данных, рассматривая обработку
и данные независР1мо друг от друга.
Однако существует обширный класс приложений, для которых реляционные
базы данных не являются наилучшим выбором. Характерной чертой таких при-
ложений является работа со сложными типами данных, которые проще модели-