ABONAMENTE VIDEO REDACȚIA
RO
EN
NOU
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 ▼
Numărul 132
Abonament PDF

Noua direcție în programarea SAP

Dumitru-Bogdan Neag
SAP Solution Developer @ Accesa



Ștefan Emanuel Hodoroabă
SAP Solution Associate Developer @ Accesa



PROGRAMARE


În ultimii ani, SAP a făcut o schimbare majoră în modul în care furnizează soluțiile sale software prin trecerea de la soluțiile on-premises la cele cloud. În mod tradițional, soluțiile SAP au fost oferite clienților prin intermediul instalării software-ului pe propriile lor servere și gestionarea lor internă însă, odată cu creșterea popularității cloudului, dezvoltatorii SAP au identificat oportunitatea de a dezvolta și soluții bazate pe acesta.

Trecerea la soluțiile cloud are numeroase beneficii cu preponderență pentru clienții SAP: tehnologiile cloud sunt mult mai ușor de gestionat, deoarece elimină nevoia de a deține și opera un server on-premises. De asemenea, oferă o libertate mai mare pentru creștere, fiind mai flexibile și adaptabile la nevoile în continuă schimbare ale clienților. Un alt beneficiu este siguranța oferită de acestea, deoarece sunt gestionate de furnizori specializați cu o experiență vastă (AWS, Azure), care investesc constant în securitate și își optimizează soluțiile, pentru a asigura un nivel ridicat de protecție al datelor.

Figura 1. Funcționalitățile oferite de tehnologia cloud

Direcția în cloud a SAP

Se poate observa în toate domeniile informatice o tendință de a trece la aplicații web și tehnologii cloud. Există posibilitatea ca informațiile să fie centralizate, iar aplicația să fie disponibilă pe orice tip de dispozitiv. Sistemul pe care îl amintim este S/4 HANA, o soluție software de ultimă generație, care oferă o platformă integrată pentru gestionarea proceselor de afaceri, finanțe, vânzări, aprovizionare, producție, logistică și multe altele. Este disponibil atât în varianta on-premises, cât și în varianta cloud, oferind astfel opțiuni de implementare flexibile pentru diferite nevoi și cerințe.

În lumina acestui trend, vom enumera câteva soluții noi în cloud: SAP Ariba, SuccessFactors, SAP Build, SAP Analytics Cloud, SAP Fieldglass și, pe lângă acestea, vom analiza câteva tehnologii de actualitate pentru lumea SAP cloud:

  1. ABAP2UI5 este un proiect open-source, cu ajutorul căruia se pot dezvolta aplicații UI5 folosind limbajul APAB clasic. Scopul este eliminarea nevoii de a învăța limbaje specifice aplicațiilor web (HTML, CSS, JavaScript), oferind posibilitatea celor care au experiență în ABAP să creeze aplicații UI5 cu ușurință. Proiectul este disponibil atât pentru cloud, cât și on-premises, este ușor de instalat și utilizat, și are dimensiuni reduse pe sistem în comparație cu soluțiile OData, SEGW, CDS. Toate aceste caracteristici creează o punte de legătură între ABAP și UI5, făcând trecerea la sistemele cloud și la aplicațiile web mai ușoară pentru dezvoltatori și clienți.

  2. SAP Fiori Elements este o colecție de șabloane și unelte, care ajută la dezvoltarea rapidă și facilă a aplicațiilor web. Acest set de instrumente este conceput pentru a reduce timpul și efortul, necesare pentru a dezvolta aplicații și pentru a îmbunătăți experiența utilizatorilor. Folosind SAP Fiori, dezvoltatorii pot crea aplicații web relevante, intuitive și bogate în funcționalități. Spre deosebire de alte frameworkuri de dezvoltare web, care implică o mulțime de cod și configurații, SAP Fiori Elements oferă o abordare mai simplă și mai rapidă, majoritatea codului repetitiv și dificil de scris fiind generat automat.

  3. SAPUI5 este un framework pentru aplicații web bazat pe SAP Fiori. Acest framework oferă developerilor un set complet de unelte și librării, care facilitează crearea de aplicații web moderne și eficiente, rulând pe diverse platforme și dispozitive. SAPUI5 este construit pe baza standardelor web moderne, cum ar fi HTML5, CSS și JavaScript, acest lucru reprezentând o alternativă la frameworkurile nou apărute - React, Angular, Vue - cu avantajul de a fi dezvoltate de către SAP și oferind suport în această direcție. În plus, SAPUI5 oferă o serie de funcții care contribuie la simplificarea procesului de dezvoltare, cum ar fi un sistem de gestionare a datelor și un set de elemente pentru crearea de aplicații web responsive.

  4. Cloud Integration - parte a IPaaS Integration Suite - este o soluție modernă și de actualitate pentru integrarea proceselor în cloud. Această soluție a fost dezvoltată de SAP pentru a ajuta clienții să integreze diferitele aplicații și sisteme de afaceri într-un mod simplu și eficient. CPI oferă o serie de avantaje în comparație cu soluția tradițională SAP Process Integration / Process Orchestration, printre care se numără soluția cloud-based, care elimină necesitatea instalării și configurării on-premises, fapt care reduce costurile și efortul necesare pentru menținerea și actualizarea infrastructurii. CPI este conceput pentru a fi mai flexibil și mai ușor de scalat decât soluția tradițională PI/PO.

  5. Project Piper este o soluție open-source și se ocupă cu gestionarea ciclului de viață al aplicațiilor în SAP Cloud. Fiind un proiect dezvoltat de comunitatea SAP, este conceput pentru a ajuta dezvoltatorii să construiască, să testeze și să implementeze aplicații în mod productiv în cloud și on-premises. Unele avantaje ar fi:

