ABONAMENTE VIDEO REDACȚIA
RO
EN
NOU
Numărul 151
Numărul 150 Numărul 149 Numărul 148 Numărul 147 Numărul 146 Numărul 145 Numărul 144 Numărul 143 Numărul 142 Numărul 141 Numărul 140 Numărul 139 Numărul 138 Numărul 137 Numărul 136 Numărul 135 Numărul 134 Numărul 133 Numărul 132 Numărul 131 Numărul 130 Numărul 129 Numărul 128 Numărul 127 Numărul 126 Numărul 125 Numărul 124 Numărul 123 Numărul 122 Numărul 121 Numărul 120 Numărul 119 Numărul 118 Numărul 117 Numărul 116 Numărul 115 Numărul 114 Numărul 113 Numărul 112 Numărul 111 Numărul 110 Numărul 109 Numărul 108 Numărul 107 Numărul 106 Numărul 105 Numărul 104 Numărul 103 Numărul 102 Numărul 101 Numărul 100 Numărul 99 Numărul 98 Numărul 97 Numărul 96 Numărul 95 Numărul 94 Numărul 93 Numărul 92 Numărul 91 Numărul 90 Numărul 89 Numărul 88 Numărul 87 Numărul 86 Numărul 85 Numărul 84 Numărul 83 Numărul 82 Numărul 81 Numărul 80 Numărul 79 Numărul 78 Numărul 77 Numărul 76 Numărul 75 Numărul 74 Numărul 73 Numărul 72 Numărul 71 Numărul 70 Numărul 69 Numărul 68 Numărul 67 Numărul 66 Numărul 65 Numărul 64 Numărul 63 Numărul 62 Numărul 61 Numărul 60 Numărul 59 Numărul 58 Numărul 57 Numărul 56 Numărul 55 Numărul 54 Numărul 53 Numărul 52 Numărul 51 Numărul 50 Numărul 49 Numărul 48 Numărul 47 Numărul 46 Numărul 45 Numărul 44 Numărul 43 Numărul 42 Numărul 41 Numărul 40 Numărul 39 Numărul 38 Numărul 37 Numărul 36 Numărul 35 Numărul 34 Numărul 33 Numărul 32 Numărul 31 Numărul 30 Numărul 29 Numărul 28 Numărul 27 Numărul 26 Numărul 25 Numărul 24 Numărul 23 Numărul 22 Numărul 21 Numărul 20 Numărul 19 Numărul 18 Numărul 17 Numărul 16 Numărul 15 Numărul 14 Numărul 13 Numărul 12 Numărul 11 Numărul 10 Numărul 9 Numărul 8 Numărul 7 Numărul 6 Numărul 5 Numărul 4 Numărul 3 Numărul 2 Numărul 1
×
▼ LISTĂ EDIȚII ▼

Experts panel: Tehnologiile SAP ABAP

Ovidiu Mățan
Fondator @ Today Software Magazine



INTERVIU


Tehnologiile SAP ABAP constituie întotdeauna o provocare din perspectiva ecosistemului și a apropieri cu zona de business. Am avut o discuție interesantă alături de:

Am început cu o scurtă introducere din partea fiecărui invitat

Călin Pop: Momentan, lucrez la un proiect mare. Dezvoltăm pachete software care să fie compatibile cu tehnologia cloud. Pentru clientul cu care lucrez acum, dorim să înlocuim informația și sistemele legacy, astfel încât să poată rula în cloud. Pentru a realiza acest lucru, am folosit ultimele principii și produse SAP. În ultimii ani, am reușit să construim aproape 20 de aplicații menite să înlocuiască vechile aplicații ale clientului. Clientul nostru construiește prototipuri pentru mașini de curse, de exemplu. Clientul are multe aplicații, dar acestea nu funcționează pe tablete sau telefoane, deci migrarea lor în cloud a fost esențială. Azi, echipa mea a lansat un produs la care s-a lucrat mai mult de un an, ceea ce a presupus o implementare mai robustă pentru obiectivele curente ale clientului.

