Когда речь заходит об архитектуре современных информационных систем, то мы чаще всего слышим слова «клиент-сервер», «трехуровневая архитектура», «интранет-приложения».
Спросите любого специалиста по ИТ про то, как должна быть построена современная промышленная ИС, и он начнет свое объяснение с картинки на рис. 1
Рис.1. Трехзвенная архитектура ИС
Затем он очень подробно разберет свойства и назначение «пользовательского приложения», даст квалифицированные консультации по вопросу выбора хранилища данных. Но если вы спросите, что же скрывается за термином «сервер бизнес приложений» (business application server), то чаще всего получите ответ: «здесь заложены ваши правила обработки данных и построения отчетности». В качестве инструмента Вам предложат Delphi/VB или монитор транзакций.
Небольшое отступление: архитектура NEXUS не является классической 3-х уровневой системой в том смысле, что уровень бизнес приложений не выделен в отдельную компоненту, которая может быть помещена на отдельном компьютере. Однако логически это настоящая трехуровневая система с четкими границами уровней. Такое решение имеет как плюсы (меньшее число физических компонентов), так и минусы (меньшие возможности масштабирования).
Попробуем рассмотреть, как устроен сервер бизнес приложений NEXUS.
Рис.2. Структура сервера приложений NEXUS
Посмотрим на рис 2. Основные задачи, которые должен решать уровень (сервер) бизнес логики это :
Бизнес уровень состоит из следующих компонент:
Одним из ключевых свойств современных ИС является возможность их быстрой адаптации к изменяющимся внешним условиям – изменениям в структуре предприятия, расширению сфер деятельности, изменению внутренней учетной политики, и, наконец, к изменениям законодательства. Для обеспечения этого свойства ИС должна иметь базу знаний о среде, в которой она функционирует, и модуль позволяющий модифицировать эти знания в процессе жизни системы.
В системе NEXUS база знаний о внешней среде реализована в виде базы данных настроек, описаний классов документов, экранных и печатных форм документов, хранящихся на сервере, схем проводок, которые могут зависеть как от класса документа, так и от значения конкретных атрибутов.
Настройки сгруппированы по признаку принадлежности к конкретной предметной области (товарная номенклатура, платежи, учет договоров/сделок и т.д.). Настройки позволяют выбирать из множества алгоритмов обработки информации тот, который нужен в конкретной ситуации, например, изменять правила резервирования товара на складе, принципы нумерации финансовых документов и т.д.
Система позволяет изменять состав и типы атрибутов у классов документов, а так же создавать новые классы, на основе уже существующих.
Схемы проводок определяют, каким образом документы учитываются.
Чем большим числом настраиваемых параметров обладает ИС, тем она гибче. Тем большее число информационных и учетных схем может быть реализовано с ее применением. С другой стороны, большое число параметров увеличивает время настройки и внедрения системы, удорожает ее эксплуатацию. Поэтому разработчикам ИС приходиться постоянно искать компромисс между гибкостью системы и ее понятностью для пользователей и администраторов.
NEXUS первоначально задумывалась как система, на основе которой возможна реализация информационной системы для предприятия любого профиля, поэтому ограничение степеней свободы было неприемлемым решением. Выход был найден в создании дополнительных инструментов, помогающих настраивать систему, а так же в поставке системы с готовыми настройками. Таким образом, появилась конфигурация NEXUS.ОпТорг.
К сожалению, назначение данной статьи – общий взгляд на архитектуру – не позволяет обсудить все аспекты, связанный с выбором архитектуры ИС.
Автор: Сергей Быков.