Hirdetés
 

Caffeine – platformfüggetlen ABAP

PDF
Nyomtatás
caffeine.pngA 2010-es Las Vegas-i SAP TechEd konferencián mutatták be a Caffeine projektet, melynek célja egy olyan eszköztár létrehozása, ami ABAP programok futtatását teszi lehetővé nem-ABAP környezetben. A funkcionalitás korlátozottan ugyan, de már elérhető Java VM-hez, Android alatt Dalvik VM-hez és iOS-hoz is. A kezdeményezés nem csak azt igazolta, hogy ABAP kód futtatható a Netweaver applikációs szerveren kívűl, hanem azt is, hogy ez hatékonyan megtehető, még nagy mennyiségű adat feldolgozása esetén is. Bár ezt a technológiát egyelőre egyetlen SAP termék sem használja, nem kizárt, hogy a jövőben találkozunk majd vele, különösen, hogy eddigi fogadtatása kifejezetten pozitív volt.

A Caffeine nem a meglévő ABAP kódokat kívánja új platformokra átvinni, hanem az SAP On-Device, On-Demand, On-Premise stratégiáját támogatja, eljuttatva az SAP üzleti programozási nyelvét új területekre, például a mobil eszközökhöz. A Caffeine hivatása megkönnyíteni az üzleti szoftverek fejlesztését a frontend és backend összekapcsolásának szempontjából.
Milyen esetekben lehet ez hasznos?

  • Adatok SAP rendszerből történő kinyerésében az ABAP programozóknak van a legnagyobb tapasztalata, akik jó eséllyel az üzleti folyamatokat is átlátják, illetve adatok szerkezetével is tisztában vannak. Azok a programozók például, akik mobil eszközökre fejlesztenek, csak ritkán rendelkeznek ezzel a tudással. Viszont mobil alkalmazások fejlesztéséhez mindkét típusú ismeretre szükség van. A Caffeine kiterjeszti az ABAP világát a kliens technológiákra is, ezáltal elérhetővé teszi az ABAP programozók tudását a kliens alkalmazások fejlesztésekor.
  • A Caffeine felkínálja azt a lehetőséget, hogy kliens oldalon ABAP könyvtárakat lehessen meghívni. Bizonyos esetekben van értelme kliens oldalon beépíteni olyan logikát, ami egyébként a backend-hez tartozik. Ilyen például a bevitt adatok érvényesítése. Ha a frontend képes eldönteni, hogy az adatok helyesek-e, akkor ezzel felesleges forgalmat spórolhatunk meg a backend irányába.
  • Az ABAP könyvtárak további előnye, hogy ‘közel' lehetnek a feldolgozandó adatokhoz. Ha nagy a feldolgozandó adatok mennyisége, a teljesítmény jelentősen növelhető azáltal, hogy az adatokat nem kell a feldolgozó programhoz szállítani.

Látható, hogy a Caffeine nem csak a technikai előnyökre koncentrál. Legalább olyan fontos a szociális szempont is, az, hogy az ABAP fejlesztők túlléphetnek eddigi határaikon, és tudásukat, tapasztalatukat más platformokon is hasznosíthatják.

Jellemzők

A Caffeine az ABAP nyelv utasításainak egy részhalmazát képes más platformokon futtatni. Viszont ennek a részhalmaznak a szemantikája 100%-ban megegyezik a Netweaveren futtatott ABAP-pal. Például, a Java-val ellentétben, egész értékű változón végzett műveletek esetében figyeli a túlcsordulást, vagy osztáskor kerekít. Ezen túlmenően, a Caffeine új kulcsszavakat is bevezet, amelyek megkönnyítik az ABAP használatát az adott platformon.

Fontosabb tulajdonságok:

  • Platformfüggetlenség
    A Caffeine-t úgy alkották meg, hogy tetszőleges futási környezetben alkalmazható legyen. Ennek különösen kliens oldalon van jelentősége. Bár elsődlegesen Java VM-hez tervezték, képes kódot futtatni ObjectiveC-n, JavaScript-en és Dalvik-on is.
  • Nyelvintegráció
    A programozási nyelvek sokszínűségét azok a feladatok indokolják, amelyekre az egyes nyelveket specializálták. Ezért nem a mindenre alkalmas programozási nyelvet kell kifejleszteni, hanem annak a lehetőségét keresni, hogy a különböző nyelven írt kódok könnyen együttműködhessenek. A Caffeine nem azt akarja elérni, hogy a kliens oldali felhasználói interfészeket ABAP-ban lehessen fejleszteni, hanem azt, hogy ezek az interfészek egyszerűen tudjanak ABAP modulokat meghívni.
    Az sem cél továbbá, hogy egy adott platformot ‘minden' programozási nyelv irányába megnyissanak. Fontos viszont, hogy több, a célnak megfelelő programozási nyelv tudjon együttműködni.
  • Megfeleltetett adattípusok
    A Caffeine megfelelteti az adott környezetben használatos adattípusokat az ABAP adattípusrendszerének. Ezáltal a fejlesztő tetszőlegesen használhatja és akár keverheti is az adattípusokat.
  • Oszlop-orientált adattípusok
    A Caffeine saját típust használ a belső táblákra, oszlop-orientált szerkezettel. Ez azt jelenti, hogy a adatokat nem soronként, hanem oszloponként tárolja. Ezzel egyrészt nincs szükség natív futás-idejű objektumra, másrészt nagyon hatékony nagy mennyiségű adatok feldolgozása esetén. Ezzel a megközeltéssel az adatfeldolgozás sokszor még a Netweaver ABAP kernelnél is jelentősen gyorsabb lehet.
  • Egyszerű többszálasítás
    A Caffeine képes szekvenciális, nem-konkurens programokmodulok végrehajtását többszálasítani. Így a többmagos processzorok vagy többprocesszoros rendszerek előnyeit az is ki tudja használni, aki amúgy nem járatos a párhuzamos programozásban.

Az alábbi linken elérhető videó azt demonstrálja, hogyan lehet egy egyszerű ABAP programot különböző platformokon futtatni Caffeine segítségével.

 

A szerző az ELTE programtervező matematikus szakán szerzett mesteri fokozatot. 2005-ben programozóként csatlakozott a budapesti SAP Labs-hoz, 2007-től napjainkig egy német tanácsadó cégnél vállal szoftverfejlesztést és FS-CD tanácsadást. Emellett a Hovitaga Kft. társalapítójaként SAP Add-on-ok fejlesztésével foglalkozik.

További cikkek a szerzőtől


Nincs hozzászólása.
A téma megvitatása a fórumon. (0 hozzászólás)