Adrian Iancu: Ultimul proiect la care lucrez este tot pentru Porsche. Este un proiect ce folosește ultimele tehnologii, ceea ce mi-a permis să interacționez și cu ultimele modele de mașini. Proiectul a presupus și mutarea aplicației și a rapoartelor pe o platformă mai modernă, bazată pe cloud.

Care sunt noutățile aduse în limbajul SAP ABAP?

Călin Pop: Dacă ar fi să trecem în revistă o scurtă istorie a ABAP, putem afirma că totul a început în anii 1980 cu rapoartele. Apoi, în 1990, am introdus funcționalități procedurale și integrări cu baze de date. În anii 2000, a fost implementat OP, iar în 2012 am scăpat de vechiul IDE și am început să folosim Eclipse ca orice alt programator Java. În 2015, devine populară HANA, precum și necesitatea de a calcula datele în memorie și de a le transfera mai repede. În mediul de la ora actuală, clienții noștri rulează totul on premises, dar scopul dorit este ca toate sistemele să fie în cloud. Clienții noștri încă folosesc sisteme on-premises, dar ei se integrează cu cloud deasupra sistemelor lor. Pentru un programator ABAP clasic nu este greu să învețe ABAP cloud. Implementarea se poate face doar în SAP. SAP HANA a dezvoltat o platformă în 2018. Era vorba de platform-as-a-service. SAP avea trei strategii: on-premises (unde noi cumpărăm serverele și le asigurăm mentenanță), cloud privat (are aceleași funcționalități precum sistemul on-premises, dar componenta hardware se află în cloud) și cloud public (se bazează pe SAP, dar toate actualizările se fac pentru toți clienții deodată). Prin cloud public, beneficiați de cele mai noi actualizări fără probleme.

Adrian Iancu: Pentru domeniul Digital Manufacturing (manufacturare digitală), SAP are actualizări la fiecare patru luni luni. Cum eu vin din zona C#, atunci când am început ABAP, am întrebat pe cineva de la ce vine SAP. Mi se părea că regresez și că folosesc ceva similar cu FoxPro. Colegul a spus că SAP vine de la "Suffer and Pain" (suferință și durere). Totuși, SAP a evoluat, iar acum este compatibil cu cloud. În cele din urmă, toți vor fi nevoiți să se îndrepte spre cloud.

Bianca, care sunt noutățile din Spring?

Bianca Moga: Spring se integrează acum cu GraphQL, ceea ce e grozav, deoarece presupune efort mai redus. Sunt mult lucruri noi. Așa cum știți, Java introduce funcționalități noi la șase luni. Avem implementări mai vechi on premises, dar ne îndreptăm spre cloud și nu avem nevoie de o copie 1-la-1, ci, mai degrabă, să îmbunătățim ceea ce avem. Spring a introdus registre (records), blocuri de text (text blocks), colectori (gathers/gatherers) pentru surse de date continue (sunt colectori care sunt potriviți în cazul problemelor de memorie). Mai mult, dacă acum scriem metoda main direct, nu trebuie să introducem nicio clasă.

Dacă ne gândim la SAP și Java, cum implementați logica de business?

Bianca Moga: Ca programator Java, când trebuie să implementezi ceva, singurul lucru la care te gândești este codul. Nu există altceva.

Călin Pop : Cea mai mare provocare nu este scrierea de cod. Provocarea este să înțelegem nevoile clienților. Există o mare probabilitate că avem deja o soluție standard care poate deservi nevoile clienților. Avem ERPs. Avem soluția standard pentru o varietate de probleme de business și domenii, dar putem lua blocurile de LEGO ale unei implementări și să le recombinăm. Fie livrăm produsul ca un șablon (dar e greu să îl actualizăm sau să îl completăm), fie livrăm cod standard pe care îl ajustăm nevoilor clienților. Nu este atât de ușor precum este apelarea unei librării, însă viteza de livrare este destul de mare.

