Специально для обучения начинающих системных и бизнес-аналитиков сегодня рассмотрим основные понятия архитектуры информационных систем, которые пригодятся при разработке нефункциональных требований и их спецификации в виде ТЗ или SRS. Из каких компонентов состоит информационная система и как они распределяются по вычислительным узлам.
Что такое архитектура информационной системы
Начнем с определения: согласно Федеральному закону РФ от 27.06.2006 г. № 149-ФЗ «Об информации, информационных технологиях и о защите информации», информационная система – это совокупность содержащейся в базах данных информации и обеспечивающих её обработку информационных технологий и технических средств. Проще говоря, под информационной системой (ИС) обычно мы понимаем базу данных и интерфейс работы с ней, который позволяет решать специализированные бизнес-задачи, удовлетворяя потребности пользователя. Причем слово интерфейс здесь имеет общее значение как средство взаимодействия чего-то с чем-то, например, интеракция пользователя с программным обеспечением ПО реализуется через GUI и набор программных интерфейсов (API, Application Programming Interface).
Таким образом, архитектуру информационной системы можно представить в виде следующих компонентов:
- Слой представления — клиентская часть с графическим интерфейсом пользователя (GUI, Graphical User Interface), которая выполняет роль терминала — средства представления данных и отправки команд. Часто этот слой называют frontend.
- Слой бизнес-логики, где происходит обработка команд, полученных от клиента и выполняются основные вычисления. Чаще всего это реализуется в виде серверного приложения (backend). Здесь же располагается система управления базой данных (СУБД) как надстройка над базой данной (БД), которая позволяет обратиться к данным и манипулировать ими, о чем мы писали здесь.
- Слой доступа к данным, т.е. сама БД как хранилище данных в структурированном виде, что в конечном итоге на низком уровне сводится к файлам с записанными данными.
Такая послойная модель компонентного строения ИС получила название 3-хслойной архитектуры и сегодня реализуется везде. Однако, реализация этих 3-х слоев может быть выполнена по-разному. Если все компоненты всех 3-х слоев находятся на одном устройстве (компьютер, мобильный телефон), такая архитектура называется настольной (desktop). Например, локальный (не облачный) текстовый редактор, калькулятор. А если компоненты 3-х слоев ИС распределены по нескольким устройствам, ее архитектура называется распределенной (distributed). Именно такая архитектура сегодня встречается в большинстве современных ИС, что мы и рассмотрим далее.
Основные виды распределенных архитектур
Поскольку компоненты распределенной системы распределены по разным устройствам (узлам), им необходимо средство взаимодействия друг с другом, т.е. сеть передачи информации. Передача данных по сети выполняется по правилам сетевых протоколов, которые регламентируют вид и формат передаваемых данных. Лучше всего эту идею иллюстрирует 7-ми уровневая модель OSI (Open Systems Interconnection) — модель стека сетевых протоколов OSI/ISO. Она показывает, как разные сетевые устройства могут взаимодействовать друг с другом и определяет различные уровни взаимодействия систем, каждый из которых выполняет при этом специализированные функции. О том, что представляет собой модель OSI, мы поговорим в следующий раз, а пока вернемся к видам распределенной архитектуры.
Основы архитектуры и интеграции информационных систем
Код курса
OAIS
Ближайшая дата курса
20 января, 2025
Продолжительность
16 ак.часов
Стоимость обучения
36 000 руб.
Итак, архитектура ИС – это концепция, которая определяет ее модель, структуру, выполняемые функции и взаимосвязь компонентов. В общем случае архитектура любой распределенной ИС состоит из клиентов – пользовательских устройств и более мощного сервера, к которому клиенты обращаются. В зависимости от расположения компонентов 3-х слоев ИС на клиенте и сервере, различают следующие виды распределенных архитектур:
- Файл-серверная – самая примитивная распределенная архитектура, когда слои представления и бизнес-логики находятся на клиенте, а также там реализуется часть вычислений, т.е. операторов по обработке данных. Сервер отвечает только за хранение и управление файлами. Это простое и дешевое с точки зрения реализации решение подходит только ИС, небольших по количеству пользователей, имеет низкую производительность и предполагает передачу по сети огромного объема данных.
- Клиент-серверная, которая делится на 2 подвида:
- двузвенная – своего рода развитие файл-серверной версии. Она также обеспечивает многопользовательскую работу с данными, но имеет более высокую надежность, т.к. теперь на клиенте находится лишь слой представления и часть слоя бизнес-логики, такая как операторы обращения к СУБД. А другая часть манипулирования с данными, зашитая в СУБД, например, хранимые процедуры (объект БД в виде набора SQL-инструкций, компилируется лишь однажды и хранится на сервере), непосредственное выполнение запросов, обработка транзакций, а также само хранение файлов с данными и управление ими – реализуется на мощном сервере. Это снижает требования к клиентскому узлу, но не устраняет необходимость передачи большого объема данных по сети. Клиент становится тоньше по сравнению с файл-серверной моделью, но это все еще «толстый клиент».
- трехзвенная — устраняет недостатки двухзвенной архитектуры, располагая каждый из слоев на отдельном узле. Теперь на клиенте находится только пользовательский интерфейс со средствами вывода данных и ввода команд. По сути, клиент превращается в терминал и называется «тонкий клиент». За выполнение вычислений и формирование запросов к СУБД отвечает сервер приложений, а слой доступа к данным в виде СУБД и БД находится на отдельном сервере данных. Таким образом, трехзвенная архитектура устраняет почти все недостатки файл-серверной и клиент-серверной на 2-х звеньях ценой увеличения расходов на администрирование и разработку серверных частей.
Можно графически изобразить развертывание компонентов всех 3-х слоев трехзвенной архитектуры по узлам в виде соответствующей UML-диаграммы (deployment).
DDD, ООП и UML для аналитика
Код курса
BUML
Ближайшая дата курса
9 декабря, 2024
Продолжительность
16 ак.часов
Стоимость обучения
36 000 руб.
Если все функциональные возможности ИС реализованы в виде одного, а не нескольких серверных компонентов, и поддержаны единой базой данных, это соответствует монолитной архитектуре. Если же весь набор функциональных возможностей ИС представлен не одним, а несколькими backend’ами, которые взаимодействуют между собой и каждый из них имеет свою ограниченную по контексту область действия, такая архитектура называется микросервисной. Именно по такому принципу реализуется большинство современных ИС. Например, интернет-банк – это целый набор сервисов: сервис по работе с банковскими картами, сервис кредитов, сервис депозитов и пр. Такая реализация принципа единой ответственности ускоряет время и снижает скорость разработки отдельного сервиса, однако, усложняет проектирование взаимодействия разных модулей этой распределенной системы. Более подробно достоинства и недостатки монолитной и микросервисной архитектуры мы рассмотрим в следующий раз.
А детально познакомиться с основами архитектуры и интеграции информационных систем вам помогут курсы Школы прикладного бизнес-анализа в нашем лицензированном учебном центре обучения и повышения квалификации системных и бизнес-аналитиков в Москве:
- Основы архитектуры и интеграции информационных систем
- Разработка ТЗ на информационную систему по ГОСТ и SRS
- UML для бизнес-аналитика: основы ООП и разработка моделей