Recent, SAP a publicat sondajul 2023 SAP Developer Insights Survey. Din acest sondaj care a avut la bază 2467 de răspunsuri de la programatori din 79 de țări, a reieșit faptul că limbajul de programare ABAP încă domină lumea SAP și că este cel mai popular limbaj de programare. Nimic surprinzător!
Câți dintre acești programatori folosesc ABAP Cloud ca parte a SAP Business Technology Platform (SAP BTP)? Câți dintre ei folosesc încă ABAP clasic? Din nefericire, din același sondaj reiese că SAP GUI este unul din cele mai folosite IDE-uri/editoare de cod sursă pentru dezvoltarea propriu-zisă de aplicații software.
SAP GUI nu este suportat ca IDE în SAP BTP, ABAP Environment. Prin urmare, majoritatea programatorilor ABAP nu folosesc ABAP Cloud la scară largă.
În acest articol, dorim să explorăm SAP BTP și environmenturile disponibile pentru a înțelege mai bine cum arată noul mod de dezvoltare al aplicațiilor în ABAP Cloud și unde trebuie să investim timp pentru a dobândi abilitățile necesare pentru a lucra cu ABAP Cloud.
Istoric vorbind, prima inițiativă în direcția cloud din partea SAP a debutat în 2010 cu SAP HANA Cloud Platform, optând ulterior, în 2021, să se încorporeze diferitele părți ale unui sistem enterprise inteligent în cadrul unei singure platforme. Astfel, brandul SAP HANA Cloud Platform a fost retras, iar SAP Business Technology Platform a luat naștere.
SAP BTP este o platformă unificată, centrată pe business, dar și una deschisă (eng. Open Platform), destinată întregului ecosistem SAP. Le permite utilizatorilor să integreze și să genereze valoare din date, apoi să extindă soluțiile SAP proprii sau pe cele terțe pentru a răspunde cerințelor de business aflate în continuă evoluție.
În ceea ce privește dezvoltarea și administrarea aplicațiilor de business, momentan, SAP BTP oferă patru environmenturi:
Cloud Foundry - permite crearea de aplicații cloud poliglote, ceea ce înseamnă că putem crea aplicații independente, cloud-ready, pe baza unor open standards precum Node.js, Java, Python sau chiar PHP, Ruby etc.
Kyma - similar cu mediul Cloud Foundry, oferă un runtime gestionat integral de tip Kubernetes bazat pe proiectul open-source Kyma.
ABAP - permite atât crearea de extensii pentru produsele ABAP, de exemplu SAP S/4HANA Cloud, cât și crearea de aplicații independente, cloud-ready.
Pentru a facilita procesul de dezvoltare al noilor aplicații, fiecare environment menționat mai sus vine gata dotat cu tehnologiile, runtime-ul și toolurile corespunzătoare.
Actorul principal al acestui articol, SAP BTP ABAP Environment, oferă posibilitatea de a crea extensii pentru produsele ABAP, precum SAP S/4HANA Cloud, dar și de a crea aplicații de business noi, cloud-ready. Din moment ce strategia principală a SAP este Cloud First, SAP BTP ABAP Environment se bazează mereu pe cea mai recentă versiune a platformei cloud ABAP, ceea ce oferă clienților SAP BTP ultimele inovații aduse de SAP HANA.
Dacă un programator ABAP clasic va întreba : "Pot să dezvolt aplicații de business similar cu modul de lucru din SAP Netweaver AS ABAP sau din SAP S/4HANA On Premise?" Răspunsul este evident: NU! Dezvoltatorii cloud vor trebui să adopte noua paradigmă cloud și trebuie să folosească modelul de ABAP development prestabilit pentru a construi aplicații de business cloud-ready, servicii și extensii prin intermediul ABAP Cloud.
ABAP Cloud este disponibil în SAP BTP ABAP Environment, SAP S/4HANA Cloud, public edition (>= release 2208), dar și în SAP S/4HANA On Premise sau SAP S/4HANA Cloud, private edition (>= release 2022) așa cum putem observa din imaginea de mai jos.
Dacă folosim SAP S/4HANA On Premise având un release >= 2022, putem beneficia deja de ABAP Cloud și să îl folosim în procesul de dezvoltare de aplicații de business care să fie compatibile atât cu varianta Cloud, cât și cu cea On Premise. ABAP-ul clasic poate fi folosit în variantele On Premise, deși development modelul recomandat este ABAP Cloud.
Elementele cheie ale ABAP Cloud sunt:
Core Data Services (CDS) - acestea formează Virtual Data Model (VDM) pe baza SAP HANA;
ABAP RESTful Application Programming Model (aka. RAP) (ce include SAP Fiori) ;
Un set al limbajului de programare ABAP optimizat pentru cloud;
Released SAP BTP Services și APIs;
Prin comparație cu lumea clasică ABAP, în cadrul ABAP Cloud, există un model specializat de programare ce trebuie luat în calcul în cadrul procesului de dezvoltare al aplicațiilor, element cheie pentru ABAP Cloud așa cum l-am prezentat în anterior - ABAP RESTful Application Programming Model (RAP) - ce constă dintr-un set de concepte, tooluri, limbaje și paradigme ce permit un flux standardizat de dezvoltare în Eclipse IDE with ABAP Development Tools (ADT) a diferite tipuri de servicii și API-uri, precum servicii fundamentate pe Odata pentru dezvoltare UI consumate de aplicații SAP Fiori bazate pe SAP Fiori Elements sau chiar aplicații SAP Fiori-freestyle (read-only sau transactional draft/non-draft enabled). Mai includem și serviciile bazate pe Odata pentru expunere sub formă de Web APIs, dar și serviciile analitice configurate pe InA (SAP Information Access Protocol) consumate de diferite tooluri analitice (i.e. SAP Analytics Cloud, SAP WebDynpro Data Grid).
Următoarea imagine oferă o vedere de ansamblu asupra tipurilor de obiecte implicate în dezvoltarea aplicațiilor de business în contextul ABAP RESTful Application Programming Model (RAP):
Așa cum am spus anterior, singurul IDE ce trebuie folosit cu ABAP Cloud este Eclipse with ABAP Development Tools (ADT). Prin urmare, aceasta este o veste proastă pentru dezvoltatorii în ABAP clasic - Fără SAP GUI! Fără aplicații/tranzacții bazate pe SAP GUI! Fără SE80!
În acest capitol, vom încerca să încurajăm și să motivăm dezvoltatorii în ABAP clasic, oferindu-le idei și materiale de învățare utile care să îi ajute să lucreze eficient cu ABAP Cloud, deoarece, evident, viitorul este cloud. În acest context, chiar dacă mulți consideră exact contrariul, #ABAPisNOTDead (#ABAPnuAMurit)
Încercați să înțelegeți paradigma cloud (inclusiv cloud qualities)[^1]
Folosiți Eclipse IDE with ABAP Development Tools (ADT) - Chiar dacă nu folosiți încă ABAP Cloud, ABAP Development Tools in Eclipse (ADT) s-a lansat acum zece ani, fiind disponibil nu doar pentru ABAP Cloud, cât și pentru SAP S/4HANA On Premise și SAP Netweaver AS ABAP >= 7.31 SP5. Este recomandat să utilizăm ABAP Development Tools in Eclipse (ADT) pentru activitățile de dezvoltare software de zi cu zi, din moment ce adoptarea acestui IDE nu va face altceva decât să ne sporească eficiența și productivitatea în dezvoltarea software. De asemenea, în ceea ce privește activitățile de refactorizare ale codului sursă, ADT oferă foarte multe quick fix-uri în această direcție, ceea ce nu avem în SE80
Învățați și adoptați ABAP Core Data Services (inclusiv opțiunile de Code Pushdown pe SAP HANA)
Învățați și adoptați ABAP RESTful Application Programming Model pentru dezvoltarea de aplicații business noi în cadrul SAP S/4HANA On Premise - Lansarea inițială RAP care a oferit suport pentru scenarii legacy a avut loc împreună cu SAP S/4HANA On Premise 1909, evoluând până la SAP S/4HANA On Premise 2022, unde se oferă suport pentru toate scenariile posibile de implementare. Un bun punct de pornire este ABAP Cloud Developer Resource
Fără tranzacții bazate pe SAP GUI, dar ce punem în loc? Răspuns: Aplicații SAP Fiori - Familiarizați-vă cu SAPUI5 și dezvoltarea de aplicații SAP Fiori Elements sau SAP Fiori-freestyle prin intermediul tutorialelor
Înțelegeți conceptul ABAP Extensibility din ABAP Cloud
Înțelegeți limbajul ABAP optimizat pentru cloud pentru a implementa logica de business
Încercați să înțelegeți și alte modele de programare disponibile în SAP BTP - i.e. SAP Cloud Application Programming Model (CAP). În funcție de cerințele clienților, este posibil ca ABAP Cloud să nu poată răspunde tuturor acestor cerințe. Prin urmare, este bine să cunoaștem celelalte posibilități din celelalte SAP BTP Environments.
Înțelegeți conceptele DevOps din SAP și modul de lucru cu abapGit.
După cum putem observa, SAP și, în mod special, echipa din spatele platformei ABAP au fost extrem de inovative în suportul acordat produsului SAP S/4HANA, oferind posibilitatea de a dezvolta soluții cloud și extensii bazate pe ABAP. Comparativ cu lumea ABAP clasică, în SAP BTP există multe concepte și paradigme noi, multe modele de dezvoltare noi (inclusiv ABAP Cloud), dar și noi modele de programare (RAP, CAP). Dezvoltatorii de ABAP clasic ar trebui să iasă din zona de confort și să adopte toolurile disponibile azi atât pentru ABAP Cloud, cât și pentru ABAP clasic, să își schimbe modul de gândire adoptând noua paradigmă cloud, să se concentreze pe învățarea noilor modele de programare folosite în dezvoltarea aplicațiilor.
Fără îndoială, în cadrul acestui articol, am oferit doar o vedere de ansamblu asupra implicațiilor ce derivă din trecerea de la ABAP clasic la ABAP Cloud. Prin urmare, dacă doriți să aflați mai multe detalii despre ABAP RESTful Application Programming Model, SAP Cloud Application Programming Model, SAP BTP Extension Suite, sau SAP BTP Integration Suite, sunteți invitați la evenimentul SAP BTP Meet-Up, organizat de msg systems România ce va avea loc în 21 și 22 iunie 2023.
de Bogdan Maxim
de Mihai Șerban
de Nóra Dobre
de Ovidiu Mățan