Adrian Iancu: Este nevoie de câțiva ani pentru a avea un produs final, deoarece testarea și debitele istorice trebuie ambele abordate. Pentru clienții care folosesc doar sisteme on-premises, vom face integrarea în Producție doar după ce testarea este terminată, iar clientul aprobă modificările. Puteți crea logică de business cu Java, însă vine ABAP care înseamnă "Advanced Business Application" (aplicație avansată de business). Prin urmare, ABAP trebuie să fie nivelul următor. ABAP funcționează cu un volum foarte mare de date, este foarte rapid, acesta fiind motivul pentru care sunt încă dedicat acestui domeniu și nu limbajului C#.

Poți trece la ABAP de la orice limbaj?

Adrian Iancu: Așa cum a spus și colegul meu, problema nu ține de limbaj. Orice programator Java poate învăța limbajul ABAP, doar că pentru a învăța logica de business este nevoie de ani buni. Este vorba de un mediu de lucru. Nu avem un om care să le știe pe toate. Pentru toate celelalte, îl avem pe Călin.

Aplicați tipare de design (design patterns)?

Călin Pop: Da, chiar mult. Ultimul pe care l-am realizat a devenit standard pentru toate aplicațiile pe care le construim. Folosește Command Pattern, dar și Chain of Responsibility și Singleton. Am învățat Java la universitate și, ulterior, am trecut la ABAP în câteva luni. Așa cum a spus colegul meu, este o cutie pentru care nu trebuie să înveți ceva nou. Tu deja știi conceptele și doar trebuie să le asociezi cu termenul corespondent ABAP. Ceea ce este bazat pe obiecte (object-oriented) rămâne bazat pe obiecte. Acum câțiva ani, am avut de scris un program Java și a fost interesant să regândesc cum funcționează Java. A fost ușor să trec de la un limbaj la altul.

Bianca Moga: Folosesc multe tipare de design: Builder Factory, Singleton, The Decorator, The Visitor, totul.

Folosiți AI? Copilot?

Bianca Moga: Da, folosim. Suntem încurajați să folosim AI. Eu folosesc Copilot. Face greșeli, dar acesta este motivul pentru care noi suntem în control, pentru a repara și schimba orice dorim. Ajută cu adevărat când ești blocat sau în pană de idei. După ce Copilot sugerează niște idei, știu cum să merg mai departe. Copilot este precum consultantul pe care nu l-ai avut vreodată.

Dacă ați avea interviu cu cineva, ce întrebări i-ați pune?

Bianca Moga: De obicei, îi rog pe oameni să descrie ceva la care au lucrat. Apoi, după ce îmi fac o idee legată de ceea ce știu, pun întrebări tehnice ca să aflu ce și cum au făcut ce au făcut. Îi întreb despre integrări API, despre performanță, despre provocări. Vreau să înțeleg cum gândesc. Apoi, le pun întrebări și aprofundăm subiectele. Unii pun întrebări despre lucruri complexe, dar eu nu cred că acest lucru este necesar, deoarece acestea trebuie învățate la locul de muncă.

Călin Pop: Pun întrebări legate de proiecte, ceea ce îmi oferă o fundație solidă de unde să încep. Mă uit, de asemenea, la cât de bine se potrivește persoana cu echipa. Mereu mă întreb dacă aș putea munci cu acea persoană sau nu.

Adrian Iancu: Ceea ce Călin a spus este adevărat, deoarece și eu am avut interviu cu el. Opinia HR este importantă, dar apoi este important să oferi atenție și cunoștințelor de specialitate, fără a intra în detalii extrem de specifice. Dacă există doi candidați care sunt foarte asemănători, fie întrebăm HR-ul, fie mergem pe părerile personale.

Conferință TSM

NUMĂRUL 150 - Technologiile SAP ABAP

Sponsori

  • Accenture
  • BT Code Crafters
  • Bosch
  • Betfair
  • MHP
  • BoatyardX
  • .msg systems
  • P3 group
  • Ing Hubs
  • Cognizant Softvision
  • Colors in projects