Î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
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:
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.
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.
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.
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.
Integrarea aplicațiilor fară a fi nevoie de scrierea manuală a codului sau de alte interfețe personalizate;
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.
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.
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ță.
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.
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.
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.
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.
ABAP in cloud
Integration Suite
de Alex Popescu
de Peter Leeson
de Denisa Lupu