12. Слоёная архитектура для ИС

Last modified: 07 May 2025

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

На заре становления объектной технологии разработке ИС уделялось не так много внимания. Основная проблема заключается в том, что большие объемы зачастую сложной информации должны совместно использоваться многими людьми. Несмотря на то, что эта информация является общей, у разных пользователей разные потребности. Предоставление общей информации, которая может быть адаптирована к местным условиям, является основной задачей больших информационных систем. Кроме того, для удовлетворения постоянно меняющихся потребностей в информации требуется большая гибкость. В большинстве информационных систем доминируют задачи поддержки, которые в первую очередь связаны с удовлетворением меняющихся информационных потребностей. Основное преимущество объектной технологии в этих условиях заключается не в скорости создания новых систем, а в снижении бремени обслуживания [3],

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

Большинство разработок в области ИС негласно предполагают двузвенную архитектуру (12.1), которая возникла на базе интерактивных систем мэйнфреймов и сегодня часто встречается в разработках клиент/сервер. Несмотря на широкое распространение, двузвенная архитектура имеет множество недостатков, связанных с жесткой привязкой пользовательского интерфейса к физическому расположению данных. Трехзвенная архитектура (12.2), также называемая архитектурой трех схем, решает эту проблему, помещая промежуточное звено между пользовательским интерфейсом и физическими данными. Это доменное звено точнее моделирует концептуальную структуру проблемной области. Объектная технология особенно хорошо подходит для использования трехзвенной архитектуры, а звено домена может быть размещено как на клиентских, так и на серверных машинах.

Далее мы обратимся к приложениям, которые манипулируют объектами доменного звена и отображают информацию на пользовательском интерфейсе. Эти две обязанности можно использовать для разделения системы на презентацию и логику приложения (12.3). Логика домена может быть организована как набор фасадов на доменном уровне, по одному фасаду для каждой презентации. Такое разделение имеет множество преимуществ, а фасады приложений можно использовать для упрощения взаимодействия клиента и сервера.

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

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