Servicii Cloud și SAP

Serviciile cloud SAP sunt cuprinse în SAP BTP (Business Technology Platform). Acesta platformă este o soluție complet integrată, care include o gamă largă de servicii, instrumente și tehnologii cu ajutorul cărora se pot construi aplicații personalizate și se pot rula în cloud fară a fi nevoie de infrastructura de bază. Printre servicii, sunt incluse cele de analiză a datelor, servicii de securitate, servicii de mobilitate și multe altele.

  1. ABAP in cloud este o platformă scalabilă și sigură pentru a dezvolta și a rula aplicații SAP în cloud. Platforma oferă toate funcționalitățile esențiale limbajului ABAP, dar adaptate pentru mediul cloud, lucru care face posibilă crearea unor aplicații personalizate pentru SAP, fără a necesita infrastructura on-premise.

  2. SAP Integration Suite este o platformă avansată de integrare, care ajută companiile să realizeze scenarii de integrare și să coordoneze diverse sisteme și aplicații pentru a facilita transferul de date și informații în timp real. Oferă o gamă variată de procese predefinite relevante pentru diferitele scenarii întâlnite pe piața actuală (Business to Business, Business to government etc.). Aceste procese se pot adapta la nevoile clientului, deoarece platforma oferă suport pentru multe aplicații externe. API-urile sunt un punct forte în Integration Suite, existând posibilitatea de a crea, publica și gestiona API-uri cu ușurință.

  3. HANA Cloud este o bază de date in-memory, integrată în cloud și furnizată de SAP, care ajută organizațiile să gestioneze și să analizeze datele în timp real, eliminând nevoia unui server fizic, soluție care oferă o bază de date scalabilă și sigură pentru a stoca, procesa și analiza datele.

  4. Fiori Launchpad (SAP Build Work Zone) este o platformă intuitivă de gestionare a aplicațiilor SAP, care permite utilizatorilor să acceseze rapid și ușor aplicațiile și serviciile de afaceri. Platforma se bazează pe colecții și grupuri de aplicații care pot fi accesate din același loc, fiind oferită o interfață modernă, care permite utilizatorilor să-și personalizeze experiența și să acceseze rapid informațiile și funcțiile de care au nevoie.

Dezvoltarea de aplicații SAP în Cloud

Noua direcție a SAP propune diverse tipuri de aplicații, care pot fi create de către dezvoltatori, printre cele mai utilizate fiind aplicațiile Fiori și aplicațiile bazate pe frameworkul SAPUI5. Există, de asemenea, și soluții de integrare între diferite platforme și sistemul SAP, folosind suita de integrare pusă la dispoziție în SAP Business Technology Platform (SAP BTP). În funcție de necesitățile apărute, SAP oferă o multitudine de soluții și servicii prin intermediul platformelor de cloud.

