Информационная архитектура — это набор основополагающих решений в организационной структуре информационной системы.
Общие сведения
Под информационной архитектурой понимается совокупный набор решений для реализации информационной системы. Как правило, в определение архитектуры включены решения о главных аппаратурных и программных компонентах системы, их предназначении и структуре взаимосвязей друг с другом. Архитектурные параметры информационной системы определяют её основные характеристики, а именно:
- Уровень производительности, то есть число действий, которое выполняет информационная система в заданный временной интервал.
- Быстрота системного отклика, то есть через какой период времени система реагирует на обращение пользователя.
- Степень надёжности информационной системы, то есть безотказная работа в течение заданного временного периода.
Сегодня почти не встречаются информационные системы локального типа, предназначенные для использования одним работником. Широкое распространение получили распределённые информационные системы, работающие в сети интернет и предназначенные для широкого круга пользователей. Как правило, базы информационных данных находятся в едином узле сети, поддерживаются каким-либо сервером и к ним имеют доступ все пользователи локальных сетей, которых принято называть клиентами. Такой тип базы данных считается централизованным.
Если предприятие имеет в своём составе подразделения, находящиеся в удалённых точках, то в этом случае применяется распределённая база данных, в которой эта база распределяется на несколько узлов сети. В качестве сервера обычно используется наиболее надёжная и производительная электронная вычислительная машина. Сервер всегда оснащается источником бесперебойного питания и имеет систему дублирования.
По распределению функциональных особенностей работы с данными между клиентом и сервером существует два главных архитектурных построений:
- Файл-сервер.
- Клиент-сервер.
Есть также различные вариации этих двух построений.
Архитектура «файл-сервер»
Для организаций, относящихся к малому бизнесу, предназначена информационная система на основе архитектуры «файл – сервер». Это решение является оптимальным, когда число пользователей сравнительно не большое. В такой архитектуре весь комплекс работ с информационными данными ведётся на компьютерах клиентов, а сервер предназначен для хранения данных. На компьютеры клиентов пересылается копия базы данных, причём эта копия синхронизирована с главной базой данных и постоянно обновляется. Недостатком такого построения является повышенная загруженность сети и компьютеров клиентов, поскольку на все компьютеры клиентов необходимо установить копию системы управления базами данных (СУБД), выполняющую все операции по работе с данными. Причём если в клиентском компьютере копия базы была изменена, то это изменение необходимо передать через сеть в главную базу данных, что сильно увеличивает трафик сети. Преимуществом является отсутствие необходимости в мощном сервере. То есть архитектуру «файл – сервер» возможно выполнить даже в сети одного ранга без отдельного сервера, надо лишь назначить одну из машин хранилищем общей базы информационных данных. Число клиентов системы при такой архитектуре, как правило, не превышает десяти, иначе клиенты почувствуют снижение темпов работы. Этот момент может нарушить принцип масштабируемости.
По этой причине, если происходит увеличение числа пользователей информационной системы (например, при расширении бизнеса), необходимо перейти от системы файл – сервер к архитектуре клиент – сервер. При проектировании системы файл – сервер необходимо всегда иметь в виду такую возможность для будущих модификаций.
Архитектура «клиент-сервер»
Относительно информационных систем, архитектурное построение «клиент-сервер» представляет интерес тем обстоятельством, что даёт возможность просто и не дорого решить проблему многопользовательской работы с базами данных в глобальных или локальных сетях. При этой архитектуре информационная система состоит из двух частей, клиентской и серверной, и они могут работать в различных узлах сети. Серверная часть выполняет хранение и большую часть обработки данных, клиентская часть обеспечивает взаимодействие с пользователями и, отчасти, обработку данных, поступающих с сервера. Необходимо отметить, что и серверная и клиентская части возможно расположить на одной электронной вычислительной машине. Эту возможность удобно использовать при отладке всей информационной системы.
Чтобы прикладная программа, которая выполняется на компьютере клиента, имела возможность обратиться к серверу, необходимо наличие определённого интерфейсного программного слоя, поддерживающего обмен данными сервера и клиента. Прикладные программы, как и конечные пользователи, работают с клиентским компонентом информационной системы. Клиентская част системы при необходимости по сети взаимодействует с серверной частью. Интерфейсное построение серверной части строго определено и зафиксировано. Чаще всего в информационной системе в качестве такого интерфейса применяется язык SQL, то есть сервер получает запрос в формате SQL от клиента и осуществляет требуемые процедуры в базе данных, а затем передаёт результат клиенту. По существу, язык SQL является стандартным интерфейсом СУБД в открытой системе.
В архитектуре «клиент-сервер» имеется возможность создания новых частей клиента в уже действующей информационной системе. При этом число пользователей, которые одновременно работают с общей базой данных, существенно больше, чем в архитектуре «файл-сервер». Это означает, что система «клиент-сервер» более масштабируема, что можно объяснить менее загруженным трафиком сети. Клиент передаёт лишь запросы в текстовой форме, сервер возвращает только необходимые клиенту данные, а не всю копию базы данных, как в системе «файл-сервер».