2 Задачи информационных систем
Конкретные задачи, которые должны решаться информационной системой,
зависят от той прикладной области, для которой предназначена система. Области
применения информационных приложений разнообразны: банковское дело,
страхование, медицина, транспорт, образование и т.д. Трудно найти область
деловой активности, в которой сегодня можно было обойтись без использования
информационных систем. С другой стороны, очевидно, что, например,
конкретные задачи, решаемые банковскими информационными системами,
отличаются от задач, решение которых требуется от медицинских
информационных систем.
Но можно выделить некоторое количество задач, не зависящих от
специфики прикладной области. Естественно, такие задачи связаны с общими
чертами информационных систем, рассмотренных в предыдущем разделе. Прежде
всего, кажется бесспорным мнение о том, что наиболее существенной
составляющей является информация, которая долго накапливается и утрата
которой невосполнима.
В качестве примера рассмотрим ситуацию, существующую в Зеленчукской
астрофизической лаборатории. В этой лаборатории в горах в районе Нижнего
Архыза установлен один из крупнейших в мире зеркальных телескопов (диаметр
зеркала - 6 метров). Уникальные природные условия этого района Северного
Кавказа позволяют максимально эффективно использовать возможности
обсерватории. В самом Зеленчуке имеется крупнейший в России радиотелескоп.
Комбинированное использование этих ресурсов в течение многих лет (более 10)
позволило астрофизикам накопить уникальную информацию относительно
разного рода космических объектов. К сожалению, компьютерные возможности
лаборатории в первые годы ее существования были весьма ограничены, и поэтому
накапливаемые данные хранились в основном на магнитных лентах. Известно,
что любой магнитный носитель стареет, а магнитные ленты еще и пересыхают. В
результате основной проблемой группы поддержки информационных ресурсов
уже несколько лет является копирование старых магнитных лент на новые
носители. Старые ленты часто не читаются, и приходится тратить громадные
усилия и средства для их реанимирования. Здесь уже не до создания
информационной системы. Успеть бы спасти информацию. Хотя, конечно,
астрофизикам очень нужны информационные системы, позволяющие хотя бы
частично автоматизировать огромные объемы работ по анализу и обобщению
накопленной информации. Основной вывод, который можно сделать на основе
этой нравоучительной истории, состоит в том, что если некоторая организация
планирует долговременное накопление ценной информации, то с самого начала
должны быть обдуманы надежные способы ее долговременного хранения. В
частности, информация, накопленная Зеленчукской лабораторий, должна
храниться вечно.
Конечно, уровень надежности и продолжительность хранения информации
во многом определяются конкретными требованиями корпорации к
информационной системе. Например, можно представить себе малую торговую
компанию с быстрым оборотом, в информационной складской системе которой
достаточно поддерживать информацию о товарах, имеющихся на складе, и об еще
неудовлетворенных заявках от потребителей. Но кто знает, не потребуется ли
впоследствии полная история работы склада с момента основания компании.
Следующей
задачей,
которую
должно
выполнять
большинство
информационных систем, - это хранение данных, обладающих разными
структурами. Трудно представить себе более или менее развитую
информационную систему, которая работает с одним однородным файлом
данных. Более того, разумным требованием к информационной системе является
то, чтобы она могла развиваться. Могут появиться новые функции, для
выполнения которых требуются дополнительные данные с новой структурой. При
этом вся накопленная ранее информация должна остаться сохранной.
Теоретически можно решить эту задачу путем использования нескольких файлов
внешней памяти, каждый из которых хранит данные с фиксированной
структурой. В зависимости от способа организации используемой системы
управления файлами эта структура может быть структурой записи файла (как,
например, в файловых системах DEC VMS) или поддерживаться отдельной
библиотечной функцией, написанной специально для данной информационной
системы (если, конечно, не удастся найти подходящую функцию в одной из
существующих библиотек). Ко второму способу решения проблемы пришлось бы
прибегать при работе в среде ОС UNIX.
При использовании такого подхода информационная система перегружается
деталями организации хранилища данных. При выполнении функций уровня
пользовательского интерфейса информационной системе самой приходится
выполнять выборку информации из файлов по заданному критерию. Некоторые
системы управления файлами позволяют выбирать записи по простому критерию,
например, по заданному значению ключа записи. Но, во-первых, такие
возможности выборки всегда ограничены, и с большой вероятностью придется
вынести хотя бы часть функций выборки в код самой информационной системы.
Во-вторых, наличие нескольких файлов данных разной структуры неявно
предполагает, что при выполнении некоторых функций информационной системы
потребуется выборка согласованной (по заданному критерию) информации из
нескольких файлов. Такие возможности никогда не поддерживаются файловыми
системами.
Традиционным методом организации информационных систем является
двухзвенная архитектура "клиент-сервер" (рисунок 1). В этом случае вся
прикладная часть информационной системы выполняется на рабочих станциях
системы (т.е. дублируется), а на стороне сервера(ов) осуществляется только
доступ к базе данных. Если логика прикладной части системы достаточно сложна,
то такой подход порождает проблему "толстого" клиента. Каждая рабочая
станция должна обладать достаточным набором ресурсов, чтобы быть в
состоянии произвести прикладную обработку данных, поступающих от
пользователя и/или из базы данных. Для того, чтобы клиенты могли быть
"тощими", а зачастую и для повышения общей эффективности системы, все чаще
применяются трехзвенные архитектуры "клиент-сервер" (рисунок 2). В этой
архитектуре, кроме клиентской части системы и сервера(ов) базы данных,
вводится промежуточный сервер приложений. На стороне клиента выполняются
только интерфейсные действия, а вся логика обработки информации
поддерживается в сервере приложений. В следующих частях курса мы
рассмотрим возможные технологии организации трехзвенных архитектур.
Рисунок - 1. Традиционная двухзвенная архитектура "клиент-сервер"
Рисунок - 2. Трехзвенная архитектура "клиент-сервер" с выделенным
сервером приложений
Заметим, что некоторые черты трехзвенности могут присутствовать и в
двухзвенной архитектуре. Если, например, используемый сервер баз данных
поддерживает развитый механизм хранимых процедур (например, такой, как в
Oracle V.7), то можно перебросить некоторую часть логики приложения на
сторону баз данных. Заметим, что механизм хранимых процедур недостаточно
полно специфицирован в стандарте языка SQL. Как только вы решаетесь
использовать действительно развитые средства, то немедленно привязываете
свою информационную систему к конкретному производителю серверов баз
данных. Развязаться будет очень трудно.
Достарыңызбен бөлісу: |