Система Виртуоз относится к классу ERP систем с высокой степенью сложности, поскольку она предназначена для автоматизации хозяйственной деятельности средних и крупных предприятий с различными моделями учёта в условиях динамических изменений. Чтобы обеспечить развитие системы и поддержку развивающегося бизнеса клиентов, при ее проектировании использованы проверенные концепции.
В основе системы Виртуоз лежат классические для большинства корпоративных приложений архитектурные решения. В структурной модели системы чётко выделяются три основных слоя архитектуры: представление, домен (бизнес-логика) и источник данных.
Слой представления охватывает всё, что имеет отношение к взаимодействию пользователя с системой и реализован в двух вариантах: в виде Windows клиента и ASP.NET приложения, которое позволяет пользователю использовать для общения с системой Web-обозреватель.
Логика источника данных традиционно для корпоративных систем сосредоточена в коде СУБД, в данном случае это Microsoft SQL Server. Могут использоваться версии от настольной СУБД (MSDE) до СУБД масштаба предприятия, в зависимости от объема документооборота, количества пользователей и сложности бизнес-процессов.
Бизнес-логика описывает основные функции корпоративной системы и реализует основные концепции «Виртуоз™», такие как документарность, гибкость и адаптивность (лёгкость настройки к особенностям модели учёта предприятия), многомерный аналитический учёт.
Структура логики предметной области ERP системы «Виртуоз™» сочетает использование таких шаблонов проектирования, как сценарий транзакций (или бизнес-транзакций) – процедура, которая получает на вход информацию об атрибутах документа от слоя представления, обрабатывает её, производит необходимые проверки и вычисления, формирует проводки в журналах системы, вычисляет показатели и сохраняет в базе данных. Затем процедура возвращает слою представления данные о сформированных проводках и показателях. Все проводки при этом формируются в разрезе аналитических признаков, заданных в системе для каждого типа документа.
Бизнес-транзакции реализованы в тексте хранимых процедур, размещаемых в базе данных. Они легко понимаются и могут без труда изменяться всеми разработчиками. В этом состоит преимущество сценария транзакций. Типичный недостаток этого подхода – дублирование фрагментов кода – устраняется при помощи использования шаблонов документов, специального инструментария для их настройки и автоматизации формирования хранимых процедур.
Бизнес-логика же объектов системы, таких как адреса, артикулы, договора и др., использует преимущества модуля таблицы. Такое решение принято в связи с удобством работы с результатами обработки SQL-запросов, организованными в виде множества записей.
Таким образом, чётко выделенный, легко настраиваемый слой бизнес-логики в ERP системе «Виртуоз™» предоставляет предприятию очень важное конкурентное преимущество – возможность быстро изменять собственные бизнес-процессы в соответствии с изменяющимися условиями хозяйствования или внутренними потребностями развития.