Информационная система
Информацио́нная систе́ма, организационно упорядоченная совокупность программно-аппаратных и других вспомогательных средств, обеспечивающая возможность надёжного долговременного хранения больших объёмов информации, поиска и обработки данных в соответствии с требованиями предметной области (которая моделируется информационной системой), а также поддерживающая удобный интерфейс с пользователями системы. Включает компьютерное и коммуникационное оборудование, программное обеспечение, информационные ресурсы. Разработку и дальнейшее накопление информации в информационной системе выполняют группы работников (системные программисты и системные администраторы), обеспечивающие администрирование и сопровождение программных и аппаратных средств хранимой информации, сбор и накопление информационных ресурсов в определённой предметной области. Хотя сама идея информационных систем и некоторые принципы их организации возникли задолго до появления компьютеров (например, библиотеки, архивы), компьютеризация в сотни раз повысила эффективность информационных систем и расширила сферы их применения.
Информационная система – неотъемлемая часть современного инструментария информационного обеспечения различных видов деятельности и наиболее активно развивающихся информационных технологий. Как правило, типовые программные компоненты, входящие в состав информационной системы, включают интерфейс пользователя, прикладную логику обработки данных, средства управления данными. Информационные системы широко применяются во всех областях человеческой деятельности: в науке (системы обработки экспериментальных данных, системы математического и имитационного моделирования и др.), государственном управлении (автоматизированные системы подсчёта результатов выборов, переписи населения и др.), экономике (бухгалтерские системы, расчёт бизнес-проектов и др.), образовании (например, системы поддержки дистанционного обучения), связи (например, услуги мобильной телефонной связи поддерживаются информационной системой) и др. Интернет также является информационной системой.
Архитектура
В зависимости от масштаба применения и функциональных особенностей информационные системы могут иметь различную программно-аппаратную архитектуру: централизованную, файл-серверную, клиент-серверную или интегрированную.
Централизованная архитектура характеризуется тем, что хранение и управление данными, а также выполнение всех прикладных функций информационной системы производится на одном выделенном компьютере, оснащённом несколькими терминалами, через которые пользователи получают доступ к информационной системе.
Файл-серверная архитектура предполагает, что для непосредственного хранения файлов данных используется выделенный компьютер (файл-сервер), к которому по локальной сети подключены клиентские рабочие станции, служащие как для управления данными, так и для поддержки приложений, т. е. той части информационной системы, основное назначение которой – выполнение прикладных функций, требуемых в данной области, и поддержка интерфейса с пользователями.
В клиент-серверной архитектуре выделяется отдельный компьютер (как правило, сервер базы данных), служащий для хранения и управления данными со структурой, свойственной данной информационной системе, а также иногда для выполнения части прикладных функций. К этому серверу баз данных по локальной сети подключаются клиентские рабочие станции, на которых выполняется логика приложений информационной системы и обеспечиваются интерфейсы пользователей. Развитием клиент-серверной архитектуры является т. н. трёхзвенная архитектура, в которой между сервером баз данных и клиентскими рабочими станциями устанавливается дополнительный сервер приложений, выполняющий прикладные функции информационной системы. При такой конфигурации информационной системы клиентские рабочие станции отвечают только за поддержку интерфейсов пользователя.
В интегрированной архитектуре нет явного разделения компонентов информационной системы на серверные и клиентские (возможно, кроме серверов баз данных). Любой компонент информационной системы в такой архитектуре может выступать в зависимости от ситуации как сервер или как клиент любого другого компонента. Интегрированная архитектура информационной системы, частным случаем которой является сервис-ориентированная архитектура, т. е. запись, указывающая начальную (исходную) точку полномочий (англ. Start of Authority – SOA), позволяет решать задачи интеграции информационной системы и создания т. н. унаследованных систем (возникающих, например, при слиянии организаций), а также проблемы, появляющиеся при переходе на новые программно-аппаратные средства организации информационных систем. Кроме того, при использовании информационных систем, основанных на интеграционной архитектуре, проще и дешевле всего можно добиться увеличения пропускной способности путём добавления соответствующей аппаратуры при изменении требований в прикладной области. Развитием идей SOA явились облачные среды – центры данных, предоставляющие клиентам разнообразные услуги – от предоставления в аренду реальных или виртуальных вычислительных средств до обеспечения платного доступа к системе управления базами данных (СУБД) или даже готового приложения. Использование облачных сред позволяет организациям отказаться от поддержки собственной инфраструктуры информационной системы. В 21 в. в архитектуре информационных систем проявились тенденции к применению массивно-параллельных или распределённых серверных средств и переносу многих компонентов информационных систем как можно ближе к данным, на сторону сервера баз данных. Такие архитектуры обеспечивают высокую пропускную способность информационных систем, а также возможность их горизонтальной масштабируемости при росте объёмов данных.
Проектирование и разработка
На этапе проектирования собираются и анализируются различные требования, предъявляемые к информационной системе со стороны её будущих пользователей, определяются логическая структура и архитектура информационной системы, выделяются основные компоненты и др. Для проектирования информационной системы чаще всего применяются методологии, технологии и инструментальные средства проектирования, основанные на использовании унифицированного языка моделирования (англ. Unified Modeling Language – UML, см. CASE-технологии). В UML определён набор т. н. диаграммных нотаций, т. е. средств, позволяющих визуально отображать различные аспекты структуры и поведения проектируемой информационной системы.
При создании информационной системы могут применяться различные программные средства, но, как правило, обязательным компонентом информационной системы является какая-либо система управления данными, в большинстве случаев – СУБД. Используя только средства СУБД, можно построить простую клиент-серверную информационную систему (в которой на клиентских рабочих станциях будут выполняться лишь компоненты СУБД, поддерживающие интерфейсы пользователей с базами данных).
В более сложных случаях, когда в информационной системе должна реализовываться обработка данных, характерная для какой-либо области применения, требуется разработка специальных прикладных программ, которые могут размещаться (в зависимости от выбранных архитектуры и структуры информационной системы) в клиентских рабочих станциях, на серверах приложений или на серверах баз данных. Для разработки приложений информационной системы можно использовать различные языки программирования (Java, С++, C#, PHP и т. п.), поддерживаемые инструментальными средами разработки. Например, системы класса ERP (англ. Enterprise Resource Planning – планирование ресурсов предприятия) позволяют создавать интегрированные внутриорганизационные информационные системы. Обычно такие системы представляют собой наборы модулей, которые ориентированы на автоматизацию какого-либо вида деятельности предприятия (например, управление кадрами, финансами и др.) и работают с общей базой данных. В этом случае создание информационной системы сводится к настройке модулей системы класса ERP в соответствии со спецификой организации или внешних условий её функционирования.
Для построения аналитической информационной системы обычно используются программные средства проектирования и управления хранилищами (англ. data warehouse) и витринами (англ. data mart) данных, готовые приложения оперативной аналитической обработки данных (англ. On-Line Analytical Processing – OLAP) или интеллектуального анализа данных (англ. data mining), а также средства разработки таких приложений.
Для поддержки работы приложений информационной системы с неструктурированными данными (текстами произвольного формата, графическими, аудио- или видеоданными) используются специальные средства информационного поиска, которые встраиваются в СУБД или функционируют в виде отдельных поисковых механизмов над файловыми системами (именно в таком виде они обычно применяются в информационных системах, предназначенных для массового использования в среде Интернет).
Для создания информационной системы с интегрированной архитектурой используются программные продукты категории промежуточного программного обеспечения (англ. middleware). В состав промежуточного программного обеспечения, предназначенного, например, для поддержки архитектуры SOA, входят продукты, которые обеспечивают возможность описания процессов внутри- или межорганизационной деятельности предприятия и автоматическую поддержку выполнения этих процессов на стадии функционирования информационной системы. Однако для описания таких процессов и верификации описаний требуются дополнительные усилия разработчиков информационной системы.
Особое внимание при построении любой информационной системы уделяется информационной безопасности, для поддержания которой применяются специальные технические (аппаратные, программные) и организационные средства. В разных информационных системах к обеспечению безопасности предъявляются различные требования, направленные на достижение целостности информации (на основе которой принимаются решения); защищённости информации от случайных и умышленных искажений; доступности информации (а также соответствующих прикладных служб) в любой момент, когда в ней возникает потребность; конфиденциальности (т. е. информация должна быть доступна только тем, кому она предназначена).
По сфере применения и используемым технологиям различают транзакционные информационные системы, системы поддержки принятия решений (аналитические и экспертные) и информационно-поисковые системы.
Транзакционные информационные системы применяются в предметных областях, в которых для выполнения требуемых функций нужно руководствоваться текущим информационным наполнением системы, но при выполнении функций эта информация изменяется (системы – бронирования билетов, банковские, бухгалтерские, управления складами и т. д.). Транзакционные информационные системы опираются на использование СУБД с поддержкой транзакционных свойств атомарности наборов операций, выполняемых в рамках одной транзакции (последовательность элементарных, атомарных операций); согласованности хранимой в системе информации после завершения любой транзакции; изолированности транзакций (данные, изменяемые какой-либо операцией внутри транзакции, становятся видны другим транзакциям только после завершения данной транзакции); долговечности данных (в системе гарантированно сохраняются данные, помещённые в неё любой завершённой транзакцией).
К системам поддержки принятия решений (англ. Desicion Support System – DSS) относятся информационно-аналитические системы (ИАС) и экспертные системы (ЭС). ИАС представляют собой тип информационных систем, в которых с помощью сложных запросов по определённым расчётным алгоритмам производятся обработка, отбор и анализ информации (данных), находящейся в системе. ИАС можно использовать для общей реорганизации бизнес-процессов, повышения качества деловой информации, поддержки стратегического планирования и достижения оптимальных решений и др. Эффективная обработка и объединение информации достигаются применением специальных инструментов извлечения, преобразования и загрузки данных. Эффективное хранение информации обеспечивается наличием в составе ИАС целого ряда различных источников данных, например специальных хранилищ данных, накапливающих информацию (из разных источников за большой период времени) и обеспечивающих к ним оперативный доступ. Анализ данных осуществляется при помощи современных инструментов (программ) делового анализа данных. ЭС отвечают на запросы пользователей (специалистов в данной предметной области), исходя из содержащейся в них информации и набора правил, называемых экспертными знаниями (поскольку эти правила обычно формируют на основе опросов людей-экспертов), а также выдают возможные варианты (рекомендации) принятия решений. Имеется и другой подход к построению экспертных систем, при котором ЭС сама накапливает экспертные знания путём самообучения.
Информационно-поисковые системы (ИПС) предназначены для поиска информации в больших (возможно, распределённых) хранилищах неструктурированных данных (как правило, текстовых документах, реже в хранилищах графических изображений, аудио-, видеоданных и др.). Основные критерии качества работы ИПС – релевантность поиска (соответствие между желаемой и действительно полученной информацией), учёт морфологии языка (при поиске в текстовых документах). Большинство современных пользователей ИПС ищут информацию на веб-сайтах, но существуют также системы, способные искать файлы на FTP-серверах (англ. File Transfer Protocol – протокол передачи данных, с помощью которого можно обмениваться файлами с другими пользователями), информацию о товарах в интернет-магазинах, а также информацию в группах новостей USENET (всемирная доска объявлений). Основным традиционным принципом работы текстовых ИПС является поиск по ключевым словам (с учётом морфологии), однако активно развиваются методы семантического поиска, в котором помимо целевых документов используются онтологии, обеспечивающие семантические связи между сущностями предметной области и позволяющие получать ответы на сложные смысловые поисковые запросы.
Следует отметить, что приводимая классификация по сфере применения в достаточной степени условна. Крупные информационные системы часто обладают признаками всех перечисленных выше классов. Кроме того, корпоративные информационные системы масштаба предприятия обычно состоят из ряда подсистем, относящихся к различным сферам применения.
С начала 21 в. в связи с взрывообразным ростом данных во всех областях человеческой деятельности обострилась проблема больших данных (англ. big data), с которой приходится сталкиваться разработчикам всех видов информационных систем. Требуется выбирать такие инфраструктурные средства разработки информационных систем, которые обеспечивали бы эффективное и экономически целесообразное масштабирование этих систем при росте объёмов данных. Одним из признанных подходов к обеспечению такой масштабируемости является применение технологий массивно-параллельных или распределённых систем, узлы которых не используют общих ресурсов (основной и внешней памяти) и общаются только путём передачи сообщений по связывающей их сети. Информационные системы, основанные на таком подходе, обладают горизонтальной масштабируемостью, т. е. способностью сохранять или даже повышать показатели производительности при росте объёмов данных за счёт добавления дополнительных узлов. Горизонтально масштабируемые транзакционные информационные системы могут основываться на массивно-параллельных транзакционных СУБД, сохраняющих данные только в основной памяти и поддерживающих все традиционные свойства транзакций за счёт репликации данных (сохранения нескольких копий всех данных в разных узлах системы). Альтернативным вариантом является использование распределённых СУБД категории NoSQL, опирающихся на использование распределённых файловых систем, позволяющих применять в одной информационной системе тысячи вычислительных узлов и жертвующих во благо живучести и доступности данных поддержкой некоторых традиционных свойств транзакций.
Аналогично горизонтально масштабируемые аналитические информационные системы могут опираться на использование массивно-параллельных аналитических СУБД, сохраняющих данные во внешней памяти, эффективно разделяющих данные между узлами используемого кластера и обеспечивающих производительное параллельное выполнение аналитических запросов. Альтернативным вариантом является использование технологий типа MapReduce, которые позволяют разделять данные, сохраняемые в распределённой файловой системе, между тысячами узлов распределённой системы и обрабатывать их в каждом узле программами, явно создаваемыми разработчиками информационных систем [циклы разделения (Map) и обработки (Reduce) могут повторяться].
История развития
Появление информационной системы в 1950-х гг. связано с созданием компьютера общего назначения UNIVAC I (1951, США), разработанного Дж. Эккертом (США) и Дж. Мокли (США). Этот компьютер отличался от ранее доминировавших на рынке обработки бизнес-данных вычислительных машин компании IBM наличием устройств внешней памяти на магнитных лентах, что обеспечило его широкое применение в складских, бухгалтерских и научных приложениях. Информационные системы на основе UNIVAC I были созданы в правительственных (Бюро переписи населения, вычислительные центры командования сухопутных войск и военно-воздушных сил) и коммерческих (компании General Electric, U. S. Steel и др.) организациях США.
В 1960-x гг. функция информационной системы была проста: диалоговая обработка запросов, хранение записей, бухгалтерский учёт и дpугая электронная обработка данных (англ. Electronic Data Processing – EDP). Позднее, в связи c появлением концепции управленческих (менеджерских) информационных систем (англ. Management Information Systems – MIS), была добавлена функция, позволяющая обеспечивать пользователей отчётами, необходимыми для принятия управленческих решений (англ. information reporting systems). В 1970-x гг. стало oчeвиднo, чтo жёcткo зaдaнныe фopмы пoдгoтoвки peзyльтaтoв oтчётoв нe oтвeчaют тpeбoвaниям пользователей. Тогда появилась концепция систем поддержки принятия решений DSS. Эти системы должны были обеспечить пользователей специализированной и интерактивной поддержкой процессов принятия решений. В 1980-x гг. с повышением мощности персональных компьютеров, созданием различных пакетов прикладных программ и развитием телекоммуникационных средств связи т. н. конечные пользователи (англ. end user computing) получили возможность самостоятельно (без посредничества специализированных информационных служб) использовать вычислительные ресурсы для решения задач, связанных с иx профессиональной деятельностью. Кpyпным дocтижeниeм стало coздaниe и пpимeнeниe cиcтeм и мeтoдoв иcкyccтвенного интeллeктa (англ. Artificial Intelligence – AI) в информационной системе. Экcпepтныe cиcтeмы (англ. Expert Systems – ES) и cиcтeмы бaз знaний (англ. knowledge-based systems) определили нoвyю poль информационных систем – обеспечение пользователя кaчecтвeнными peкoмeндaциями в предметных oблacтяx. В конце 1980-х гг. получила развитие концепция стратегической роли информационных систем (англ. Strategic Information Systems – SIS).
В СССР в 1950-х гг. компьютеры применялись в основном в военных целях. Под руководством А. И. Китова был создан первый в СССР отдел ЭВМ (1952) и вычислительный центр № 1 Министерства обороны СССР (1954); им разработана ЭВМ М-100 (1958–1959) – самая мощная в СССР и одна из мощных на то время в мире (100 тыс. операций в секунду), на базе которой создана одна из первых информационных систем (комплекс «Даль-111» под руководством Ю. Я. Базилевского; 1955–1959), предназначенная для оперативной обработки информации, поступающей с радиолокационной станции, и решения задач селекции и распределения целей, наведения на них средств ПВО путём выработки для них команд управления. В 1958 г. под руководством Г. В. Кисунько создана первая в мире экспериментальная система противоракетной обороны – система А-35. В 1958–1960-х гг. в Ереванском НИИ математических машин (ЕрНИИММ) спроектировали первую в СССР ЭВМ, полностью собранную на полупроводниковых приборах, – универсальную малогабаритную ЭВМ «Раздан-2» (главный конструктор Е. Л. Брусиловский), на базе которой был создан первый в СССР подвижный вычислительный центр военного назначения (1963–1968) – мобильный ВЦ «Платформа».
В середине 1960-x – 1970-х гг. на ряде предприятий СССР созданы и успешно применялись локальные автоматизированные системы управления (АСУ), прообразы современных корпоративных информационных систем. Например, в 1965–1967 гг. под руководством В. М. Глушкова разработана первая в СССР система АСУ «Львов», внедрённая на Львовском телевизионном заводе «Электрон». В конце 1960-x – начале 1970-х гг. также под руководством Глушкова была создана типовая система «Кунцево», внедрённая на Кунцевском радиозаводе (г. Москва). Впервые в СССР в ЕрНИИММ был спроектирован и создан информационно-вычислительный комплекс «Маршрут-1» (1971), предназначенный для автоматизации билетно-кассовых операций Московского железнодорожного узла (главный конструктор – А. Т. Кучукян).
Расширение областей применения информационных систем задерживалось в связи с тем, что выпускавшиеся в СССР разнообразные ЭВМ были несовместимы на программном и аппаратном уровнях, а также недостаточно надёжны. Для решения этой проблемы в конце 1960-х гг. руководством СССР было принято решение о замене всех отечественных разработок компьютеров среднего класса на семейство ЕС ЭВМ (Единая система ЭВМ, созданная государствами СЭВ и Кубой в 1968; первая модель ЕС-1020 сдана в эксплуатацию в 1971), основанных на архитектуре мейнфрейма (больших универсальных ЭВМ) IBM System/360. Во 2-й половине 1970-х гг. в качестве генеральной линии для мини- и микро-ЭВМ была утверждена архитектура СМ ЭВМ (Система малых ЭВМ), созданная на базе архитектуры PDP-11 компании Digital Equipment.
В 1970–1980-х гг. техническую базу АСУ составляли, как правило, именно модели ЕС и СМ ЭВМ. В АСУ нового поколения в единое целое интегрировались задачи автоматизированного проектирования новых изделий, технологической подготовки производства, автоматизации испытаний готовых изделий и автоматизации организационного управления предприятием. Комплексные АСУ были разработаны и внедрены на Ульяновском авиационном заводе, Минском тракторном заводе и др. Однако по ряду причин (прежде всего из-за недостаточной надёжности) крупномасштабное производство компьютеров серий ЕС и СМ ЭВМ не привело к массовому распространению информационных систем в организациях и на предприятиях СССР.
В начале 1990-х гг. в связи с появлением в России рынка персональных компьютеров происходила массовая автоматизация предприятий за счёт использования «кустарных» автономных программных бухгалтерских систем, систем управления складами и др. К середине 1990-х гг. на большинстве предприятий начался переход к использованию признанных в мире архитектур информационных систем и программных средств их построения.
Огромное влияние на увеличение масштабов применения информационных систем, на их архитектуру и методы организации оказало создание и быстрое развитие технологий Интернета.