The service layer in "classic" Cúram was developed using an approach which combined:
- "Process classes", which contained processing logic only (i.e. no data); and
- "Struct classes", which contained data only (i.e. no processing logic).
By comparison, a service layer developed using the Persistence Infrastructure contains classes which contain both processing and data.
Thus a service layer developed using the Persistence Infrastructure looks and feels very different to its classic-Cúram counterpart, not only to those designers and developers delivering such a service layer, but also to those designers and developers who must make use of it. Code which calls service-layer APIs is typically either:
- façade-layer logic, responsible for translating the data received from a user interface screen into a format suitable for passing into a service-layer API call, or similarly translating the data returned from a service-layer API call into a format suitable for returning to a user interface screen; or
- server logic in another system, which is designed to re-use the service layer developed using the Persistence Infrastructure.
The purpose of this document is to show developers how to use and develop service-layer APIs, through a series of scenarios and solutions, and how to customize out-of-the-box software that uses the Persistence Infrastructure.