TSM - Trecerea de la ABAP clasic la ABAP Cloud – dincolo de mituri

Cătălin Chiuaru - Lead IT Consultant (SAP) @ msg systems Romania

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.

Locul ABAP Cloud în SAP Business Technology Platform

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:

  1. 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.

  2. Kyma - similar cu mediul Cloud Foundry, oferă un runtime gestionat integral de tip Kubernetes bazat pe proiectul open-source Kyma.

  3. 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.

  4. Neo - reprezintă un legacy environment - care nu se va mai folosi pe viitor.

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:

  1. Core Data Services (CDS) - acestea formează Virtual Data Model (VDM) pe baza SAP HANA;

  2. ABAP RESTful Application Programming Model (aka. RAP) (ce include SAP Fiori) ;

  3. Un set al limbajului de programare ABAP optimizat pentru cloud;

  4. Released SAP BTP Services și APIs;

  5. Eclipse IDE with ABAP Development Tools (ADT) drept IDE recomandat pentru dezvoltare în ABAP Cloud.

ABAP RESTful Application Programming Model - noul mod de a dezvolta aplicații în ABAP Cloud

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!

Ce trebuie să știu pentru a fi pregătit pentru dezvoltarea în ABAP Cloud

Î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]

Concluzii

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.

Referințe

  1. 2023 SAP Developer Insights Survey, SAP

  2. ABAP Cloud, SAP Blog

  3. Modern ABAP Development with the ABAP RESTful Application Programming Model (RAP), SAP

  4. Happy 10th anniversary to the ABAP Development Tools in Eclipse!, SAP Blog