RAP is structured in 3 layers: 1. Data Modeling & Definition Layer
| Component | Purpose |
|---|---|
| CDS Data Model | Defines entities and relationships (tables, views) |
| CDS View Entities | Provides the foundation for business objects |
| Associations | Represent relationships between entities |
| Annotations | Define metadata (UI, OData, behavior, etc.) |
2. Business Service Provisioning Layer
| Component | Purpose |
|---|---|
Behavior Definition (.behavior) |
Defines allowed operations like create, update, delete, custom actions |
Behavior Implementation (.abap class) |
Implements the logic for those operations |
| Validation/Determination | Hook methods to enforce rules or calculate field values |
| Draft Handling | Optional support for draft versions of data |
3. Service Consumption Layer
| Component | Purpose |
|---|---|
| Service Definition | Groups entities to be exposed |
| Service Binding | Publishes the service as an OData endpoint |
| UI Consumption (Fiori) | Used in Smart/Fiori Elements apps |
| OData V2/V4 Support | RAP supports both protocols (preferably V4) |
