Blog

Alkalmazásfejlesztés SAP Business Technology Platformon

Alkalmazásfejlesztés SAP Business Technology Platformon

Izgalmas napjait éli az SAP Business Technology Platform. Tekintve a 2023-as év legfontosabb SAP eseményeit, különösen a SAP TechEd 2023-at, olyan megoldásokat, újdonságokat láthattunk, melyek szorosan kapcsolódnak ezekhez a területekhez. Miért is olyan fontos ez? Mi is az SAP BTP, milyen szerepe van a digitális transzformációban és miként tudják a vállalatok előnyükre fordítani? Miként induljunk el az alkalmazásfejlesztés útján? Ebben a blogban megpróbálom megadni a válaszokat ezekre a kérdésekre.

Kezdjük az egész mozgatórugójával. A digitális transzformáció, az üzleti modell evolúciója, a technológia evolúcióját követve. A digitális transzformáció során a vállalatok célja a szintlépés, melyet úgy próbálnak elérni, hogy folyamataikat különböző perspektívákból nézik meg. Az egyik ilyen nézőpont a “business-first” megközelítést, melynek lényege, hogy az üzleti folyamatokat helyezik előtérbe, megvizsgálják őket, majd a technológiát felhasználva megpróbálják fejleszteni, szükség esetén újraépíteni azokat. A másik megközelítés pedig a “technology-first”, ahol az elérhető, modern technológiák vizsgálatával próbálják eldönteni, hogy miként jelenthet előnyt üzleti folyamataik számára azok felhasználása.

Ahhoz, hogy egy vállalat digitális transzformációja megvalósulhasson, illetve később, gyorsan és hatásosan tudjon reagálni a technológia változásokra, szüksége van egy platformra, ami a szükséges szolgáltatásokat, termékeket biztosítja ehhez. Az SAP BTP is egy ilyen platform. Technikailag nyújt alapot a vállalatok számára a gyors változáshoz és alkalmazkodáshoz. Lényegében egy portfólió, ami SAP termékekből, szolgáltatásokból és megoldásokból áll.

A négy alappillér

A platform, négy integrált technológiai alappillér alá csoportosított, on-premise és cloud alapú termékek, szolgáltatások és megoldások gyűjteménye:

  1.  Adatbázis – és adatkezelés
  2.  Analitika
  3.  Alkalmazásfejlesztés és integráció
  4.  Intelligens technológiák

Vizsgáljuk meg egy kicsit közelebbről ezt a négy alappillért.

Az adatbázis – és adatkezelés kategóriába azok a termékek, szolgáltatások tartoznak, melyek szükségesek az adatok tárolásához, eléréséhez, feldolgozásához és integrálásához. Mindennek az alapja az SAP HANA és SAP HANA Cloud melyek nagy teljesítményű, rugalmas adatkezelést biztosítanak in-memory adatbázis segítségével, mind on-premise, mind pedig cloud-os környezetben.

Az analitika kategóriában megtaláljuk a portfólió azon szolgáltatásait, melyek segítségével tervezhetünk, prognosztizálhatunk és gyors döntéseket hozhatunk. A vállalat, különböző belső forrásból származó adatait gyorsan és könnyedén kombinálhatja külső piaci adatokkal. Ezáltal a rendszer segít kiszűrni az anomáliákat, előrejezlést készít.

Az alkalmazásfejlesztés és integráció eszközt nyújt arra, hogy az üzleti folyamatok innovációja, kiterjesztése, integrációja megtörténhessen. Ide tartozik a SAP Extension Suite, mely az alkalmazások fejlesztéséhez, meglévő SAP megoldások továbbfejlesztéséhez szükséges. A SAP Integration Suite pedig megkönnyíti az SAP és nem SAP megoldások on-premise és cloud integrációját.

Az Intelligens technológiák kategóriába az AI, gépi tanulás és IoT témák tartoznak. Például a SAP Intelligent Robotic Process Automation és a gépi tanulás lehetővé teszik az olyan összetett, ismétlődő döntések automatizálását, amelyek az üzleti folyamatok jelentős részét teszik ki. Ezáltal emberi erőforrás szabadítható fel.

Milyen úton induljunk?

Rengeteg terület van, mely mind-mind megérne egy külön blogbejegyzést, viszont ma az alkalmazásfejlesztésre fókuszálunk, megnézzük, milyen use-case-ek léteznek, majd ezek közül részletesebben is megvizsgálunk egyet. Ahhoz, hogy alkalmazásokat tudjunk fejleszteni, szükség van egy fejlesztői környezetre.

Mire lesz szükségünk?

Készítettem egy roadmap-et, mely segítség lehet az elinduláshoz. Tartalmazza a különböző bejárható utakat és azt, hogy az út során milyen technológiákat szükséges elsajátítani ahhoz, hogy magabiztosan járhassunk a választott úton. Ehhez érdemes megfontolni, hogy jelenleg milyen tapasztalattal rendelkezünk, milyen beállítottságúak vagyunk (Front-end, Back-end, Full-stack), ezáltal egyszerűbb eldönteni, mely út is való nekünk. 

