Классификация по архитектуре
Определение ИС
Далее по тексту информационной системой (ИС)1), либо автоматизированной ИС, АИС, будем называть программно-аппаратную систему, предназначенную для автоматизации целенаправленной деятельности конечных пользователей, обеспечивающую, в соответствии с заложенной в нее логикой обработки, возможность получения, модификации и хранения информации.
Ключевым моментом в этом определении является понятие "целенаправленной деятельности". Речь идет о деятельности, направленной на решение конкретной задачи, стоящей перед пользователем (коллективом пользователей).
Некоторые исследователи (см., например, [1.1]) определяют ИС несколько иным образом. ИС в широком смысле - взаимосвязанная совокупность средств, методов и персонала, используемых для хранения, обработки и выдачи информации в интересах достижения поставленной цели.
Основные отличия такого подхода: 1) ввод пользователей системы "внутрь" ИС, 2) необязательность использования средств вычислительной техники. Такой подход также имеет право на жизнь. Так, например, в нем удобно прослеживать общую историю возникновения и развития систематических средств обработки информации в бизнесе, которая началась, очевидно, в докомпьютерную эпоху. Однако, так как целью нашего курса является изучение анализа требований к компьютерным системам обработки информации, будем пользоваться приведенным выше первым определением.
Классификация ИС
Информационные системы могут быть классифицированы по различным признакам. Рассмотрим наиболее важные из них.
Классификация по масштабу
По масштабу ИС будем подразделять на однопользовательские, групповые и корпоративные.
Однопользовательские ИС, как это ясно из названия, предназначены для использования на одном рабочем месте. В настоящее время на мировом и отечественном рынке представлено множество решений, предназначенных для автоматизации деятельности отдельно взятого пользователя. Как правило, это - решения, ориентированные на специалиста в той или иной области, будь то составление спецификаций для сборки изделий из комплектующих, планирование ремонтов оборудования, учет расходов и доходов частного предпринимателя оптовой торговли, либо составление расписаний занятий в деканате.
В настоящее время альтернативу таким узкоспециализированным системам составили табличные процессоры, не имеющие проблемной специализации, в первую очередь - MS Excel. Системы этого класса трудно отнести к классу ИС, но зачастую они позволяют непрограммирующему специалисту создать и, что очень важно, самостоятельно развивать собственные решения, заменяющие, а местами и перекрывающие функционал однопользовательских систем образца 90-х годов.
В основе большинства однопользовательских систем лежит стандарт X-Base (Clipper, FoxPro, dBase). Широко используются также решения на базе систем Paradox, Clarion, MS Access. Каждая из перечисленных конкурирующих систем обладает собственной высокоуровневой инструментальной средой, позволяющей спроектировать базу данных, логику обработки, пользовательский интерфейс, отчеты с помощью "помощников"-построителей. На рубеже тысячелетий появились также и однопользовательские решения на базе промышленных реляционных СУБД. В этом случае ПО сервера инсталлируется непосредственно на рабочую станцию пользователя. Примером может служить Personal Oracle. Данные решения предъявляют значительные требования к ресурсам рабочей станции, однако несут в себе многие преимущества промышленных СУБД.
Групповые системы предназначены для автоматизации деятельности в рабочей группе (отделе, кластере, группе проекта и т.д.). В отличие от однопользовательских ИС, групповые системы, как правило, представляют специализированные клиентские решения (их часто называют автоматизированными рабочими местами, АРМ) для различных участников группы. Например, для оптовой фирмы, ИС может представлять набор таких АРМ, как "Менеджер по продажам", "Кладовщик", "Снабженец", "Директор". Для учебного планирования - "Преподаватель", "Работник бюро планирования", "Работник учебного отдела", "Специалист по планированию на кафедре", "Работник деканата".
Групповое использование решений на базе табличных процессоров возможно, но имеет существенные ограничения, связанные с разграничением доступа, регламентацией и синхронизацией вносимых изменений. По сути единственный режим их использования, обеспечивающий корректность данных - "файловый сервер, один автор, N читателей".
При создании групповых ИС в целом используются те же средства и инструментальные среды, что и при создании однопользовательских ИС. Следует, однако, отметить, что для использования в группе при выборе между системами с файловым и реляционным сервером следует отдавать предпочтение реляционному серверу, причем целесообразно использование выделенного сервера. Это может быть, например, сервер Oracle, DB2, MS SQL, Sybase, Informix.
Корпоративные ИС (КИС) предназначены для автоматизации деятельности предприятия. В англоязычной литературе понятие "КИС" неразрывно связано с понятием "ERP" (Enterprise Resource Planning). В основе ERP-систем лежит международный стандарт управления предприятием MRP-II (Manufacture Resource Planning), обеспечивающий возможность учета, анализа и планирования основных ресурсов - финансов, человеческих, материальных. Соответственно, корпоративные ERP-системы - набор интегрированных приложений, которые комплексно, в едином информационном пространстве поддерживают все основные аспекты управленческой деятельности предприятий: планирование ресурсов (финансовых, человеческих, материальных) для производства товаров (услуг), оперативное управление выполнением планов (включая снабжение, сбыт, ведение договоров), все виды учета и анализ результатов хозяйственной деятельности.
Среди требований, предъявляемых к современным КИС:
- централизация данных в единой базе (в основе - всегда промышленная СУБД),
- близкий к реальному времени режим работы,
- сохранение общей модели управления для предприятий разных отраслей,
- поддержка территориально-распределенных структур,
- работа на широком круге аппаратно-программных платформ и СУБД.
Примеры ERP-систем - SAP R3, "Галактика", MS Navision Axapta.
Классификация по архитектуре
- Архитектура "Файл-сервер". Исторически первая архитектура информационных систем. Как исполняемые модули, так и данные размещаются в отдельных файлах операционной системы. Доступ к данным осуществляется путем указания пути (path) и использования файловых операций (открыть, считать, записать). Для хранения данных используется выделенный сервер (отдельный компьютер), который и является файловым сервером. Исполняемые модули хранятся либо на рабочих станциях, либо на файловом сервере. В последнем случае упрощается процедура их администрирования, но при этом возрастают требования к надежности сети.
2. Архитектура "Клиент-сервер". Клиент-сервер - это не только архитектура, это - новая парадигма, пришедшая на смену устаревшим концепциям. Суть ее заключается в том, что клиент (исполняемый модуль) запрашивает те или иные сервисы в соответствии с определенным протоколом обмена данными. При этом, в отличие от ситуации с файловым сервером, нет необходимости в использовании прямых путей операционной системы: клиент их "не знает", ему "известны" лишь имя источника данных и другие специальные сведения, используемые для авторизации клиента на сервере. Сервер, который физически может находиться на том же компьютере, а может - на другом конце земного шара, обрабатывает запрос клиента и, произведя соответствующие манипуляции с данными, передает клиенту запрашиваемую порцию данных.
В рамках направления "клиент-сервер" существуют два основных "диалекта": "тонкий" и "толстый" клиент.
В системах на основе тонкого клиента используется мощный сервер баз данных, это - высокопроизводительный компьютер и библиотека так называемых хранимых процедур, позволяющих производить вычисления, реализующие основную логику обработки данных, непосредственно на сервере. Клиентское приложение, соответственно, предъявляет невысокие требования к аппаратному обеспечению рабочей станции. Основное достоинство таких систем - относительная дешевизна клиентских станций.
Системы с толстым клиентом, напротив, реализуют основную логику обработки на клиенте, а сервер представляет собой в чистом виде сервер баз данных, обеспечивающий исполнение только стандартизованных запросов на манипуляцию с данными (как правило - чтение, запись, модификацию данных в таблицах реляционной базы данных). В системах такого класса требования к рабочей станции выше, а к серверу - ниже. Достоинство архитектуры - переносимость серверной компоненты на серверы различных производителей: все промышленные серверы баз данных реляционного типа поддерживают работу со стандартизованным языком манипулирования данными SQL, но внутренний встроенный язык обработки данных, необходимый для реализации логики обработки, на сервере у каждого из серверов свой.
- Трехслойная архитектура. Базируется на дальнейшей специализации компонент архитектуры: клиент занимается только организацией интерфейса с пользователем, сервер баз данных - только стандартизованной обработкой данных. Для реализации логики обработки данных архитектура предусматривает отдельный слой - слой бизнес-логики. Этот слой может представлять собой либо выделенный сервер (сервер приложений), либо размещаться на клиенте в качестве динамической библиотеки. Данная архитектура позволила соединить достоинства тонкого и толстого клиентов: хорошая переносимость соединяется в ней с невысокими требованиями к клиенту.
С развитием интранет-интернет технологий появилась разновидность трехслойной архитектуры на основании использования web-технологий. В этой разновидности роль сервера приложений играет web-сервер, а в качестве клиента используется стандартный web-браузер. Достоинства - в пониженных требованиях к клиенту и в легкой встраиваемости данной архитектуры в мировые информационные сети. Основной недостаток - известные ограничения, накладываемые на интерфейс пользователя web-браузерами.