Общая классификация архитектур информационных приложений

Устно:

Следует заметить, что, как и любая классификация, наша классификация архитектур информационных систем не является абсолютно жесткой. В архитектуре любой конкретной информационной системы часто можно найти влияния нескольких общих архитектурных решений. Тем не менее, при архитектурном проектировании системы полезным иметь хотя бы частично обобщенный архитектурный базис

Файл-серверные приложения

Компоненты информационной системы, выполняемые на разных рабочих станциях (PC), взаимодействуют только за счет наличия общего хранилища файлов, которое хранится на файл-сервере. В классическом случае в каждой PC дублируются не только прикладные программы, но и средства управления базами данных. Файл-сервер представляет собой разделяемое всеми PC комплекса расширение дисковой памяти (рисунок 2.1).

Основным достоинством является простота организации.

Рис. 2.1. Классическое представление информационной системы в архитектуре "файл-сервер"

С другой стороны, во-первых, информационной системе предстоит работать с базой данных. Следовательно, эта база данных должна быть качественно спроектирована.

Устно:

Почему-то часто разработчики файл-серверных приложений считают, что по причине простоты средств управления базами данных проблемой проектирования базы данных можно пренебречь. Конечно, это неправильно. База данных есть база данных. Чем качественнее она спроектирована, тем больше шансов впоследствии эффективно использовать информационную систему. Естественно, сложность проектирования базы данных определяется объективной сложностью моделируемой предметной области. Но, собственно, из чего должно следовать, что файл-серверные приложения пригодны только в простых предметных областях?

Во-вторых, необходимыми требованиями к базе данных информационной системы являются поддержание ее целостного состояния и гарантированная надежность хранения информации.

Под истинным сервером баз данных будем понимать программное обеспечение, привязанное к соответствующей базе (базам) данных, существующее, в общем, независимо от существования пользовательских (клиентских) процессов и выполняемое, в общем (хотя и не обязательно) на выделенной аппаратуре.

Серверы баз данных существенно сложнее по организации, чем СУБД, на зато обеспечивают более эффективное управление базами данных. В дальнейшем, при употреблении термина "сервер баз данных" мы будем иметь в виду истинные серверы баз данных.

В целом, в файл-серверной архитектуре имеем "толстого" клиента и очень "тонкий" сервер в том смысле, что почти вся работа выполняется на стороне клиента, а от сервера требуется только достаточная емкость дисковой памяти.

Клиент-серверные приложения

Под клиент-серверным приложением будем понимать информационную систему, основанную на использовании серверов баз данных. Общее представление информационной системы в архитектуре "клиент-сервер" показано на рисунке 2.3.

При этом:

  • На стороне клиента выполняется код приложения, в который обязательно входят компоненты, поддерживающие интерфейс с конечным пользователем, производящие отчеты и выполняющие другие, специфичные для приложения функции (пока нас не будет занимать, как строится код приложения).
  • Клиентская часть приложения взаимодействует с частью программного обеспечения управления базами данных.

Рис. 2.3. Общее представление информационной системы в архитектуре "клиент-сервер"

Процессы, происходящие на стороне сервера баз данных следующие:

(Отметим, что в продуктах практически всех компаний сервер получает от клиента текст оператора на языке SQL).

  • Сервер производит компиляцию полученного оператора.
  • Если компиляция завершилась успешно происходит выполнение оператора.

Устно:

Здесь не будем обсуждать технические детали, поскольку они различаются в реализациях.

Т.о., в клиент-серверной организации клиенты могут являться достаточно "тонкими", а сервер должен быть "толстым" настолько, чтобы быть в состоянии удовлетворить потребности всех клиентов

Выводы:

Сформулируем некоторые предварительные выводы.

Архитектура "клиент-сервер" является более дорогой, чем архитектура "файл-сервер". Требуется более мощная аппаратура (по крайней мере, для сервера) и существенно более развитые средства управления базами данных. При этом основным преимуществом клиент-серверной архитектуры является ее масштабируемость и способность к развитию.

Увеличение масштабов информационной системы не порождает принципиальных проблем. Обычным решением является замена аппаратуры сервера (и, может быть, аппаратуры рабочих станций, если требуется переход к локальному кэшированию баз данных). В любом случае практически не затрагивается прикладная часть информационной системы, что более важно при длительной эксплуатации информационной системы.

Устно:

При проектировании информационной системы, основанной на этой архитектуре, большее внимание следует обращать на грамотность общих решений. Технические средства тестовой версии могут быть минимальными (например, в качестве аппаратной основы сервера баз данных может использоваться одна из рабочих станций). После создания тестовой версии нужно провести дополнительную исследовательскую работу, чтобы выяснить узкие места системы. Только после этого необходимо принимать решение о выборе аппаратуры сервера, которая будет использоваться на практике.



Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: