This topic provides a brief information on major features which are supplied in ERP Components group.



Audit module is intended to track and save in the protocol the facts of data changes, executing an Actions, starting a Business Operations, etc. In comparison with the DevExpress.AuditTrail this module provides a more flexible configuration and best performance. The performance and stability particularly clearly manifested during the massive transactions that involve thousands of objects. Such indicators managed to achieve thanks to the use of triggers at the database level.

Audit registers and allows to retrieve information about many types of operations that are being made in the system. This is deletion, creation and modification of objects, including their fields and collections; the performing of both contextual and independent Business Operations, including the rollback; the executing of Actions; reports generating; logon and logoff.



This module includes mechanisms and components that allows to design the life cycle of a complex business object, then Docflow engine supports all the specified tasks and stages at the runtime.

The basic concept is a Shema. Shema contains the sequence of  stages to be overcomed and a sequence of executable tasks. It is possible to create both "fixed" and "flexible/living" Shemas. The first more suited to the concept of traditional workflow, while the second correspond to the spirit of the Adaptive Case Management. In the life cycle, all associated with the document information is accumulated and aggregated.

In fact, the Schema is an extension to the document that details/clarifies the behavior of the document for the requirements of a custom business process. You can define multiple Schemas for the same document type, then different instances can evolve according to different scenarios. The system which uses this module is acquiring adaptive properties of robustness (adaptation to a changing, newly emerging requirements). Shema's design does not require programming using C#, it is made in the Application Model and it is editable at the time of operation of the system.



Branches module divides the data between different organizational structures of the company. In this approach, each office only sees "their" records. This allows to transparently automate the holding type company.

All information is stored in a single database, all private data are fully available within the branch, and access to data of other branches are regulated in accordance with the special permissions. Unauthorized access to the information of branches is excluded.

There is a possibility to obtain consolidated reports, i.e. the information for the entire corporation as a whole and grouping and filtering data in the context of branches.


Xafari Server and Message Queue

This scheme allows to shift the responsibility for common tasks (messages) from the application into independent services, it reduces the resources consumed by the application, and processing time.

The applications generate different types of messages for the corresponding services that handles the messages and return a result to the application. All messages are stored in the same database with which the application works and they should vary by type. Messages are processed asynchronously on the server side.

A message queue monitors a pool of messages and distributes messages to the appropriate handlers. The server works asynchronously, similar to a XAF application. The server chooses the message required to process, blocks it  and sends to the appropriate handler according to the type. The server has its own security provider. The server has its own security provider, which provides the environment for message processing and asynchronous interaction with the database using connections pool.

There are two modes of use of server, the first is with the application, but in a separate thread; the second is to host the server on a remote resource.


Xafari Reports

This system significantly expands the standard functionality of reporting for XAF applications.

It is possible to develop report based on multiple business objects with complex data structure and you can implement any algorithm to obtain the final data. The system saves the report parameters and allows to reuse them. There are four output formats: XtraReport, Analysis, Excel and File Report. The decision about the form of the final report is accepted by the user.        

The reporting system also includes a report server, which generates the final report remotely and saves it to the database. The resulting report is available for viewing through a special list.

The system includes in the report only the data that satisfies the permissions of the user-initiator.



These libraries provides all the necessary tools to develop a XAF application on the ASP.NET MVC platform.

In general, the concept of the application is preserved and is similar to the Web platform. However, the mechanism of generation the html code is completely different, it is based on the principles ASP.NET MVC. Comparative performance tests showed that the MVC application is 30% faster compared to the same Web Forms application.

Demo application are available at https://demos.galaktikasoft.com/.