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.