Persistent CRUD Services

The Services

We have added Spring services in the format ILimitsApp<DatabaseType>CrudService to provide a more unified approach to data management in Atoti Limits. These services are designed to work with different types of databases and datastores. The primary services are as follows:

Service Description
ILimitsAppCrudService The parent interface for the following services. It is not directly imported into the application but serves as a means to combine the required functionality for each service.
ILimitsAppDatastoreCrudService Manages objects that exist in the Atoti Datastore. These objects power the Atoti Limits cube.
ILimitsAppJpaDatabaseCrudService Manages objects that exist in an external database. Changes to these objects are propagated using JPA.
IPreferredLimitsAppCrudService The default implementation of ILimitsAppCrudService. It is invoked throughout the application and powers the REST services used by the Atoti Limits UI. It uses a combination of both ILimitsAppDatastoreCrudService and ILimitsAppJpaDatabaseCrudService to manage objects between both an Atoti Datastore and an external database.

In summary, ILimitsAppCrudService provides a general contract for persistent CRUD services in the Limits Application, the ILimitsAppDatastoreCrudService and ILimitsAppJpaDatabaseCrudService provide specific implementations for a Datastore and a JPA Database, respectively. The choice between these two depends on the specific persistence mechanism your application is using.

For more information on extending these services see Adding Custom Persistence Services.