Xafari Service (XS) is a program component implementing a particular business property in the application. An example of such property is Conditional Appearance that is used to configure the View dynamically and depending on predefined rules.
Xafari Services implement a various business properties of the Xafari framework.
Xafari Service is a design pattern intended to develop the application’s business logic. XS place in building the business logic of the app may be compared to the role played by XAF Controllers in UI.
Any XS has some typical features:
- Each service is a singleton in the XAF application.
- It can be activated and deactivated as a whole or only in particular context.
- All services can have their own settings described in a unified way. The settings are open for the administrator to customize.
- All services share an identical life cycle.
- Service can be associated with a current user.
Types of services
There are two types of services:
- Standard service is derived from the XafariCommonService base class.
- Context service is derived from the XafariServiceBase base class.
A context service is always the descendant of a standard service.
List of services
Here is the list of all services included into Xafari:
- Service Spaces Manager is to manage service spaces.
- Services Model Service maintains the Service Model and implements multi-user editing of service settings.
- Data Accessor Service implements DataAccessor that is used in all context services.
- Object Space Factory is a special service to support those services having their own IObjectSpace object. The general idea of ObjectSpaceFactory is to guarantee the trouble-free work of such services while the database is being updated.
- The Numerators service automatically generates numbers and set the string fields of the object.
- The Index Numerators service is to control the order of the objects’ numbering in the lists.
- Hierarchy Manager manages the hierarchy data built on the basis of IHierarchyNode.
- Logic Controllers is a special service intended to reduce the amount of separate XAF Controllers in the application avoiding any functional limitations.
- App Settings is used to describe and manage the business settings of the application.
- The Business Operations service manages the business functions of the application.
- Branches is used to manage isolated data of different departments of the company.
More information about Xafari Service can be found in the following sections:
Task Based Help