SAP BTP Developer's Guide

Az SAP idén bemutatta a Business Technology Platformhoz tartozó fejlesztői kézikönyvét, mely segít eligazodni az alkalmazásfejlesztés folyamatában. A bevált gyakorlatokra és technológiákra támaszkodik.

Ezen a linken keresztül további információk érhetők el.

SAP Business Application Studio

Az alkalmazásfejlesztéshez szükséges eszközöket a BTP szolgáltatás formájában nyújta számunkra, SAP Business Application Studio néven, mely egy üzleti alkalmazások fejlesztéséhez, kiterjesztéséhez használt, felhőalapú fejlesztői környezet. Első ránézésre olyan, mint egy Visual Studio Code, csak felhőben. Nem csoda, hisz az open-source Visual Studio Code-ra alapul.

Legfontosabb elemei a fejlesztői területek (dev-space). Amikor megkezdjük a munkát, mindig az az első dolgunk, hogy létrehozunk egy fejlesztői területet. Ehhez azt kell jól megválasztanunk, hogy milyen típusú alkalmazást szeretnénk fejleszteni, milyen üzleti igényeket szeretnénk kielégíteni. Az SAP hat különböző fejlesztői terület típust definiált, melyek különböző eseteket fednek le. 

  • SAP Fiori: SAP FIORI Freestyle és Elements alkalmazások fejlesztéséhez használjuk, Cloud Foundry, ABAP Cloud, SAP S/4HANA környezetben.
  • Full-stack application using Productivity Tools: Full-stack alkalmazások fejlesztéséhez használjuk, melyet a különböző produktivitás növelő eszközökkel/bővítményekkel előre telepítve kapunk meg.
  • Full-stack Cloud Application: Üzleti alkalmazások fejlesztéséhez, S/4HANA kiterjesztéséhez használjuk, például SAP CAP, FIORI, Node.js, JAVA segítségével.
  • SAP HANA Native Application: Natív HANA alkalmazások fejlesztéséhez, analítikai modellek készítéséhez használjuk.
  • SAP Mobile Application: Az SAP Mobile Development KIT (MDK) segítségével iOS és Android alkalmazásainkat tudjuk menedzselni.
  • Basic: Ez a fejlesztői terület típus egy alapot ad, csak a legszükségesebb eszközökkel konfigurálva.

Amikor létrehozunk egy új fejlesztői területet, kapunk egy előre konfigurált fejlesztőkörnyezetet, a választott típustól függően. Minden egyes dev space-típushoz tartozik egy sor beépített bővítmény, amelyek az adott use-casehez szükségesek lehetnek.

Milyen use-case-ekkel találkozhatunk?

  • Folyamat-automatizálás back-end rendszerek között
  • Web,- és mobilalkalmazás fejlesztés
  • Full-stack alkalmazásfejlesztés
  • Tranzakciós és analítikus alkalmazások fejlesztése, integrációs szcenáriók ABAP Cloud-al
  • Alkalmazások kiterjesztése (Extensibility)

Alkalmazások kiterjesztése, bővítése (Extensibility)

Az Extensibility use-case több kategóriára bontható. A tradícionális, klasszikus ABAP fejlesztés SAP ECC, SAP S/4HANA-ban, mely széleskörű funkciókat és eszközöket kínál, emellett rugalmas is. De ennek ára, hogy frissítés (Upgrade) során megnő a ráfordítás. Az SAP-kód és a bővítmények közötti egyértelmű interfész hiánya a frissítések során a bővítményekben problémákhoz vezethet. Ennek eredményeképpen a frissítések magas tervezési, tesztelési és adaptációs ráfordítást igényelnek, ami az egyik oka annak, hogy az ügyfelek késleltetik a frissítéseket. Ráadásul S/4HANA Public Cloud-ban nem lehetséges, S/4HANA Private Cloud esetén pedig lehetséges, de nem javasolt.

Kellett egy Upgrade-biztos modell, mely egyértelműen szétválasztja egymástól az SAP kódot a bővítményektől. Ehhez pedig API-kat és bővítési pontokat (Extension Point) használ. Ez a modell az alábbiakból áll:

Key User (In-app) Extensibility: Olyan bővítéseit jelenti egy alkalmazásnak, melyeket akár egy sor kód írása nélkül is meg lehet valósítani. Főként felhasználói felület módosítások, egyedi mezők, egyedi business object-ek, egyedi logikák hozzáadása jöhet ilyenkor szóba.