Aplicațiile web respectă arhitectura REST. Există - și de această dată - doi actori principali: clientul și serverul. Partea de client este creată folosind mediul de dezvoltare SAP Business Application Studio (SAP BAS), iar partea de server poate să fie orice sistem care expune API pentru accesul la date. Comunicarea dintre server și client se realizează folosind cereri OData (V2 sau V4). De asemenea, partea de server poate fi reprezentată de un sistem SAP On-premise, iar prin folosirea unui Cloud Connector se poate lega la partea de cloud și se pot accesa resursele. Conectorul este instalat pe mașina clientului, iar în SAP BTP se creează o așa numită destinație, care va conține informații tehnice despre sistemul la care se conectează. Realizând această conexiune, se poate trece la faza de dezvoltare a aplicațiilor.

Figura 2. Conectarea unui sistem SAP On-premise la Cloud

Aplicațiile Fiori sau SAPUI5 se pot realiza cu ajutorul mediul de dezvoltare Visual Studio Code, însă acesta necesită o configurare ulterioară pentru a aduce toate extensiile necesare. Cel mai folosit mediu de dezvoltare este SAP Business Application Studio, care permite dezvoltatorului să aibă deja preinstalate toate uneltele necesare pentru a începe un nou proiect. În conținutul acestui articol, este prezentat modul în care o aplicație, care folosește frameworkul SAPUI5, este dezvoltată. Totodată expunem modul cum se transportă aplicația din mediul de dezvoltare spre producție. Este important de menționat că în aplicațiile de acest tip, codul este scris integral de către dezvoltator, acesta având la dispoziție controalele existente și utilizând JavaScript pentru definirea comportamentului, XML, pentru structura paginii și CSS, pentru stilizarea elementelor.

Orice aplicație SAPUI5 conține directorul controller, unde există fișierele cu extensia .js - fiecare fișier conține patru funcții de bază, mai exact onInit(), onAfterRendering(), onBeforeRenedering() și onExit(). 

Structura unui controller JavaScript

sap.ui.define([ 
  "./BaseController", 
  "sap/ui/model/json/JSONModel" 
], function (BaseController, JSONModel) { 
  "use strict"; 
 
return BaseController.extend("accesa.controller.App", { 
 
  onInit : function () { 
  // Do something here when init the page 
  }, 
 
  onAfterRendering: function(){ 
  //Do something here after the UI is loaded 
  }, 
         
  onBeforeRendering: function(){ 
  //Do something here before the UI is loaded 
  }, 
 
  onExit: function () { 
  //Do something at exit 
  } 
 }); 
 
});

Directorul view cu fișierele cu extensia .xml.

Structura unui fișier view.

<mvc:View   
  controllerName="accesa.controller.App"   
  displayBlock="true"   
height="100%"   
xmlns="sap.m"   
xmlns:f="sap.f"   
xmlns:mvc="sap.ui.core.mvc">   
<App   
id="app"   
busy="{appView>/busy}"   
busyIndicatorDelay="{appView>/delay}">   
<f:FlexibleColumnLayout   
id="layout"   
layout="{appView>/layout}"   
backgroundDesign="Translucent">   
</f:FlexibleColumnLayout>   
</App>   
</mvc:View> 

De asemenea, există directorul css cu fișierele cu extensia .css; un alt director important este localService - aici se află fișierul metadata.xml, care conține structura și elementele existente în serviciul care se utilizează în aplicație. Odată cu dezvoltarea aplicației, aceasta este în permanență ținută în git, pentru versionarea codului. Fiecare dezvoltator are un branch al său, unde își păstrează partea sa; ulterior, se efectuează o îmbinarea a branchurilor, rezultând produsul final.

Figura 3. Etapele de dezvoltare și livrare ale unei aplicații

Aplicația dezvoltată este apoi transportată mai departe către SAP BTP - pentru a face acest lucru, se identifică în proiect un fișier mta.yaml. Acest fișier conține informații tehnice despre proiect, se face click dreapta pe acesta și se selectează opțiunea build. Odată ce se sfârșește această etapă, se va genera un fișier cu extensia .mtar; precum în cazul precedent, se face click dreapta și se selectează opțiunea deploy și se selectează ca destinație Cloud Foundry. La finalul procesului, se vor regăsi toate resursele aferente proiectului în SAP BTP, la secțiunea Instances and Subscriptions. De asemenea, executabilul pentru proiect se regăsește stocat și în HTML5 Application Repository, de unde poate fi rulat. Pentru ca proiectul să fie accesibil pentru mai mulți utilizatori, trebuie să fie dus spre serviciul Launchpad (SAP Build Work Zone) - acesta poate fi văzut ca și un container în care se pot regăsi de la una până la numărul de aplicații care au fost dezvoltate. Aducerea aplicației în acest pas constă în sincronizarea repository-ului HTML5 cu serviciul Launchpad, după care, în funcție de rolul pe care îl are, fiecare utilizator va putea accesa aplicația/aplicațiile.

