Il modello di programmazione applicativa ABAP RESTful (RAP) rappresenta la nuova frontiera nello sviluppo su SAP. Si tratta di un framework moderno, progettato per il cloud e orientato alla creazione di applicazioni scalabili, sicure e facili da mantenere. Con RAP, gli sviluppatori hanno a disposizione strumenti standardizzati che riflettono i principi architetturali più attuali, rendendo possibile la costruzione di soluzioni enterprise pronte ad affrontare scenari complessi e in continua evoluzione.
Questa guida si rivolge a sviluppatori con esperienza intermedia o avanzata e offre una panoramica completa di come funziona RAP, delle sue componenti principali e delle differenze rispetto all’ABAP tradizionale.
Cos’è RAP?
RAP è il modello con cui SAP abilita la creazione di applicazioni end-to-end in stile Fiori, basate su servizi OData. La sua forza risiede in tre pilastri fondamentali:
Separazione dei livelli: dati, logica di business e interfaccia utente sono chiaramente distinti.
Protocollo OData: utilizzato come standard per la comunicazione tra backend e frontend.
Sviluppo a base di annotazioni: le entità e i comportamenti vengono descritti attraverso annotazioni nei Core Data Services (CDS), riducendo la necessità di codice manuale.
Punti di forza del modello RAP
Framework unificato: integra modellazione dati, logica applicativa e definizione dell’interfaccia utente in un unico approccio coerente.
Pronto per il cloud: supporta sia SAP S/4HANA Cloud che ambienti on-premise, assicurando continuità in entrambi i contesti.
Business object come fulcro: i dati aziendali sono trattati come entità di primo livello, incapsulando informazioni e comportamenti.
API sicure (whitelisted): le interazioni sono stabili anche dopo aggiornamenti di sistema.
Design basato su annotazioni: le viste CDS diventano il punto di definizione per dati, regole e UI, semplificando drasticamente lo sviluppo.
Struttura architetturale di RAP
Il modello si articola su tre livelli principali:
1. Livello dati (Database Layer)
Qui si gestisce la persistenza e l’accesso ai dati.
Le CDS View sostituiscono l’accesso diretto alle tabelle.
Le operazioni di scrittura passano attraverso API o business object transazionali.
L’uso di API whitelisted garantisce compatibilità futura.
Esempio di CDS per clienti:
@AbapCatalog.sqlViewName: ‘ZCUSTVIEW’@EndUserText.label: ‘Customer View’define view Z_Customer_View as select from kna1{ key kunnr as CustomerID, name1 as CustomerName, land1 as Country}
2. Livello logico (Business Logic Layer)
Qui vive la logica applicativa. RAP introduce il Behavior Definition Language (BDL), con cui si descrivono le azioni disponibili su un oggetto business.
Esempio di definizione comportamento:
managed implementation in class ZCL_ORDER_BDEF unique;define behavior for Z_Orderpersistent table zorderlock master{ create; update; delete;}
managed implementation in class ZCL_ORDER_BDEF unique;define behavior for Z_Orderpersistent table zorderlock master{ create; update; delete;}
Con managed, RAP gestisce in automatico le operazioni CRUD standard.
La logica custom viene scritta nella classe associata.
3. Livello interfaccia (UI Layer)
L’interfaccia è realizzata tramite SAP Fiori Elements, che consumano i servizi OData generati da RAP.Le annotazioni CDS controllano etichette, campi visibili e interazioni dell’utente.
Esempio di annotazioni UI:
@UI.selectionField: [{ position: 10 }]@UI.lineItem: [{ position: 10 }]@UI.fieldGroup: [{ qualifier: ‘Basic’, position: 10 }]define view Z_Order_View as select from zorder{ key order_id, @UI.label: ‘Order Date’ order_date, @UI.label: ‘Customer’ customer_id}
Workflow di sviluppo in RAP
Definire il modello dati con viste CDS.
Creare il business object tramite definizioni e implementazioni di comportamento.
Esportare il servizio OData attraverso gli artefatti di servizio RAP.
Costruire la UI utilizzando SAP Fiori Elements guidati dalle annotazioni CDS.
Vantaggi principali
Approccio moderno: separazione chiara e sviluppo basato su configurazioni.
Scalabilità e futuro garantito: applicazioni pronte per S/4HANA Cloud.
Manutenzione semplificata grazie a un’architettura standardizzata.
Maggiore sicurezza con API controllate e stabili.
Sfide e aspetti da considerare
Curva di apprendimento: chi proviene dall’ABAP classico deve familiarizzare con BDL e annotazioni.
Restrizioni dovute alle API whitelisted: alcune funzionalità possono sembrare limitate.
Dipendenza da Eclipse/ADT: lo sviluppo RAP avviene negli ABAP Development Tools e non più nella sola SAP GUI.
Conclusione
RAP non è solo un nuovo strumento, ma un cambio di paradigma nello sviluppo ABAP. Consente di creare applicazioni enterprise robuste e in linea con la strategia cloud-first di SAP.
Per gli sviluppatori che vogliono aggiornare le proprie competenze e restare competitivi, RAP è la strada da intraprendere: un’opportunità concreta per costruire soluzioni scalabili, sicure e pronte a evolversi con le esigenze del business.
–> Adotta RAP e porta il tuo sviluppo ABAP al livello successivo.