Компоненты ERP

Бизнес-операции

Бизнес-операции предназначены для преобразования одних данных (входов) в другие (выходы). Одни БО могут выполнять сложные расчеты с последующим изменением состояния бизнес-объектов, т.е. могут изменять данные системы. Другие же работают только «на чтение», т.е. получают параметры в качестве входных данных и на основании данных системы возвращают результат. Примерами БО являются процедура расчета зарплаты, формирование накладной на основании ДО, получение прайс-листа, процедура MRP и пр.

Бизнес-операции являются составной частью интерфейса взаимодействия подсистем.

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

Бизнес-операции используются для поддержания совместимости между различными версиями подсистем.

Бизнес-операции могут выполняться как независимо (выполняются без контекста, например, пакетное формирование расходных ордеров, проверка корректности БД), так и в контексте определенного объекта (например «пересчет сумм документа», выполняется для экземпляра накладной).3-1

Аудит Xafari

Модуль аудита позволяет протоколировать изменения данных и вызов действий и бизнес-операций. По сравнению со штатным модулем DevExpress.AuditTrail, данный модуль имеет более гибкие настройки и что более важно, имеет более высокое быстродействие и устойчивость при массивных изменениях объектов (1000 и более объектов в транзакции).

Поддерживается протоколирование:

  • Удаление, создание и модификация объектов включая их поля и коллекции
  • Выполнение контекстных и независимых бизнес-операций (БО), включая их откат
  • Выполнение пользовательских действий (Actions) контекстных и независимых
  • Формирования отчетов
  • Вход и выход пользователей

В первой версии модуля протоколирование реализовано на уровне СУБД с использованием триггеров. Это обеспечивает высокую производительность на больших объемах данных и транзакций.

Документооборот

Модуль Docflow содержит механизмы и компоненты обеспечивающие формальное описание жизненного цикла документа или объекта. Основным понятием является Регламент.

Регламент описывает последовательность этапов, которые проходит документ, перечень и последовательность исполняемых работ. Возможно описывать как «фиксированные» регламенты – в духе workflow, так и «гибкие/живые» регламенты ­– как это принято в ACM (Adaptive Case Management). В течении жизненного цикла, вся связанная с документом информации накапливается и агрегируется.

Регламент фактически является подтипом документа, который детализирует/уточняет поведение документа под требования конкретной прикладной задачи. Система включающая данный модуль становится адаптивной приобретая свойства робастности (подстройки под изменяющееся, вновь появившиеся требования).

Вся настройка поведения (регламента) производится в модели приложения (ApplicationModel) и доступна для изменения в момент эксплуатации системы, для этого не требуется программирование с использованием C#.

Для одного типа объекта (доменного компонента) может быть определено несколько регламентов. Так разные экземпляры одного типа могут обрабатываться различными регламентами.
3-2
3-3

Филиалы

Модуль Филиалы предназначен для частичной изоляции данных различных организационных структур. Использование данного модуля позволяет прозрачно автоматизировать компании холдингового типа. При этом обеспечивается возможность получения консолидированной отчетности по корпорации в целом с группировкой и фильтрацией данных в разрезе филиалов.

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

Список задач

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

Модуль создан с учетом потребностей прикладных задач и является универсальным и гибким. Для использование модуля имеется специальный API.

Модуль Список задач активно используется в решении документооборот.

Общие данные

3-4

Очереди сообщений

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

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

Сервер Xafari

Этот компонент служит для мониторинга очереди сообщений и распределения сообщений соответствующим обработчикам. Работает сервер асинхронно, как Xaf приложение. Во время работы, выбирает необходимые для обработки сообщения, блокирует и отправляет соответствующим по типу обработчикам. Работает сервер со своим провайдером безопасности, который обеспечивает окружение для обработки сообщения и асинхронное взаимодействие с базой данных, используя пул подключений.

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

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

Отчеты Xafari

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

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