Структура и классификация информационных систем
В составе информационной системы можно выделить три подсистемы, представленные на рис. 12.
Рис. 12. Состав и функциональные группы информационной системы
Организационно-технологическая подсистема сбора информации обеспечивает отбор и накопление данных в информационную систему и включает совокупность источников информации, организационно-технологические цепочки отбора информации для накопления в системе. Без правильно организованной, оперативно и эффективно действующей организационно-технологической подсистемы сбора информации невозможна эффективная организация функционирования всей информационной системы в целом.
Подсистема представления и обработки информации составляет ядро информационной системы и является отражением представления разработчиками и абонентами системы структуры и картины предметной области, сведения о которой должна отражать информационная система. Подсистема представления и обработки информации является одним из наиболее сложных компонентов при разработке информационной системы.
Нормативно-функциональная подсистема выдачи информации определяет пользователей, или иначе абонентов, системы, реализует целевой аспект назначения и выполнения задач информационной системы.
Информационным ядром (информационным фондом) подсистемы представления и обработки информации АИС, или, говоря иначе, внутренним носителем знаний о предметной области является база данных (БД). Понятие базы данных является центральным в сфере технологий автоматизированных информационных систем. В справочной литературе по информатике приводится следующее определение базы данных – «совокупность данных, организованных но определенным правилам, предусматривающим общие принципы описания, хранения и манипулирования данными, независимая от прикладных программ. Нормативно-правовая трактовка понятия базы данных представлена в законе «О правовой охране программ для ЭВМ и баз данных», согласно которому «база данных – это объективная форма представления и организации совокупности данных (например, статей, расчетов), систематизированных таким образом, чтобы эти данные могли быть найдены и обработаны с помощью ЭВМ».
Другим фундаментальным понятием, непосредственно связанным сАИС, является система управления базами данных (СУБД), которая поГОСТу определяется как «совокупность программ и языковых средств, предназначенных для управления данными в базе данных, ведения базы данных и обеспечения взаимодействия ее с прикладными программами». В настоящее время развитиеСУБД как специального вида программного обеспечения для создания и эксплуатацииАИС приводит к более широким функциямСУБД. Ввиду этого в расширенном толковании СУБД можно определить как комплекс программных средств, реализующих создание баз данных, их поддержание в актуальном состоянии, а также обеспечивающих различным категориям пользователей возможность получать из БД необходимую информацию.
Совокупность конкретной базы данных, СУБД, прикладных компонентов АИС (набор входных и выходных форм, типовых запросов для решения информационно-тсхнологических задач в конкретной предметной области), а также комплекса технических средств, на которых они реализованы, образуют банк данных (БнД), или иначе автоматизированный банк данных (АБД). Таким образом, соотношение понятий БнД, СУБД и БД можно проиллюстрировать схемой, приведенной на рис. 13.
По характеру представления и логической организации хранимой информации АИС разделяются нафактографические, документальные и геоинфорлищионные.
Фактографические АИС накапливают и хранят данные в виде множества экземпляров одного или нескольких типов структурных элементов (информационных объектов). Каждый из таких экземпляров структурных элементов или некоторая их совокупность отражают сведения по какому-либо факту, событию и т. д., отделенному (вычлененному) от всех прочих сведений и фактов.
Рис. 13. Соотношение понятий БнД, СУ БД и БД
Структура каждого типа информационного объекта состоит из конечного набора реквизитов, отражающих основные аспекты и характеристики сведений для объектов данной предметной области. К примеру, фактографическая АИС, накапливающая сведения по лицам, каждому конкретному лицу в базе данных ставит в соответствие запись, состоящую из определенного набора таких реквизитов, как фамилия, имя, отчество, год рождения, место работы, образование и т. д. Комплектование информационной базы в фактографических АИС включает, как правило, обязательный процесс структуризации входной информации из документального источника. Структуризация при этом осуществляется через определение (выделение, вычленение) экземпляров информационных объектов определенного типа, информация о которых имеется в документе, и заполнение их реквизитов.
В документальных АИС единичным элементом информации является нерасчлененный на более мелкие элементы документ и информация при вводе (входной документ), как правило, не структурируется, или структурируется в ограниченном виде. Для вводимого документа могут устанавливаться некоторые формализованные позиции – дата изготовления, исполнитель, тематика и т. д. Некоторые виды документальных АИС обеспечивают установление логической взаимосвязи вводимых документов – соподчиненность по смысловому содержанию, взаимные отсылки по каким-либо критериям и т. п. Определение и установление такой взаимосвязи представляет собой сложную многокритериальную и многоаспектную аналитическую задачу, которая не может в полной мере быть формализована.
В геоинформационных АИС данные организованы в виде отдельных информационных объектов (с определенным набором реквизитов), привязанных к общей электронной топографической основе (электронной карте). Геоинформационные системы применяются для
информационного обеспечения в тех предметных областях, структура информационных объектов и процессов в которых имеет пространственно-географический компонент, например маршруты транспорта, коммунальное хозяйство.
Разработка и проектирование информационной системы начинаются с построения концептуальной модели ее использования.Концептуальная модель использования информационной системы определяет, прежде всего, круг конкретных задач и функций, обеспечиваемых созданием и эксплуатацией информационной системы, а также систему сбора, накопления и выдачи информации.
Поэтому другим критерием классификации АИС являются функции и решаемые задачи, основными из которых могут являться:
• справочные;
• поисковые;
• расчетные;
• технологические.
Справочные функции являются наиболее распространенным типом функций информационных систем и заключаются в предоставлении абонентам системы возможностей получения установочных данных на определенные классы объектов (Лица, Организации, Телефоны, Адреса и т. п.) с жестко или произвольно заданным набором сведений. Видами информационных систем, реализующих чисто справочные функции, являются всевозможные электронные справочники, картотеки, программные или аппаратные «электронные записные книжки» и их более развитые аналоги в виде т. н. персональных информационных систем.
Системы, реализующиепоисковые функции, являются наиболее широко распространенным классом информационных систем, которые чаще всего называют информационно-поисковыми системами (ИПС). ИПС в общем виде можно рассматривать как некое информационное пространство, задаваемое в терминах информационно-логического описания предметной области – «информационные объекты», «информационные связи». Пользователям ИПС предоставляется возможность поиска и получения сведений по различным поисковым образам в таком информационном пространстве.
Расчетные функции информационных систем заключаются в обработке информации, находящейся в системе, по определенным расчетным алгоритмам для различных целей. К числу подобных задач относится вычисление определенных статистических характеристик и показателей по экземплярам различных типов объектов и отношений, данные по которым накапливаются в системе. Широко применяющейся разновидностью расчетных информационных систем являются различные системы автоматического проектирования, всевозможные бухгалтерские и финансово-экономические системы.
Технологические функции информационных систем заключаются в автоматизации всего технологического цикла или отдельных его компонент, какой-либо производственной или организационной структуры. К системам, обеспечивающим подобные задачи, относится широкий класс автоматизированных систем управления (АСУ, АСУ ТП). Другой разновидностью технологических информационных систем являются системы автоматизации документооборота.
Рассмотренная классификация автоматизированных информационных систем, как и всякая классификация, условна и на практике конкретная АИС может характеризоваться комплексным характером представления информации (например, являться фактографически-документальной системой) и решать комплекс справочных, поисковых, расчетных и технологических задач.
Информационные системы классифицируются по разным признакам.
По масштабу информационные системы подразделяются на следующие группы: одиночные; групповые; корпоративные.
Одиночные информационные системы реализуются, как правило, на автономном персональном компьютере (сеть не используется). Такая система может содержать несколько простых приложений, связанных общим информационным фондом рассчитана на работу одного пользователя или группы пользователей, разделяющих по времени одно рабочее место. Подобные приложения создаются с помощью так называемых настольных или локальных систем управления БД (СУБД).
Групповые информационные системы ориентированы на коллективное использование| информации членами рабочей группы и чаще всего строятся на базе локальной вычислительной сети. При разработке таких приложений используются серверы баз данных (называемые также SQL-серверами) для рабочих групп. Существует довольно большое количество различных SQL-серверов, как коммерческих, так и свободно распространяемых. Среди них наиболее известны такие серверы баз данных Огасlе, ВВ2, и.т.д
Корпоративные информационные системы являются развитием систем для рабочих групп, они ориентированы на крупные компании и могут поддерживать территориально разнесенные узлы или сети. В основном они имеют иерархическую структуру из нескольких уровней. Для таких систем характерна архитектура клиент-сервер со специализацией серверов или же многоуровневая архитектура. Для разработки таких систем могут использоваться те же серверы баз данных, что и при разработке групповых информационных систем. Однако в крупных информационных системах наибольшее распространение получили серверы Огас1е, DB2 и Qicrosoft SQL Server.
Для групповых и корпоративных систем существенно повышаются требования к надежности функционирования и сохранности данных. Эти свойства обеспечиваются поддержкой целостности данных, ссылок и транзакций в серверах баз данных.
По сфере применения информационные системы обычно подразделяются на четыре группы (рис. 14):
- системы обработки транзакций;
- системы принятия решений;
- информационно-справочные системы;
- офисные информационные системы.
Системы обработки транзакций, в свою очередь, по оперативности обработки данных, разделяются на пакетные информационные системы и оперативные информационные системы. В информационных системах организационного управления преобладает режим оперативной обработки транзакций – ОLТР (ОnLine Тгаnzасtion Ргосеssing), для отражения актуального состояния предметной области в любой момент времени, а пакетная обработка занимает весьма ограниченную часть. Для систем ОLТР характерен регулярный (возможно, интенсивный) поток довольно простых транзакций, играющих роль заказов, платежей, запросов и т. п. Важными требованиями для них являются:
· высокая производительность обработки транзакций;
· гарантированная доставка информации при удаленном доступе к БД по телекоммуникациям.
Рис. 14. Деление информационных систем по сфере применения
Системы поддержки принятия решений – DSS (Decision Support Systeq) – представляют собой другой тип информационных систем, в которых с помощью довольно сложных запросов производится отбор и анализ данных в различных разрезах: временных, географических и по другим показателям.
Обширный класс информационно-справочных систем основан на гипертекстовых документах и мультимедиа. Наибольшее развитие такие информационные системы получили в сети Интернет.
Класс офисных информационных систем нацелен на перевод бумажных документов в электронный вид, автоматизацию делопроизводства и управление документооборотом.
Следует отметить, что приводимая классификация по сфере применения в достаточной степени условна. Крупные информационные системы очень часто обладает признаками всех перечисленных выше классов. Кроме того, корпоративные информационные системы масштаба предприятия обычно состоят из ряда подсистем, относящихся к различным сферам применений.
По способу организации групповые и корпоративные информационные системы подразделяются на следующие классы:
· системы на основе архитектуры файл-сервер;
· системы на основе архитектуры клиент-сервер;
· системы на основе многоуровневой архитектуры;
· системы на основе Интернет/интранет-технологий.
11. Архитектура файл-сервер, клиент-сервер, многоуровневая архитектура, интернет/интранет технологии
В любой информационной системе можно выделить необходимые функциональные компоненты (табл. 2), которые помогают понять ограничения различных архитектур информационных систем, Рассмотрим более подробно особенности вариантов построения информационных приложений.
Таблица 2
Типовые функциональные компоненты информационной системы
Обозначение | Наименование | Характеристика |
РS | Ргеsentation Services (средства представления) | Обеспечиваются устройствами, принимающими ввод от пользователя и отображающими то, что сообщает ему компонент логики представления РL, с использованием соответствующей программной поддержки |
PL | Ргеsentation Logic(логика представления) | Управляет взаимодействием между пользователем и ЭВМ. Обрабатывает действия пользователя при выборе команды в меню, нажатии кнопки или выборе элемента из списка |
BL | Business or Application Logic (прикладная логика) | Набор правил для принятия решений, вычислений и операций, которые должно выполнить приложение |
DL | Data Logic (логика управления данными) | Операции с базой данных (SQL-операторы), которые нужно выполнить для реализации прикладной логики управления данными |
DS | Data Services (операции с базой данных) | Действия СУБД, вызываемые для выполнения логики управления данными, такие как манипулирование данными, определения данных, фиксация или откат транзакций и т п. СУБД обычно компилирует SQL-предложения |
FS | File Services (файловые операции) | Дисковые операции чтения и записи данных для СУБД и других компонентов. Обычно являются функциями операционной системы (ОС) |
Архитектура файл-сервер не имеет сетевого разделения компонентов диалога РS иРLи использует компьютер для функций отображения, что облегчает построение графического интерфейса» Файл-сервер только извлекает данные из файлов, так что дополнительные пользователи и приложения добавляют лишь незначительную нагрузку на центральный процессор. Каждый новый клиент добавляет вычислительную мощность к сети.
Объектами разработки в файл-серверном приложении являются компоненты приложения, определяющие логику диалогаРL, а также логику обработкиВLи управления даннымиDL. Разработанное приложение реализуется либо в виде законченного загрузочного модуля, либо в виде специального кода для интерпретации.
Однако такая архитектура имеет существенный недостаток: при выполнении некоторых запросов к базе данных клиенту могут передаваться большие объемы данных, загружая сеть и приводя к непредсказуемости времени реакции. Значительный сетевой трафик особенно сильно сказывается при организации удаленного доступа к базам данных на файл-сервере через низкоскоростные каналы связи. Одним из вариантов устранения данного недостатка является удаленное управление файл-серверным приложением в сети. При этом в локальной сети размещается сервер приложений, совмещенный с телекоммуникационным сервером (обычно называемым сервером доступа), в среде которого выполняются обычные файл-серверные приложения. Особенность состоит в том, что диалоговый ввод-вывод поступает от удаленных клиентов через телекоммуникации. Приложения не должны быть слишком сложными, иначе велика вероятность перегрузки сервера, или же нужна очень мощная платформа для сервера приложений.
Одним из традиционных средств, на основе которых создаются файл-серверные системы, являются локальные СУБД. Однако такие системы, как правило, не отвечают требованиям обеспечения целостности данных (в частности, они не поддерживают транзакции). Поэтому при их использовании задача обеспечения целостности данных возлагается на программы клиентов, что приводит к усложнению клиентских приложений. Однако эти инструменты привлекают своей простотой, удобством использования и доступностью. Поэтому файл-серверные информационные системы до сих пор представляют интерес для малых рабочих групп и, более того, нередко используются в качестве информационных систем масштаба предприятия.
Архитектура, клиент-сервер предназначена для разрешения проблем файл-серверных приложений путем разделения компонентов приложения и размещения их там, где они будут функционировать наиболее эффективно. Особенностью архитектуры клиент-сервер является использование выделенных серверов баз данных, понимающих запросы на языке структурированных запросов SQL (Structured Query Languange) и выполняющих поиск, сортировку и агрегирование информации.
Отличительная черта серверов БД – наличие справочника данных, в котором записана структура БД, ограничения целостности данных, форматы и даже серверные процедуры обработки данных по вызову или по событиям в программе. Объектами разработки в таких приложениях помимо диалога и логики обработки являются, прежде всего, реляционная модель данных и связанный с ней набор SQL – операторов для типовых запросов к базе данных.
Большинство конфигураций клиент-сервер использует двухуровневую модель, в которой клиент обращается к услугам сервера. Предполагается, что диалоговые компонентыРS иРL размещаются на клиенте, что позволяет обеспечить графический интерфейс. Компоненты управления даннымиDS иFS размещаются на сервере, а диалог(РS, РL), логикаВL и DL – на клиенте. Двухуровневое определение архитектуры клиент-сервер использует именно этот вариант: приложение работает у клиента, СУБД – на сервере (рис. 15).
Рис. 15. Классический вариант клиент-серверной информационной системы
Поскольку эта схема предъявляет наименьшие требования к серверу, она обладает наилучшей масштабируемостыо. Однако сложные приложения, вызывающие большое взаимодейcтвие с БД, жестко загрузить как клиента, так и сеть. Результаты SQL-запроса должны вернуться клиенту для обработки, потому что там находится логика принятия решения. Такая схема приводит к дополнительному усложнению администрирования приложений, разбросанных по различным клиентским узлам.
Для сокращения нагрузки на сеть и упрощения администрирования приложений компонент ВL. можно разместить на сервере. При этом вся логика принятия решений оформляется в виде хранимых процедур и выполняется на сервере БД.
Хранимая процедура – процедура с операторами SQL для доступа к БД, вызываемая по имени с передачей требуемых параметров и выполняемая на сервере БД. Хранимые процедуры улучшают целостность приложений и БД, гарантируют актуальность коллективного использования. Улучшается сопровождение таких процедур, а также безопасность (нет прямого доступа к данным).
Следует помнить, что перегрузка хранимых процедур прикладной логикой может перегрузить сервер, что приведет к потере производительности. Эта проблема особенно актуальна при разработке крупных информационных систем, в которых к серверу может одновременно обращаться большое количество клиентов. Поэтому в большинстве случаев следует принимать компромиссные решения: часть логики приложения размещать на стороне сервера, часть – на стороне клиента. Такие клиент-серверные системы называются системами с разделенной логикой. Данная схема при удачном разделении логики позволяет получить более сбалансированную загрузку клиентов и сервера, но при этом затрудняется сопровождение приложений.
Создание архитектуры клиент-сервер возможно на основе многотерминальной системы. В этом случае в многозадачной среде сервера приложений выполняются программы пользователей, а клиентские узлы вырождены и представлены терминалами. Подобная схема ИС характерна для UNIX.
В настоящее время архитектуры клиент-сервер получила признание и широкое распространение как способ организации приложений для рабочих групп и информационных систем корпоративного уровня. Подобная организация работы повышает эффективность выполнения приложений за счет использования возможностей сервера БД, разгрузки сети и обеспечения контроля целостности данных.
Двухуровневые схемы архитектуры клиент-сервер могут привести к некоторым проблемам в сложных информационных приложениях с множеством пользователей и запутанной логикой. Решением этих проблем может стать использование многоуровневой архитектуры.
Многоуровневая архитектурастала развитием архитектуры клиент-сервер и в своей классической форме состоит из трех уровней:
· нижний уровень представляет собой приложения клиентов, выделенные для выполнения функций и логики представленийРS и РL и имеющие программный интерфейс для вызова приложения на среднем уровне;
· средний уровень представляет собой сервер приложений, на котором выполняется прикладная логикаВL и с которого логика обработки данных DL вызывает операции с базой данныхDS;
· верхний уровень представляет собой удаленный специализированный сервер базы данных, выделенный для услуг обработки данныхDS и файловых операций FS (без риска использования хранимых процедур).
Подобную концепцию обработки данных пропагандируют, в частности, фирмы Огас1е, Sun, Borland и др.
Трехуровневая архитектура позволяет еще больше сбалансировать нагрузку на разные узлы и сеть, а также способствует специализации инструментов для разработки приложений и устраняет недостатки двухуровневой модели клиент-сервер.
Централизация логики приложения упрощает администрирование и сопровождение. Четко разделяются платформы и инструменты для реализации интерфейса и прикладной логики, что позволяет с наибольшей отдачей реализовывать их специалистам узкого профиля. Наконец изменения прикладной логики не затрагивают интерфейса, и наоборот. Но поскольку границы между компонентами PL, BL и DL размыты, прикладная логика может появиться на всех уровнях. Сервер приложений с помощью монитора транзакций обеспечивает интерфейс с клиентами и другими серверами, может управлять транзакциями и гарантировать целостность распределенной базы данных. Средства удаленного вызова процедур наиболее соответствуют идее распределенных вычислений: они обеспечивают из любого узла сети вызов прикладной процедуры, расположенной на другом узле, передачу параметров, удаленную обработку и возврат результатов.
С ростом систем клиент-сервер необходимость трех-уровней становится все более очевидной. Продукты для трехзвенной архитектуры, так называемые мониторы транзакций, являются относительно новыми. Эти инструменты в основном ориентированы на среду UNIХ, однако прикладные серверы можно строить на базе Qicrosoft Windows NT с использованием вызова удаленных процедур для организации связи клиентов о сервером приложений.
На практике в локальной сети могут использоваться смешанные архитектуры (двухуровневые и трехуровневые) с одним и тем же сервером базы данных. С учетом глобальных связей архитектура может иметь больше трех звеньев. В настоящее время появились новые инструментальные средства для гибкой сегментации приложений клиент-сервер по различным узлам сети.
Таким образом, многоуровневая архитектура распределенных приложений позволяет повысить эффективность работы корпоративной ИС и оптимизировать распределение ее программно-аппаратных ресурсов. Но пока на российском рынке по-прежнему доминирует архитектура клиент-сервер.
В развитии технологии Интернет/интранет основной акцент пока что делается на разработке инструментальных программных средств. В то же время наблюдается отсутствие развитых средств разработки приложений, работающих с базами данных. Компромиссным решением для создания удобных и простых в использовании и сопровождении ИС, эффективно работающих с БД, стало объединение Интернет/интранет технологии с многоуровневой архитектурой. При этом структура информационного приложения приобретает следующий вид: браузер – сервер приложений – сервер баз данных – сервер динамических страниц – web-сервер.
Благодаря интеграции Интернет/интранет технологии и архитектуры клиент-серверпроцесс внедрения и сопровождения корпоративной информационной системы существенно упрощается при сохранении достаточно высокой эффективности и простоты совместного использования информации.