Developer (On-stack) Extensibility: Akkor érvényesül, amikor a követelmények már túl komplexek ahhoz, hogy az előbbi módszerrel teljesíteni lehessen őket, viszont túl szorosan kapcsolódnak “core” S/4HANA adatokhoz, funkciókhoz, ezért Side-by-side Extensibility nem alkalmazható. Például bonyolult SQL lekérdezések szolgáltatják az adatot, melyeket egy remote API-val nagyon nehezen lehetne megvalósítani.

Side-by-side Extensibility: A rendszer és a hozzá készített bővítmény széválasztódik, ezáltal független életciklust tesz lehetővé. Ezzel az alkalmazások fejlesztése is felgyorsulhat, mivel a Side-by-side Extensibility olyan remote API-kkal dolgozik, melyek egyszerűen integrálhatóak a BTP-s környezetben. Ráadásul programozási modelleket is használhatunk, kifejezetten erre a use-case-re. A két legfontosabb a SAP Cloud Application Programming Model (CAP), illetve az ABAP Restful Application Programming Model (RAP). Ezekről a modellekről később lesz szó.

Side-by-side extensibility élesben | LESSONS LEARNED

Egy jelenleg is futó projektünk során az ügyfélnek olyan megoldásra volt szüksége, melyben az implementáció a BTP-n történik, az integrációt pedig távoli (remote) API-kon keresztül valósítjuk meg. Az ügyfélnek szüksége volt egyedi funkciókra, melyeket az addig hasznát rendszerükben nem, vagy csak komplex módon tudtak volna megvalósítani. Érezhető volt az ügyfél törekvése arra, hogy meglévő folyamatait javítsa, helyenként újratervezze, nyitott volt a modern technológiák használatára. A Side-by-side Extensibility use-case bizonyult a legjobb megoldásnak, mert az SAP BTP platform adott volt, az ügyfél rendszeréhez rendelkezésre állt remote API, mellyel megoldhattuk az adatok feldolgozását, a felhasználói felület megvalósításához pedig SAP FIORI-t képzeltek el. Ráadásul egyetértettünk abban, hogy a CAP ideális lehet a fejlesztés támogatásához, felgyorsításához. Az architektúra megtervezése után el is kezdődhetett a fejlesztés. Maga a bővítmény SAP SuccessFactors rendszerhez készül azon belül is a Recruiting folyamatot leképező modulhoz, melyhez elérhető remote API.

Az előkészületek során a remote API bekötése BTP-n valóban egyszerű, nem igényel sok időt. A fejlesztői környezet és a BTP Cloud Foundry környezete közti kapcsolat is könnyen felépíthető. Az SAP Business Application Studio fő funkciói könnyen elsajátíthatók, customizálható és a projektek létrehozásában is segítséget nyújt.

Már a fejlesztés korai szakaszában realizáltuk, hogy felhasználói oldalon, SAP FIORI Elements használatával elesünk annak lehetőségétől, hogy az ügyfél által támasztott, később felmerült követelményeket maradéktalanul teljesíthessük. Tudtuk, hogy a SAP FIORI Elements nem arra lett kitalálva, hogy komplex egyedi logikát, vezérlőket használjunk. Ezért át is álltunk Freestyle módba, hogy ezeket az akadályokat leküzdjük. De adatfeldolgozás oldalon is értek minket meglepetések. Egyrészt az elérhető remote API (OData v2) nem tette lehetővé, hogy bizonyos mezőkre szűrést indíthassunk. Másrészt olyan, remote API hiányosságából fakadó problémákkal kellett szembenéznünk, melyeket csak nagyon nehezen tudtunk megoldani. Ezidáig szerencsére nem ütköztünk olyan problémába, melyre nem sikerült megoldást találni, viszont nagyon sok utánajárást igényel és nem minden esetben lehetséges gyors megoldást találni ezekre a problémákra. Ezért, ha van lehetőségünk, érdemes a határidők definiálásánál számításba venni az ilyen helyzeteket.

A következő blogban szeretném részletesebben bemutatni néhány gyakorlati példán keresztül, hogy milyen lehetőségei vannak ügyfeleinknek ha rendelkeznek SAP BTP Platformmal. Ezt követően újból technikai blogok következnek, ahol arra keressük a választ, mi is a SAP Cloud Application Programming Model, összehasonlítjuk az ABAP RESTFul Application Programming Model-el és nézünk példát arra, miként lehet egy belépő szintű alkalmazást összerakni.


Perlaki Gergő

Perlaki Gergő

IT tanácsadó


Fiori vs. UI5 – Mi a különbség?

Fiori vs. UI5 – Mi a különbség?

Tisztázzuk mi rejlik a népszerű címszavak mögött.

Tovább olvasom
SAP Business ByDesign integráció

SAP Business ByDesign integráció

Az SAP Business ByDesign rendszer az SAP kis- és középvállalkozások számára fejlesztett, integrált, felhő alapú vállalatirányítási rendszere, mely alkalmas arra, hogy egy vállalat teljes üzleti tevékenységét működtesse.

Tovább olvasom