English version

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

Должны выйти следующие релизы Xafari Framework:

  • 13.2.x06
  • 14.1.x06

Выпуск ожидается в конце сентября 2014 года.

Основная цель данной версии расширения функциональности, а также обеспечение быстродействия/масштабируемости и эргономики XAF приложений особенно Web интерфейса.

Функциональные механизмы

Филиальность

При подключении модуля в прикладном решении появляется возможность в одной базе/конфигурации данных вести множество отдельных компаний. Можно установить какие сущности и НСИ являются общими, а какие «филиальными». Для каждого пользователя определяется уровень доступа к определенным филиалам. Данный функционал был опробован в наших прикладных системах Галактика EAM и Галактика ERP.

Аудит

Модуль является заменой штатного модуля XAF Audit Trail с расширенными функциональными возможностями и существенно увеличенной масштабируемостью и производительностью на больших объемах. Более подробно можно почитать тут.

Сервер отчетов

В рамках данной работы реализованы следующие функциональные возможности:

  • Асинхронное/отложенное формирование отчетов на сервере или клиенте
  • Функционирование сервера отчетов как приложения XAF/Xafari
  • Полная поддержка модели безопасности XAF приложения
  • Экономия ресурсов клиента, формирование на сервере
  • Хранение готовых отчетов в базе данных
  • Масштабируемость
  • Формирование отчета по расписанию
  • Рассылка уведомлений

Кроме непосредственно сервера отчетов сейчас реализовали сервис очередей сообщений Xafari Message Queue – XafariMQ. После апробации в х06, в следующем релизе планируем выпустить на его основе сервер расчетов/вычислений.

Task list

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

Сервис позволяет

  • формировать работы
  • получать список работ для исполнителя
  • администрировать работы

Модуль docflow в начиная с версии x06 будет работать с использованием данного общего модуля.

Шаблон отчетов Analysis

В текущей версии доступны следующие шаблоны отчетов: XtraReport, Excel, File

В следующем релизе мы добавили шаблон "Analysis", позволяющий строить отчеты на основе XtraPivotGrid.

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

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

Функциональность шаблона "Analysis" реализована в модулях Win и Web.

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

В Win версии приложения при редактировании шаблона доступен дизайнер сводной таблицы.

Модуль экспорт/импорт

В релиз х06 войдут доработки механизма улучшающие его потребительские свойства:

  • Подробная информация при возникновении ошибок в процессе импорта-экспорта
  • Определение значений по умолчанию
  • Использования "вычисляемых полей"
  • Добавлена возможность импорта-экспорта связей многие-ко-многим
  • При импорте добавлен механизм анализа существующих начальных данных в БД
  • Поддержка импорта/экспорта изображений

Интерфейсные механизмы

MVC Web Module

Помимо двух возможных типов клиентов WinForm и ASP.NET-WebForm для XAF приложений мы разработали новый тип клиентского приложения ASP.NET-MVC.

Новый MVC клиент позволит существенно снизить нагрузку на сервер и сделает WEB приложения построенные на базе XAF более масштабируемыми (более 100 одновременно работающих пользователей). Время отклика улучшается более чем в 3 раза, что существенно увеличивает общую эргономику web приложений.

В версии х06 выйдет ознакомительная версия (покрывающая стандартный функционал XAF MainDemo и CRM), окончательное решение мы планируем выпустить к концу 2014 года.

Множественный выбор

Первоначально наш визуальный элемент множественного выбора Xafari Multiple Lookup Property Editor сохранял свои выбранные значения. Это достаточно неудобно для формировании запросов. И кроме того существенно снижает быстродействие при построении множественных фильтров. В следующем релизе проведены существенные доработки и изменена архитектура работы. Теперь выбранные значения сохраняются в служебной таблице, а при фильтрации используется конструкция «JOIN». Существует возможно создавать «повторно-используемые» выборки значений, доступные из разных форм приложения. Для поддержки данного функционала разработан специфический тип данных и редактор. Данное изменение позволило на порядки увеличить быстродействие фильтров на больших объемах данных (ранее минуты, теперь менее 1с).

Шаблоны для WEB

Мы реализовали возможность задания шаблонов для визуальных элементов, определяемых для полей бизнес-объектов. Шаблоны можно создавать как для каждого поля в отдельности, так и для группы полей. Группы полей возможно определять на основании разных факторов: тип, редактор, представление на котором находится поле и пр.

Это позволяет в короткие сроки адаптировать стандартный WEB XAF интерфейс под корпоративные стандарты и требования заказчиков.

Стратегии генерации форм

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

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

Профилирование и быстродействие

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

Так были выявлены и устранены многие замечания и проблемы возникающие при нагрузках (более 5 пользователей) для Win-ASP клиента.

Документация и примеры

В данном релизе будет существенно доработана документация. А также мы планируем разработать новые демонстрационные приложения.

В рамках данной версии планируется выпустить документацию по общим данным.

Лицензирование Xafari

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