Provocări pentru partenerii SAP

Odată cu apariția unor noi direcții, apar implicit și unele provocări. Este cunoscut faptul că, încă de la începuturi, tehnologia SAP a oferit soluții robuste pentru orice domeniu de activitate care a integrat-o. Trecerea la tehnologiile cloud vine la pachet cu provocări atât pentru dezvoltatori, cât și pentru clienții SAP; din punctul de vedere al dezvoltatorilor, aceștia trebuie să adauge în bagajul de cunoștințe tehnologii noi cum ar fi: HTML, CSS, JavaScript, NodeJS sau chiar Java pentru a crea aplicații business de nivel înalt. Deopotrivă, se aplică și concepte noi printre care se pot aminti: arhitectura REST, Integrarea Continuă/Livrare Continuă(CI/CD), utilizarea gitului și învățarea serviciilor puse la dispoziție de către SAP. Astfel, se poate observa că procesul de învățare și dezvoltare tehnică se extinde pe mai multe arii și trebuie să țină pasul cu rapiditate modificărilor care apar în branșă. Este de menționat faptul că un dezvoltator ABAP se specializează pe anumite module; existând un șir lung din acestea, învățarea tuturor este puțin probabilă. La fel și în cazul noii direcții, dezvoltatorul se va specializa pe acele servicii pe care le consideră mai aproape de aspirațiile sale, iar trecerea înspre o direcție nouă poate să aducă o oarecare reținere sau un sentiment de nesiguranță din partea clienților. Aici este necesară dezvoltarea de competențe de consultanță tehnică, astfel încât să se evidențieze faptul că soluțiile noi sunt cel puțin la fel de bune ca și cele deja consacrate.

Concluzii

Tehnologia SAP este într-o continuă dezvoltare și va continua să aducă din ce în ce mai multe soluții stabile și scalabile care vor satisface pe deplin nevoile apărute. Totodată, se oferă și căi clare de urmat pentru a utiliza noile procese și servicii. Unele soluții vin ca o completare la ceea ce oferea sistemul clasic ABAP, în timp ce altele vin ca o noutate și pentru a acoperi unele lacune existente. Deja SAP face pași rapizi înspre soluțiile Low-Code No-Code - AppGyver sau SAP Build. Pe măsură ce industria va evolua, clienții vor deveni tot mai interesați să aplice noile concepte în proiectele lor, SAP oferind o gamă largă de servicii și soluții de nivel înalt, care vin în sprijinul sectoarelor critice și nu numai. Nivelul de reticență al clienților față de soluțiile cloud a început să scadă semnificativ, iar SAP continuă să aloce resurse în dezvoltarea acestora.

Indiferent de frameworkul ales (React, Angular, Svelte etc.), o bibliotecă UI5 de componente web va fi compatibilă și va permite utilizarea direcțiilor de programare propuse de către SAP Fiori și va simplifica procesul de dezvoltare. Astfel, nu va mai exista nevoia de a crea elemente UI de la zero și se va putea reduce timpul necesar pentru dezvoltare.

Tehnologiile SAPUI5 și SAP Fiori și-au demonstrat puterea și versatilitatea pentru a crea aplicații web, mobile sau desktop. Implementarea proiectelor folosind aceste tehnologii aduce o multitudine de beneficii pentru utilizatorii finali, printre care creșterea productivității și o experiență de utilizare modernă și îmbunătățită. În ceea ce privește dezvoltatorii, aceștia au posibilitatea de a se extinde în mai multe arii și de a învăța noi concepte și servicii, aducându-se un plus de valoare și rămânând la curent cu noutățile apărute în sectorul de activitate.

Bibliografie

  1. ABAP2UI5

  2. Project Piper

  3. Fiori Release 2302 

  4. SAPUI5

  5. CPI

  6. ABAP in cloud 

  7. Integration Suite

  8. Hana cloud

NUMĂRUL 149 - Development with AI

Sponsori

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