Professional Documents
Culture Documents
Selmeci Attila
ÓE-AREK 8014
Budapest, 2015.
SAP technológiai architektúra Bevezetés
Tartalom
1 BEVEZETÉS ................................................................................................................................................6
1 Bevezetés
A jegyzet az SAP NetWeaver alapú rendszerek alap felépítésének, üzleti és
bevezetési szempontból fontos részeit, jellemzőit, illetve a rendszerben végzendő
tevékenységeket mutatja be.
Számos egyéb SAP komponens, ami az SAP portfolion szerepel, itt nem kerül
bemutatásra, lévén nem SAP NetWeaver alapon működnek.
(Mivel az SAP rendszerek fejlesztése folyamatos, így a jegyzet tartalma is változhat,
bővülhet ennek megfelelően.)
2.1.3 Rugalmasság
A rendszert alkalmazó szervezetek tevékenységi köre, a különböző országok
törvényi előírásai, az egyes intézmények szervezeti struktúrái egészen eltérőek
lehetnek, amit a szoftvernek programmódosítások nélkül követnie kell.
A rendszer egy működő mintaszervezettel, felparaméterezve kerül szállításra, mely
referenciát képez a paraméterezési folyamathoz. A testre szabást (customizing)
külön menürendszeren keresztül végezhetjük, áttekinthető módon. A customizing
folyamaton keresztül érhető el, hogy a rendszer működési logikája a felhasználó
igényeit kövesse, de ezekben adható meg a által használt kódrendszer, szervezeti
struktúra, stb. Néhány példa: a Törvényi sorok struktúrái, a mérleg felépítése, a
használatos valutanemek rövidítései, ezek átváltási árfolyamai, a különböző banki
jogcímekhez tartozó automatikus főkönyvi kontírozás, fizetési módok (átutalás,
készpénzes, postai), stb.
Természetesen minden szervezetnél vannak olyan speciális igények, - elsősorban
különböző kimutatások - melyek a sztenderd rendszernek nem képezik részét.
Ebben az esetben kap szerepet a rendszerrel együtt szállított 4. generációs fejlesztői
környezet, melynek segítségével ezek egyszerűen elkészíthetők.
A paraméterezhetőségből származó nagy előny az, hogy a kipróbált és bevált módon
működő rendszert úgy lehet az egyedi igényekhez igazítani, hogy nem a
programkódban kell változtatni, ami ezernyi hibalehetőséget jelentene rövid és
hosszú távon egyaránt, hanem a módosítást a rendszer által ellenőrzött körülmények
között végezhetjük el úgy, hogy az végül is a rendszer alapvető működőképességét
nem befolyásolja. Az egyszer beállított paraméter táblák átvehetők a rendszer újabb
verzióiban is, míg az esetleges programkód módosítást minden egyes verziónál újra
és újra el kellene végezni.
2.1.7 Nyelvfüggetlenség
Az SAP rendszer a világ több mint 120 országában üzemel, hivatalosan már 16
különböző nyelvű verziója létezik és továbbiak vannak kidolgozás alatt. A rendszer
minden megjelenő szöveget nyelvi kulcs szerint rendezett adatbázis relációban tárol,
így biztosított, hogy ugyanazt az alkalmazást egyszerre több nyelven is lehessen
használni.
Az SAP jelenleg unicode szabvány szerint kezeli az eltérő nyelvi verziókat. Egy
unicode alapú rendszerben lényegében egy karakterkészlet van, maga a „unicode
code page“. A Unicode Konzorcium (http://www.unicode.org) a több, mint 10 évvel
2.1.10 Rendszerfüggetlenség
Az SAP rendszerarchitektúrájának kialakításakor fontos szempont volt, hogy a
rendszer lehetőleg minden elterjedt és megfelelő teljesítményt biztosító hardveren,
operációs rendszeren és adatbázis-kezelőn működőképes legyen.
Ennek biztosítása céljából az alkalmazói programok és a rendszerprogramok közé
egy közbenső szintet építettek be, az ún. bázis rendszert (Web AS). Így érhető el,
hogy az alkalmazás-változtatások nélkül mozgatható mindazon rendszerkörnyezetek
között, melyekre a bázisrendszernek van kidolgozott verziója.
2.1.11 Adminisztráció
Annak érdekében, hogy az installált SAP rendszerek minél megbízhatóbban, minél
jobb teljesítményt nyújtva tudjanak működni, az üzemeltető személyzetnek az adott
rendszer típusától függő gyakorisággal bizonyos napi, heti, havi és eseti analíziseket
kell a rendszerben elvégezni. Ezek a rendszeres analízisek lehetővé teszik, hogy a
rendszerben bizonyos problémák kiteljesedése az időben történő beavatkozás
következtében megakadályozásra kerüljön.
Különösen a rendszer teljesítménye tekintetében előfordul azonban olyan eset,
amikor a rendszeresen végzett analízisek ellenére is drasztikus teljesítményromlás
következik be. Ebben az esetben a napi analízisek jelentősége fokozottabban
megnövekszik, mivel a hangolással járó paramétermódosítások rendszerre gyakorolt
hatását nagyon pontosan és precízen rögzíteni kell.
Az analízisek az alábbi főbb területekre bomlanak:
• Operációs rendszer és hálózat
• Adatbázis kezelő
• SAP rendszer
Az analíziseket a fenti területeknek megfelelő analizáló lépéseket tartalmazó
ellenőrző listák alapján kell elkészíteni.
Célszerű ezeket az analíziseket elektronikus formában tárolni és egy megfelelő
elévülési időt figyelembe véve, ezeket törölni. Abban az esetben, ha az analízisekből
egy, a rendszer későbbi üzemeltetése számára tanulságos esettanulmányt lehet
összeállítani, akkor azt célszerű egy külön tároló helyen tartani és az elévülési időn
túl is megtartani.
2.1.13 Dokumentumkezelés
Az államháztartási szintű tranzakciók kifogástalan feldolgozása és értékelése függ a
dokumentumok tartalmának naprakész ismeretétől, és a dokumentum tartalom
további sorsától. Akár jóváhagyási vagy engedélyezési folyamatról, akár határozat
nyilvántartási, feladatfinanszírozási, vagy más alkalmazási eljárásról van szó, az
információnak rendelkezésre kell állnia, eredeti formájában, jogi szempontból
biztonságosan. Ezért az eredeti dokumentumok integrációjának teljes mértékben
biztosítottnak kell lennie.
Faxok, e-mail-ek, vagy szkennelt adatok beérkezésükkor azonnal eltárolhatók és
hozzárendelhetők egy létező üzleti objektumhoz, vagy egy olyan üzleti objektumhoz,
ami a feldolgozás során jön létre. Ezzel a technikával olyan időigényes
munkafolyamatok, mint pl. fénymásolás és az eredeti dokumentumok szétosztása,
adat keresés és egyéb papír alapú archiválási tevékenységek elkerülhetők. A
dokumentumok bárhol, bárki számára, bármikor rendelkezésre állnak,
Adatállomány
PC-n
Beolvasott Adat olvasás
adatok
Struktúrák Adatállomány
relációk alkalmazás
szerveren
Mező szintű
megfeleltetés Adat konvertálás
SAP standard
Batch Input
Konverziós feldolgozás
szabályok
Konvertált Direct Input
adatok feldolgozás
bejövő IDoc
feldolgozás
Alapvetően a telepített SAPGUI nem igényel több erőforrást a Vista, Windows7 vagy
XP környezetben, mint a korábbi Windows operációs rendszereken, de maga az
Selmeci Attila Óbudai Egyetem
Alba Regia Műszaki Kar
23
SAP technológiai architektúra SAP ERP rendszer jellemzői
Az ábrán látható, hogy a törzsszám mezőn kérve keresési segítséget számos (jelen
konfiguráció szerint 5) különböző információ szerint kereshetünk, melyek
Selmeci Attila Óbudai Egyetem
Alba Regia Műszaki Kar
29
SAP technológiai architektúra SAP ERP rendszer jellemzői
mindegyikénél más és más szűrési feltétel szerint kapunk lehetséges listát, melyből
választva a szükséges mező, (ill. beállítás szerint) esetleg mezők töltődnek vissza a
keresett mezőbe (mezőkbe).
Az eddigiek lényegében az adatbeviteleket támogató képernyőket írta le, viszont
meg kell emlékezni arról is, hogy a rendszer az ALV mellett sztenderd listákat is meg
tud jeleníteni, melyek kifejezetten a nagy mennyiségű adat kezelhető megjelenítését,
nyomtatását támogatja. A listákon alapvetően csak néhány szín használható,
azonban a pénzügyi, ill. mennyiségi számértékek megjelenítésekor figyelembe veszi
a referenciaként megadott pénznem, ill. mennyiségi egység adatokat is, valamint a
felhasználónál beállítottak szerint a számértékek tizedesjel és ezres csoportosítása
is megjelenik. A felhasználói adatok között a dátum formátum is beállítható. (A
számértékek, ill. dátumok persze a tranzakciók megjelenítő és beviteli képernyőin is
ugyanúgy megfelelően láthatók, ill. bevitelnél figyelmeztet a rendszer a használandó
formátumra.) A listákon ikonok, szimbólumok, jelölőmezők (checkbox), valamint
egyszerű színek és kiemelések is megadhatók, akár hyperlink-ek használatával. Ez
utóbbi lehetővé tesz az ún. interaktív listák kezelését, ami akár lefúrásos
részletezésekre is teret biztosít. A listákon szereplő szöveges rendezés során
figyelembe veszi a rendszer az adott ABC betűsorrendjét. A rendezési elvet az
alkalmazás szerveren elhelyezkedő operációs-rendszer locale (lényegében
betűkészlet) adja meg. A képernyők, riportok felső sorában a menü alatt helyezkedik
el a cím rész, ami minden esetben (paraméterezetten) tartalmazza a futó funkció
megnevezését. A SAPGUI környezetből a nyomtatás az SAP rendszerben definiált
nyomtatókra közvetlenül történhet jogosultságtól függően. Minden nyomtatás
rendelkezik fedőlappal, ahol a kötelező mezők feltüntetésre kerülnek. A közvetlen
nyomtatás sztenderd a rendszerben, vagyis nem kíván meg külön exportálást
nyomtatás előtt. A listák mellett külön gonddal kell kezelni az űrlapokat, amiknek a
tartalma és formátuma a bevezetés során alakul ki. Az űrlapok esetén további
elemeket lehet definiálni, mint pl. címer, logo elhelyezése. A nyomtatás, megjelenítés
és bevitel során is figyel a rendszer a betűhelyességre, vagyis a magyar ÁBC betűit
megfelelően tárolja, jeleníti meg és nyomtatja.
Felhasználói felület (Web)
A Web felületekre is igaz, hogy unicode alapokon futnak, így a magyar nyelv,
aszerinti helyes megjelenítés és az azt megjelenítő, tároló kódlap támogatott. A Web
Selmeci Attila Óbudai Egyetem
Alba Regia Műszaki Kar
30
SAP technológiai architektúra SAP ERP rendszer jellemzői
A bázis rendszerre (WebAS) épül az ABAP nyelven megírt alkalmazás (az ábrán
„SAP ECC”), amibe a beállítás szerinti adatok kerülnek, valamint ez hordozza az
üzleti logikát is. Az SAP ERP 6.0-ás verzió teljes egészében a megelőző verziók
alkalmazásainak (Application Core) funkcióira épülnek. A stabilitás és a teljesítmény
tovább javult, továbbá nőtt a user exitek, BAdI-k és a BAPI-k száma is. Az SAP
folyamatosan frissíti, szükség esetén javítja, ill. bővíti a core alkalmazásokat.
Speciális, új funkcionalitásokkal azonban nem bővíti a core rendszert.
Az Enhancement csomagok a teljes rendszerkörnyezetre épülő új szintet jelentenek
és nagyobb verzióváltás helyett folyamatos, kis lépésekben bővíthető velük a
rendszer funkcionalitása. Az SAP ezzel egy sima, leállás nélküli verzióváltási
technológiát céloz meg. Amint az ábra is jelzi, az Enhancement Package
megoldással az Enterprise-SOA technológia felé teszünk lépéseket, hiszen az SAP
közvetlenül szállítja ki az Enterprise Service-ket, ugyanakkor biztosítja a meglevő
alkalmazások fölötti újabb, composite alkalmazások készítését Enterprise Service-
kből.
I. Prezentációs réteg
Az architektúra (a fenti ábrán a legfelső) szintje, az ún. prezentációs- vagy
megjelenítési réteg. Az általánosan használt megoldás az SAP vastag kliense az
SAPGui. Ennek három fő megjelenése használható:
• SAPGui for Windows (Microsoft Windows alapú rendszerekre)
• SAPGui for Java (nem Windows felületekre, Mac, Linux, stb.)
• SAPGui fot HTML (vagy WebGUI, böngészős használatra), ez vékony kliens
A SAPGUI program SAP-s protokolon (DIAG, RFC) kommunikál a rendszerrel és
megjeleníti az adatokat. Emellett számos Web alapú megjelenítés lehetséges ITS,
BSP, WebDynpro alapokon (lásd később), valamint a modern irányokat is
támogatandó megjelent az SAPUI5, vagyis a HTML5 alapú kliens.
Az ábrán szerepel a SAP Fiori komponens, ami az SAP által gyártott és szállított
SAPUI5 alapú termékek technológiája, gyűjtőnekve. Mint látható itt már egy
tényleges (középen álló) negyedik réteg is becsatlakozik, mint frontend szerver.
A megoldással mobil eszközön is használhatjuk az alkalmazásokat.
megvalósítását teszi lehetővé. A futtató környezet (AS ABAP) feladata, hogy ABAP
nyelvű programot értelmezze, lefordítsa az adott platformon értelmezhető byte-kódra
és végrehajtsa az adott alkalmazás szerveren. Értelemszerűen az SAP alkalmazás
szerver (az SAP kernel) már a konkrét operációs rendszer platformra került
megvalósításra és az adott adatbázis-kezelő felé tartalmazza a platform-specifikus
adatbázis interfészt is, mindez azonban az alkalmazói programok előtt rejtve marad.
Az alkalmazói programok által használt struktúrákhoz való hozzáférés is platform
független módon történik, mivel a konkrét adatbázis struktúrákat „eltakarja” az
alkalmazói rétegben definiált ABAP Data Dictionary. Így bármelyik szállító
adatbázisában is legyenek az adatok, azokat az alkalmazói programok (ABAP és
JAVA is) az ABAP Data Dictionary-n keresztül használják. Természetesen lehetőség
van a fizikai adatbázis struktúrához való közvetlen hozzáférésre is, azonban ezt csak
egyes speciális esetekben használja maga az SAP is és általában nem javasolt ilyen
módon „megkerülni” a Web AS adatbázis interfészét.
Az adatbázis réteg egy másik jellemezője az ott tárolt alkalmazói (törzs és mozgási
adatok) felosztása ún. mandantokra. A mandant a SAP adatbázis egy olyan része,
melyben teljeskörűen leképezhető egy vagy több intézmény (gazdálkodási egység)
működése. Egy rendszerben több mandant is lehet, melyek egyedi felhasználó
törzzsel és jogosultság rendszerrel rendelkeznek, illetve az egyes mandantokban
leképezett intézmények egymástól teljesen függetlenül működésre képesek.
Az adatbázis szintjén a mandant, az alkalmazói táblákban mindig az első kulcsmező,
ezeket hívjuk mandant-függő tábláknak, a bennük lévő adatokat mandant-függő
adatoknak vagy mandant-függő beállításnak. A törzs és mozgási adatok, a
felhasználó törzs, a szerepek és a jogosultsági beállítások mindig mandant függőek
és a beállítások döntő többség is. A customizing egy kisebb része mandant független
objektum, mint ahogy a repository objektumok is azok.
A SAP adatbázisban egy rendszer adatai egy-egy schema user nevében érhetők el
az alkalmazási réteg ABAP és JAVA motorjai számára. Ha tehát egy rendszeren
belül mindkét futató környezet működik, akkor a mindkét schema user megtalálható
az adatbázisban. Az adatbázis felhasználó neve az ABAP motor számára a
SAP<SID>, míg a JAVA instancia esetében a SAP<SID>DB, ahol a <SID> a SAP
rendszer 3 betűs azonosítója (SAP System ID). Sőt egyetlen adatbázisban több
rendszer adatai is lehetnek. Ezt az ún. Multiple Component One Database – MCOD
– architektúrának nevezzük. A rendszer indulásakor az alkalmazás szerver
processzei ezen az instancia DB felhasználó nevében kapcsolódnak az
adatbázishoz.
Egy SAP rendszernek egy vagy több alkalmazás szervere lehet, a rendszer által
megvalósított funkciótól függően ezek vagy csak ABAP vagy csak JAVA alapú
instanciák lehetnek, illetve kialakítható olyan rendszer is, amely mindkét típusú
futtató motorral rendelkezik.
Az alkalmazásszerverek többszörözése természetesen egyúttal szolgálja a teljes
rendszertől elvárt rendelkezésre állás biztosítását is – lévén az egy rendszerhez
kapcsolódó alkalmazás szerverek egyenran-gúak, a rendszer összes funkcióját
nyújtják a felhasználók felé.
A produktív rendszer szemszögéből gyakorlatilag nincs korlát a kapcsolódó
alkalmazás szerverek számára vonatkozóan. A rendelkezésre álló fizikai erőforrások
határáig az egyes rendszerekhez a csúcs-terhelés jellegű igények rugalmas
kiszolgálására dinamikusan, az éles üzem közben is rendelhetünk alkalmazás
szerver instanciát, instanciákat. A menetközben bekapcsolt új alkalmazás
szervereket a rendszer automa¬ti-kusan használatba veszi, a felhasználók azt
gyakorlatilag azonnal elérhetik.
Az adatbázis kezelő szintjén is lehetőség van hasonló módon robosztus és
skálázható architektúrát kialakítani, olyan technológiák használatával, mint az pl.
Oracle Real Application Cluster, melyet az Oracle 10-es verziójú adatbázis kezelővel
az SAP rendszerek által is támogatott számos operációs rendszer platformon
(Solaris, HP-UX, AIX, Linux, Windows Server, AS/400, OS/390).
Instanciát (ASCS), míg egyéb esetben egy alkalmazás szerver részei, amit ilyenkor
centrális instanciának (CI) nevezünk, szemben az egyszerű dialóg instanciákkal.
Amennyiben egy SAP rendszeren belül több alkalmazás szerver van, közöttük
bejelentkezés idejű terhelés-elosztás működik – az ún. logon load balancing. Ennek
központi eleme a message server, mely eldönti, hogy a SAPGui felül érkező
bejelentkezési igényt az instanciák pillanatnyi terhelésétől függően, melyik
alkalmazás szerverre továbbítsa. A kliensnek már ezt a instancia küldi a logon
képernyőt.
Az egyes alkalmazás szervereket ún. logon csoportokba szervezhetjük. A
felhasználó a rendelkezésre álló logon csoportok közül választhatnak, a
bejelentkezés során, illetve meghatározhatjuk, hogy a felhasználók egy csoportja
mely logon csoportra jelentkezhet be. A logon csoportokhoz rendelt instanciákat
üzem közben is módosíthatjuk, így rugalmasan tudjuk alakítani, hogy a felhasználók
egy adott csoportjához mennyi erőforrást akarunk vagy tudunk allokálni.
A bejelentkezés idejű teherelosztás természetesen csak úgy tud hatékonyan
működni, ha a felhasználók időről időre újra bejelentkeznek. Ezt úgy tudjuk elérni,
hogy az inaktív felhasználókat, paraméterben meghatározható időintervallum után
(pl. 1 óra) automatikusan kijelentkezteti a rendszer.
Az instancián belüli teherelosztást – vagyis az egyes munka-processzek között – a
dispatcher processz végzi.
Az instanciák között teherelosztás nem csak az online (dialog) felhasználók esetén
működik, hanem a batch, az update és az RFC típusú műveletek esetén. Azaz a
rendszer lehetőséget ad, hogy az egyes instanciákat background-, update- vagy
RFC group-okba szervezzük és egy-egy kérést csak az adott csoporthoz rendelt
instanciákon hajthassunk végre. Így a különböző típusú terheléseket SAP
rendszeren belül is elhatárolhatjuk az erőforrások egy az instanciák által
meghatározott csoportjára.
Alapértelmezetten a rendszer természetesen az összes rendelkezésre álló
alkalmazás szerverre megpróbálja szétteríteni ezeket terheléseket és az esetek nagy
részében ez a stratégia kielégítő teher¬eloszlást eredményez.
A Web AS JAVA
A Web AS JAVA alkalmazás szerver struktúráját az alábbi ábrán mutatjuk be.
Az SAP definíciója szerint az ún. „JAVA cluster” egy vagy több JAVA instanciából és
a – már említett - Central Services instanciából áll.
A JAVA instancia az az egység a JAVA cluster-en belül, amely egy önálló, független
egységet alkot a rendszer indítása, leállítása, monitorozása szempontjából. Az egy
instanciát alkotó JAVA cluster elemek, mindig egy hoszton futnak, illetve egy fizikai
hoszton több JAVA instancia is futhat, melyeket az ún. instancia szám
megkülönböztet meg és választ el egymástól. Hasonlóan az ABAP instanciához , a
JAVA instanciát is a rendszer neve (SID), az instancia száma és azt futtató hoszt
neve határoz meg egyértelműen.
A fenti ábrán kiemelésre került a csomagot hordozó standard SAP komponens. Itt
látható, hogy valóban saját verziója van, illetve az is, hogy a rendszerben levő (az
ábrán látható) komponensek között eltérő verziók illetve ún. SP (Support Package)
szinteket használnak.
A fenti ábra az SAP patch manager tranzakciójából, a SPAM-ból származik. A saját,
ügyfeles fejlesztéseket itt nem találjuk meg, mivel nem SAP standard kiszállításhoz
tartoznak.
Az alsó, jobbra irányuló csökkenés jelzi, hogy a beállítás milyen körre hat. A
fejlesztés módosítása minden megoldásra, ahol használják, a customizing
lényegében mandanton belül, a testreszabás pedig az adott felhasználó számára.
Vagyis bár a beavatkozók köre nő jobbra haladva, a módosíthatóság mennyisége,
kihatása csökken. A végén már szinte csak kinézeti különbségek érhetők el.
Érdemes megjegyezni, hogy a végfelhasználói felület ténylegesen alakítható minden
végfelhasználó számára (pl. Screen Personas, GuiXT, stb.). Ez azonban a
támogathatóságot jócskán ronthatja, hiszen a támogató a standard felületet látja és
nem tudja mi minden módosítást végzett a végfelhasználó a felületen.
A bővítési koncepció szerint az SAP programok az ügyfél által készített, módosított
Repository objektumokat hívnak meg. A következő területeken van lehetőség
bővítésekre, vagy user exitek-re:
• ABAP programokban (funkciós modul exit)
• GUI interfészben (menü exit)
• egy dynprón, egy újabb alképernyő (subscreen) behelyezésével (screen exit)
• egy dynprón, egy specifikus képernyő mező feldolgozására szolgáló ügyfeles
kód (field exit)
• ABAP Dictionary táblákban és struktúrákban (table enhancement)
A bevezetések során legtöbbször a programokban elhelyezett funkciós modul exit-
eket, más néven customer exit-eket használják. Ezek olyan funkciós építőkockák,
amik egy, az ügyfeles névtartományba eső include programot tartalmaznak. Ez a
program kezdetben üres. A user-exit használatakor kitöltésre kerül és a sztenderd
kód a függvény meghívásával az ügyfél kódját hajtja végre.
A user-exitek közé kellene sorolni a Business Add-In (BadI) megoldást is. Az SAP a
4.6x és későbbi bázis release alapú rendszerekben vezette be ezt az objektum
orientált megoldást az ügyfeles bővítésekre. A BAdI esetében lehetőség van
szűrésre, ill. többszörös implementálásra is, vagyis egy belépési ponthoz több saját
kód is rendelhető, melyek mindegyike, ill. szűrés esetén adottak futnak le. Így
belépési ponttól függően akár szűrni lehet vállalatkódra, stb.
A mai SAP rendszerek esetén tovább bővült a fejleszési objektumok bővítésének
tára, ugyanis ún. Enhancement Point-ok illetve Enhancement Session-ök jelentek
meg. Ezeknek nincs megfelelő magyar változatuk, bár nyers fordítás adható rájuk.
Ugyanakkor fontos, hogy technikailag ezek explicit módosítási pontokat illetve
Selmeci Attila Óbudai Egyetem
Alba Regia Műszaki Kar
65
SAP technológiai architektúra Fejlesztés az SAP környezetben
kódrészeket adnak meg. Ez azt jelenti, hogy adott ponton (hasonlóan a user-exit-
hez) beléphetünk a standard kódba és ott a saját kódrészletünket futtathatjuk. A
session esetében van egy standard kódrészlet, ami lényegében cserélhető sajátra.
Az új Enhancement környezet (Enhancement Framework) lehetővé teszi implicit
bővítések alkalmazását is, pl. minden program, eljárás elejére és végére saját kód
illeszthető. Ezeket a környezet külön programokba helyezi és külön is kezeli, de ha
aktívak, akkor meg is hívja futtatáskor. Fontos kiemelni, hogy az Enhancement
Framework lehetővé teszi bővítések (amik tartalmazhatnak különböző bővítési
megvalósításokat) ki és bekapcsolását, vagyis eldönthető, hogy használják-e.
Mivel az objektum-orientált kódolás és megvalósítás kezdi a rendszert teljesen
lefedni, így az ehhez kapcsolódó elemek esetén is szerepet játszik a bővítés. Ennek
köszönhetően egy osztály pl. bővíthető saját attribútumokkal, metódusokkal, de
lehetőség van minden meglévő metódus elé illetve mögé kódrészletet készíteni, ami
lefut a metódus meghívása előtt illetve után. Hasonlóan lehetőség van teljes
kódcserére meglévő metódus esetén.
Az ábra feltünteti a protokolokat is, amin kommunikál az SAP szerver felé, valamint a
kliens felé. Az egyes komponensek közé biztonsági okokból tűzfal is helyezhető. A
Web felületekhez tartozó mime objektumokat a Web server kezeli, és a HTML
template-k is itt kapnak helyet.
Ahogy látható a SAPGUI for HTML is ide tartozik, ugyanis hasonlóan a többihez
használja a HTML-Business csomagot, valamint a lefutási logika ugyanúgy az SAP
zajlik és ott hordozza a rendszer az adott alkalmazás státuszát is, mint az Easy Web
Transaytion (EWT) esetén.
Az Easy Web Transaction lényege, hogy meglevő Dynpro alapú SAP tranzakciók
felületeit át lehet kódolni HTML template-ekre és azokat teljesen át lehet alakítani
tetszés szerinti web oldalakká. Az ITS kezel témákat (theme), valamint nyelvfüggő
megjelenítsét tesz lehetővé. Az SAP ABAP Workbench a 4.6-os verzió óta lehetővé
teszi, hogy a rendszeren belülről az Object Navigator segítségével készítsük el
bármelyik tranzakció felületeihez (dynpro-ihoz) a template-ket. A template-k
módosításával lehetővé válik pl. hogy egy két vállalatos cég esetén ne egy
vállalatkód kérő mező jelenjék meg, hanem két nyomógombként működő kép a két
vállalat logo-jával, stb. Az alábbi SAP screenshot egy példa EWT definíciót mutat a
QISR1 standard tranzakcióra.
A flow fájl vezérli, hogy a Modul Provider Interfész milyen funkciót hívjon meg.
Lényegében egy korai egyszerű BPM (Business Process Management) rendszer,
ami szolgáltatásokat (modulokat) hív fel a logikának megfelelően akár különböző
helyekről. SAP esetén RFC funkciós elemeket, illetve ún. BAPI (Business API)
modulokat hívhat meg. Adatokat ad át, majd az eredmények szerint dönt, hogy a flow
fájl értelmében mi legyen a következő lépés. Eközben természetesen a
végfelhasználó számára Web felületeket jelenít meg HTML template-k alapján. Alább
egy példa flow fájl olvasható (forrás: help.sap.com).
<flow>
<state name="present" >
<module name="employee_get" type= "RFC" stateful="0" >
<exception next_template=“add_record“
name="no_records_found">
</exception>
</module>
</state>
<event name = "search" next_state = "present">
</event>
</flow>
Amint a kódból olvasható az employee_get BAPI modult hívja meg RFC technikával,
illetve ha hiba lép fel, akkor megvan adva, hogy mely HTML template-tel folytassa a
munkát.
Az ITS megoldás a 6.20-as bázis verzió óta az SAP ABAP Web AS része, ún.
Integrated ITS-ként üzemel, nem kell hozzá külön környezet, külön hardver.
for ABAP vagy WD4A lett. A WD4A egy futtató környezetből és egy grafikus fejlesztői
környezetből áll, ami a többi ABAP eszköz mellett az ABAP Workbench (SE80)
integráns része.
A WebDynpro a következő előnyüket kínálja az alkalmazásfejlesztőknek:
• A deklaratív (MVC, model-view-controller) és grafikus eszközök szignifikánsan
csökkentik az implementációs ráfordításokat
• A webDynpro struktúrált tervezési folyamatot tesz lehetővé
• A felület és az üzleti adatok teljesen elválaszthatók egymástól
• Komponenseket használva megnő a kezelhetőség és az
újrafelhasználhatóság
• A felület és a navigációk könnyedén változtathatók a WebDynpro eszközökkel
• Támogatja a „stateful” alkalmazásokat
• Automatikus adattranszport érhető el az adatkapcsolások használatával
• Automatikus beviteli vizsgálat
• Automatikus WebDynpro műveletek lehetségesek a billentyűzeten keresztül
• A felhasználói felület támogatja a korlátozott képességüek munkavégzését
• Teljesen integrált a megbízható ABAP fejlesztői környezettel
Repository
Browser
ABAP Teljesítmény
Dictionary
Debugger vizsgáló
Screen Painter eszközök
SAP Modellezés Teszt
Menu Painter Workbench
megoldá
megoldás menedzsment
Organizer
Function- (eCATT)
builder Verziókezelés
Class Builder
ABAP Editor
…
Elemzé
Elemzés /
tervezé Implementá
Implementáció
ció Tesz
Teszt Adminisztrá
Adminisztráció
ció
tervezés
vagy negatív kimenetet kíván meg, vagyis az a jó, ha sikerül, vagy az, ha éppen
nem. Eszerint ki is értékeli a tesztelési eredményeket. További lehetőség található a
SAP Solution Manager rendszerben is a tesztesetek feltöltésére és későbbi hívására,
menedzselésére. A kidolgozott tesztesetek később is használhatók, pl. ha egy
javítócsomag betöltésre kerül és egy adott funkciót tesztelni kívánunk.
A teljesítményteszteléseket a Workload analízis eszközökkel, a futásidő elemzéssel,
valamint az SQL-trace eszközzel lehet végezni alapvetően. Az ABAP futásidő
elemzési eszköz (SE30) lehetővé teszi bármely ABAP program, mint pl. riportok,
eljárások, funkciós modulok, vagy osztályok teljesítményértékelését. Elmenti az
eredményeket a adat fájlokban, melyek közül ki lehet választani, hogy melyiket
szeretnénk kiértékelni. Az elemzések során felderíthetőek a futásidő intenzív
utasítások, kódrészletek beleértve a tábla hozzáféréseket is. Hierarchikusan
megjeleníti a programhívásokat, melyekben láthatók a ráfordítási idők nettó ill. bruttó
értékben, valamint százalékosan is látható, hogy az egész kódból, vagy egy
eljáráson belül mennyit tettek ki az adott utasítások, hívások. Az elemzés során
felderíthetőek többek között a túlzott, vagy szükségtelen modularizáció használatok,
a CPU intenzív program elemek, felhasználó-specifikus funkciók, amik
helyettesíthetők ABAP utasításokkal, nem effektív vagy redundáns adatbázishívások.
Az SQL trace lehetővé teszi az adatbázis hozzáférések feljegyzését, zárolási
tevékenységek követését, távoli függvény (RFC), riport, vagy tranzakcióhívások
elemzését, adatbázis pufferek használatának vizsgálatát. A feljegyzéseket egy
nyomkövetési fájlba helyezi el a rendszer, ahonnan az elemzővel különböző
szűrések, aggregálások segítségével kimutathatók akár a drága SQL hívások is.
4.4 Szoftverlogisztika
A szoftverlogisztika feladata a szoftver változásainak (konfiguráció, fejlesztés,
módosítás, stb.) csomagokba gyűjtése és fogadó rendszerek felé továbbítása, illetve
azokba történő implementálása. A szoftverlogisztika ugyanakkor a projekteken a
fejlesztők, konfiguráló munkatársak és a technikai csoport közti formális
kommunikációs folyamatok definiálása a módosítások és fejlesztések
transzportálására vonatkozóan.
A felső ábra mutatja, hogy ki, mikor módosított, ugyanakkor az is látható, hogy
milyen fajta verzióról beszélünk. Az üresek az exportálás (módosítási kérelem
engedélyezés) során keletkezett verziók, az ’I’ betűvel jelzettek másik rendszerből
importált verziók. Az ’S’ ill. ’U’ betű pedig olyan köztes verziót jelent, amit a fejlesztő
magának generálhat fejlesztés közben, amikor szeretne megőrizni egy köztes
állapotot. A szélesebb ábra a fent szereplő aktív és a 00007-es verzió
összehasonlítását mutatja. Mint látható akár párhuzamos megjelenítéssel is
megvizsgálhatóak a különbségek, valamint lehetőség van mindig a következő
különbségre ugrani, stb. Ha egy régebbi verziót visszahívunk, a rendszer generál egy
új módosítási kérelmet, amiben elhelyezi, hogy most már ez lesz az új verzió.
4.4.2 Mandantok
Az SAP mandantok elválasztó szerepet töltenek be egy SAP környezetben.
Alapvetően fontos, hogy meghatározzuk egyes mandantjaink szerepét és helyét. A
mandantok üzletileg, szervezetileg, jogosultságilag önálló egységet képeznek,
azonban figyelembe kell vennünk azt a tényt, hogy az egy rendszerben létrehozott
mandant-ok ugyanazt a repository-t (vagyis fejleszési objektum készletet) használják.
Az alábbiakban a mandantok használatáról, kezeléséről, szerepéről lesz szó.
Mandant Szerep
CUST Customizing és fejlesztő mandant.
Minden mandantfüggő és mandantfüggetlen customizing
ebben a mandantban történik. Az összes repository
módosítás (riportok, tranzakciók, táblák, stb. karbantartása) is
itt zajlik. Beállításokon kívüli alkalmazási (mozgási és törzs)
adatok nincsenek a mandantban.
QAST Minőségbiztosító tesz mandant (Quality Assurance and Test
client).
Az új beállítások és fejlesztési objektumok ebben a
környezetben lesznek tesztelve eredeti, tömeges adatokkal. A
változáskezelők (Change Manager) koordinálják a tesztelési
folyamatokat, az előre kialakított tesztesetek szerint. Ők
fogadják vagy utasítják el az új beállítások vagy fejlesztési
objektumok produktív környezetben történő használatát.
PROD Produktív mandant
Táblázat 4-1 Alap mandant típusok
Homokozó Oktató
A fenti ábra nem tárgyal több fajta mandant típust, azonban mint látható a transzport
útvonal összetett, ugyanis több fejlesztési réteget is használunk, sőt, több fejlesztői
rendszert. Ennek oka, hogy a fejlesztői rendszerben általáos objektumok
keletkeznek, amik mindhárom régióra megfelelőek, a specifikus objektumok már a
„lokális”, vagyis régió függő környezetben kerülnek kialakításra.
A Ábra 4-23 Egy lehetséges mandant kiépítés 3-rendszeres (HR) környezetben
ábrán szerepel néhány, eddig nem említett mandant típus. Ezek a mandantok
kényelmesebbé teszik egy bevezetési projekt munkáját és csökkentik a mandantok
terhelését.
Mandant Szerepe
SAPR A 000-ás mandantot nem szabad módosítani, semmiféle
konfiguráció nem végezhető. Az SAP, mint referenciát
használja ezt a mandantot, pl. űrlapok és eredeti nyelvi
objektumokat tárol itt.
UNIT Unit teszt mandant. Az új beállításokat átmásolják ebbe a
mandantba, és mint egy önálló egység tesztelik, mielőtt
engedélyeznék, hogy a QAST mandantba menjen. A
fejlesztett riportok, tranzakciók szintén itt tesztelendők. A
törzsadat feltöltő programokat is itt kell kipróbálni. Eredeti
ügyfeles adatokat kell feltölteni és használni ebben a
mandantban.
4.4.2.4 Változásmanagement
A változáskezelési rendszer (formálisan a korrektúra és transzportrendszer) opciókat
kínál az adatátvitelre rendszerek között ill. egy rendszeren belül. A eszköz
használható például tuningolt és tesztelt konfigurációs beállítások transzportjára
rendszerek és mandantok között. A változáskezelési rendszer customizing-gal
fennálló integrációja folytán gondoskodik arról, hogy csak egyedi táblabejegyzések
kerüljenek transzportra, így a teszt adatok akaratlan átvitele nem fordul elő. A
fejlesztő mandantban végzett fejlesztések és a konfigurációs beállítások
automatikusan feljegyzésre kerülnek módosítási kérelmekbe. Ezek a kérelmek
később a minőségbiztosító, majd a produktív mandantba kerülnek. Amint a
módosítási-kérelem engedélyezésre kerül a forrás rendszerben, egy transzport
kérelem keletkezik. Ez a transzport kerül átvitelre.
A továbbiakban az adatok átvitelének speciális eseteit tárgyalja a dokumentum.
teszt imp
CONV Kérelem importja Minőségbiztosítási Ad-hoc (QAST is)
teszt imp
HRP PROD Kérelem importja Produktív üzemhez Indulás előtt
kell
PPRD Kérelem importja Előzetes prod. teszt Minőségbiztosítási
elfogadás után
A fenti ábra speciális esetet mutat, de számunkra az látszik, hogy egy két rendszeres
landscape alakul ki benne (NW3->NWD), amiben két transzport layer játszik
szerepet: ZNW3 és SAP. Ez utóbbi az SAP standard objektumok módosításainál
játszik szerepet, hogy a módosítások (ún. reparatúrák) is átvihetők legyenek a követő
rendszerekbe. Az alábbi ábra egy „értelmesebb” standard 3-rendszeres környezetet
mutat.
Itt már látható, hogy a transport layer csak a fejlesztő és teszt rendszer közötti utat
határozza meg, pontosabban, hogy egy adott fejlesztési objektum melyik irányba
menjen (attól függően, hogy melyik package-hez rendelték, ha a package-k más
layer-hez tartoznak). Az ezutáni rendszerek már mint kiszállítási rendszerek
szerepelnek és megadható, hogy számukra mi legyen a forrás. Így lényegében
bármilyen komplikált környezet kialakítható.
Mint látható az SAP kialakított egy külön fejlesztői eszközt, hogy kezelni tudja a Java
fejlesztéseket. A Design Time Repository (DTR) szolgáltatás központi forráskód
adminisztrációt végez, így a verziók kezelését is ellátja, ugyanakkor saját
mechanizmus áll rendelkezésre a Change Management Service (CMS) formájában,
ami a rendszerek közti szoftverlogisztikát látja el.
• J2EE Tools: standard J2EE alakalmazások, mint pl. Enterprise Java Beans
(EJB) fejlesztésére szolgál
• Java Dictionary Tools: platform független adat típus és adatbázis objektum
definíciók központi tárolására szolgál
• Persistence Tools: a hosszabb időre felhasználandó adatok tárolására,
mentésére szolgáló eszközkészlet
Természetesen nem csak Enterprise Java Beans használattal lehet Servlet-eket,
JSP (Java Server Pages) alkalmazásokat készíteni, hanem az SAP WebDynpro
technikája is használható. Ez a megoldás előbb létezett Java környezetre, mint
ABAP környezetre, azonban ma már mindkét alkalmazási platform teljes egészében
biztosítja a szolgáltatásait.
Ahogy olvasható volt, a Java fejlesztés lényegében egyedi fejlesztést igényel saját
környezettel. A környezetben számos komponens közreműködik, hogy a fejlesztést
Selmeci Attila Óbudai Egyetem
Alba Regia Műszaki Kar
109
SAP technológiai architektúra Fejlesztés az SAP környezetben
CBS
Futásidő
CMS
Deploy Web AS
Java
DTR
Rendszer
Komponens (RTS)
Modell
Név szolgáltatás
Lokális
Lokális fájl
Web AS System Landscape
rendszer Directory (SLD)
Java
Az ABAP környezetben nincs olyan probléma, mint a Java esetében, hogy több
komponensnek kell kiszolgálnia a fejlesztőt, lokális Java installáció szükséges,
valamint verzió keveredés lehetséges, ugyanis a rendszerbe integrált központi
fejlsztői környezet, az ABAP Workbench áll rendelkezésre.
Ahhoz, hogy ezt a problémát a Java környezetben elkerüljék, az SAP kialakította az
SAP NetWeaver Development Infrastructure (NWDI) komponensét. A célja, hogy az
ABAP környezetben bevált megoldást a Java környezetbe is behozza. Az SAP az
ismert Java standardokra (J2EE, WebDAV, DeltaV, stb.) alapozva alakította ki a
fejlesztési objektumok kezelését és verzionálását. Maga a SAP NeWeaver
Developer Sturio rendelkezik közvetlen hozzáféréssel az SAP NetWeaver
Development Insfrastructure komponens felé, ugyanis az NWDI egy PC oldali
fejlesztői és egy szerver oldali szolgáltatásokat tartalmazó komponensből áll össze,
ami így a fejlesztői csapatnak központi, konzisztens fejlesztést tesz lehetővé,
ugyanakkor a készülő termékek teljes fejlesztési életciklusát támogatja. Az alábbi
áttekintő ábra mutatja, hogy egy teljes rendszerkörnyezet transzport útvonala Java
oldalon is megoldható a SAP NetWeaver Development Infrastructure használatával.
A fenti ábra integrálja az ABAP CTS és Java CMS+NWDI funkciókat. Így lehetővé
válnak a következők:
• alkalmazások (pl. WebDynpro for Java és Portal iView) automatikus
szinkronizációja lehetséges, vagyis egy transzport eszköz használatával lehet
ugyanazon alkalmazás különböző részeit transzportálni.
• központi ellenőrzés az összes transzport fölött, amik a produktív rendszerekbe
mennek
• Nyomon követhetők a transzportok, lazán alakítható transzport útvonalak, és
üzemezett betöltések, deploy-ok
A CTS NWDI-jal történő integrálása az SAP NetWeaver Developer Infrastructure
összeállító fázisában történik technikailag, ahogy a Software Component Archive
(SCA) állományok létrejönnek és csatolhatókká válnak a Transport Management
System transzport kérelmeihez. Ezután már a többi lépés a TMS segítségével zajlik.
Így könnyedén kezelhetővé válnk az összetett landscape-k is.
Az ábrán látható pl. egy speciális, alapvetően nem kiszállított komponens az MRSS
(Multi Resource Scheduling System). Ez a megoldás külön package-ként szerepel a
rendszerben, így különálló patch-elés szükséges a modul számára.
Amennyiben Enhancement Package (EHP) is bekerül egy rendszerbe, akkor
megváltoznak a verziószámok bizonyok komponensek esetében. Pl. ha ERP EHP3
kerülne betöltésre, akkor a legtöbb 600-ás verziójú elem (pl. SAP_APPL, IS-U) 603-
as verzióra kerülne át. Hasonlóan ha a NW EHP1 kerülne betöltésre, akkor a WebAS
részét képző SAP_BASIS, SAP_ABA, SAP_AP, ill. SAP_BW kerülne a 700-ás
verzióról 701-re. Ezután természetesen az új verzióhoz (mint 4.6B ill. 4.6C) tartozó
SP-ket kell letölteni.
A SAP Service Marketplacen (http://service.sap.com) ellenőrizhetjük, hogy az adott
komponenshez milyen javítócsomagok készültek az utolsó ellenőrzés óta. Ha a SAP
Solution Manager rendszerből szeretnék elvégezni a javítócsomagok keresését,
akkor az is megoldható, azonban külön konfigurációra van szüksége ebben az
esetben. A konfiguráció eredményeképpen a Solution Manager mindig friss
információval rendelkezik a kapcsolódó komponens rendszerek állapotáról, valamint
ezeket elküldi az SAP-nak, hogy a support könnyebben valósulhasson meg. A friss
adatok támogatásával le tudja vizsgálni, hogy készültek-e újabb SP-k az installált
SAP komponensekhez és azokat felkínálhatja letöltésre.
Alapvetően nem szükséges a Solution Manager-en keresztül keresni, ezt meg lehet
tenni a Service Marketplace felületén is (http://service.sap.com/patches, vagy
http://support.sap.com/patches).
Ugyanakkor arra figyelni kell, hogy a Support Package-ket nem lehet közvetlenül
letölteni, hanem azokat be kell helyezni a „Download basket”-be. 2007. április 2. óta
ezen felül még a Solution Managerben is el kell végezni az engedélyezési folyamatot
(approve) és csak azután lehet letölteni a Download Manager-rel, a Solution
Manager-rel vagy akár az objektum mentése popup menüponttal.
Amennyiben egy OSS javításr a van szükség, de a Support Package, ami tartalmazz
a még nem játszható be a fent leírt okok miatt, kézzel vagy az SAP által
rendelkezésre bocsátott Note asszisztenssel kell feltölteni.
A lefelé kompatíbilis kernel azt jelenti, hogy pl. egy 4.6B bázis release-en futó
rendszer (pl. 4.6B-s R/3) futtatható 4.6B, 4.6C és 4.6D kernellel is (bár a példa 4.6-
os, de ez él az újabb verzióknál is). A magasabb verziójú kernelhez a legfrissebb
patch alkalmazás a előtt, a magasabb verziónak megfelelő teljes kernelt installálni
kell. Csak ezután tölthető rá a patch. Vagyis a patch az installált kernellel azonos
verziószámú kell, hogy legyen. Az SAP kernel szintjét az SM51-es tranzakció release
info gombjával érhetjük el (vagy a Rendszer->Státusz -> További kernel infó
gombbal). Az operációsrendszer szintjéről a ’disp+work –V’ parancs kiadásával. A
frissített SAP kernel szintén a service marketplacen, a http://service.sap.com/patches
címen érhető el. A frissített fájlok letöltése során érdemes a fájlnév_verziószám
4.5.4 Verzióváltás
A verzióváltás (upgrade) és javítócsomag betöltésnél a rendszer mielőtt behozná a
módosításokat, azokat az objektumokat, amiket módosított (reparált) az ügyfél,
valamint az SAP is kiszállítja új verzióval elmenti az ún. verzió adatbázisba. Egy
másodlagos ún. shadow (árnyék) repository-t készít, ami tartalmazza az összes új
objektumot, ill. ahogy az ábra is mutatja, az ügyfeles, saját fejlesztések érintetlenül
átkerülnek ide, sőt még azok a standardmódosítások is, melyeket nem szállít ki az
SAP új verzióval. Amikor mindent aktivált az upgrade folyamat az új repositoryban,
visszamásolja a jelenlegi helyére.
SAP
Repository
Ügyfélmódosítás
Ügyfélmódosítás SAP
SAP módosította
módosította
Ügyfélmódosítás
Ügyfélmódosítás
Ügyfeles shadow-ba másolás Ügyfeles
Verzió
adatbázis Objektumok Objektumok
SAP
Repository
SAP
SAP módosította
módosította Módosítások
Egyeztetése
Ügyfélmódosítás
Ügyfélmódosítás
Egyeztetett
Egyeztetett
Módosítás
Módosítás
Ügyfeles
Verzió Objektumok
adatbázis
Ügyfélmódosítás
Ügyfélmódosítás SPDD/SPAU
Az ABAP Workbench így egy kifejlett, minőségi környezetet biztosít SAP standard,
külső, vagy saját fejlesztési elemek létrehozására, módosítására, kezelésére. A
customizing és táblatartalom módosításokkal beállítható rendszer lehetővé teszi,
hogy úgy vezéreljük a programok, alkalmazások üzleti logikáját, hogy a program
kódokhoz ne kelljen nyúlni. Pl. bérelemek táblázata is ide tartozik.
Az SAP több mint ötszáz előre gyártott szerepkört és több ezer előre gyártott profilt
szállít ki. Ezeket le lehet másolni, és fel lehet használni a saját jogosultsági rendszer
kialakításához. A kiszállított szerepek lefedik az összes modul majdnem minden
lehetséges felhasználótípusainak megfelelő szerepköröket.
A korábban ismertetet központi felhasználó adminisztráció működése szerint a
szerepek mindig az egyes CUA kliens rendszerekben kerülnek kialakításra és a
profile-t is ott generáljuk hozzájuk, azonban a CUA rendszeren központilag kerülnek
kiosztásra az egyes felhasználókhoz. A CUA nyilvántartja, hogy adott felhasználónak
melyik rendszerben, melyik szerepkör van hozzárendelve illetve a hozzárendelésnek
időbeli érvényessége is van (-tól,-ig) a központi rendszernek ehhez ismernie kell a
5.2.4 Jogosultságvizsgálat
Az SAP rendszert az használhatja, aki rendelkezik felhasználóval egy adott
mandantban, és sikeresen azonosította magát a beállított authentikációs eljárással
(eljárásokkal). Az egyes felhasználók bejelentkezéskor megkapják (az előre definiált)
Selmeci Attila Óbudai Egyetem
Alba Regia Műszaki Kar
135
SAP technológiai architektúra Jogosultság- és felhasználókezelés, authentikáció
1 A Web kliens „HTTP GET” kérést intéz egy szolgáltatáshoz vagy erőforráshoz
való hozzáférés érdekében a Web AS JAVA-n.
2 Az Web AS JAVA egy 401-es (jogosulatlan hozzáférés) HTTP hibakóddal
válaszol a kliensnek és egyúttal, a HTTP fejlécben a „Negotiate” értékre beállított
„WWW-Authenticate” paraméterrel felkéri azt a SPNego azonosítási eljárás
megindítására.
3 A kliens felismeri, hogy a Web AS JAVA hoszt egy Kerberos Realm tagja és egy
kéréssel fordul a Kerberos kulcs-kiszolgáló központhoz (Key Distribution Center
– KDC), melyben egy Client/Server Session Ticket-et kér a szóban forgó Web
AS Java-hoz.
4 A megkapott Session Ticket-et a kliens SPNego token-ként becsomagolja és a
HTTP authorization header-ben elküldi a Web AS Java-nak.
5 Az SPNegoLoginModule JAVA login modul kiolvassa token-t a HTTP kérés
fejlécéből és továbbítja azt szerver oldali Kerberos implementációnak a JDK-ban.
6 Az azonosítás eredménye vagy sikeres vagy ha hibára fut, illetve a kliensnek egy
újabb kérés küldésre is szükség lehet a KDC felé.
Security Assertion Makup Language (SAML) alapú azonosítás. A Web AS JAVA
képes együttműködni és SSO-t megvalósítani külső authentikációs szolgáltatást
nyújtó rendszerekkel, melyek megvalósítják a SAML protokollt és mint ún. SAML
Selmeci Attila Óbudai Egyetem
Alba Regia Műszaki Kar
143
SAP technológiai architektúra Jogosultság- és felhasználókezelés, authentikáció
A Web AS JAVA-val természetesen jó pár előre definiált Login Modul Stack került
kiszállításra, melyek, mint template-ek használhatók a különböző saját vagy SAP
standard alkalmazásokban. Ez az architektúra egyrészt lehetővé teszi, hogy a
rendszerhez való hozzáférést több különböző – akár egymással párhuzamosan élő -
authentikációs eljárással biztosítjuk, másrész, hogy bizonyos funkciókhoz erősebb
authentikációs eljárást kössünk, mint a rendszer egészéhez.
A JAAS-nak megfelelően lehetőség van saját plug-in jellegű login modulok
megvalósítására is.
Az adatbázisban lehetőség van ún. külső attribútumokat definiálni, melyek egy külső
repository-ban létező mezőre hivatkoznak, és amely attribútumokat nem akarjuk
duplikáltan tárolni az adatbázisunkban.
Természetesen bármely attribútum vagy bármely paraméter módosítása szorosan
integrálva van az audit- és naplózó szolgáltatásokkal, így minden változás
visszakövethető, kimutatások, jelentések készíthetők róluk.
Az Identity Center “motorja” egy több komponensből álló futtató környezet, mely
magába foglalja a Java alapú Runtime Engine-t, a Dispatcher-eket, Event Agent-
eket. Ezek futtatásához a SAP Java Virtual Machine-t (SAP JVM 5.1) szállítjuk.
Ugyanez a JVM kerül telepítésre a SAP NetWeaver JAVA AS-eket futtató
szerverekre,node-okra is. A futtató környezet jól skálázható komponensekből áll,
melyekből párhuzamosan több példány is futhat (egy vagy több hoszton), köztük a
felhasználói kérések irányítását a Dispatcher-ek végzik.
• ABAP for SAP Business Suite konnektor: ez szintén egy ABAP alapú
konnektor azonban ennek segítségével nem csak felhasználó-törzshöz
közvetlenül kapcsolódó információk terítése lehetséges, hanem a SAP IDM
bizonyos üzleti objektumok (pl. üzleti partner, vállalt kód) és a hozzájuk
kapcsolódó alkalmazás szintű – de csak az adott alrendszervben releváns -
beállítások központosított kezelését is megvalósítja. A rendszer a standard
részeként számos üzleti szerepet szállít ki, melyekkel a különböző üzleti
objektumokhoz való hozzáférés közvetlenül az IDM fennhatósága alá
rendelhető. Sőt, ezen alkalmazás oldali objektumok köre bővíthető, az erre
célra szolgáló általános ABAP interface (BADI) objektum-specifikus
megvalósításával.
• MS Active Directory konnektor: Ez egy technológia konnektor mely a Microsoft
Windows Server központi címtár adatbázisához (Active Directory-jához) való
kapcsolódást valósítja meg.
• LDAP konnektor: szintén egy technológia konnektora a SAP IDM-nek,
segítségével bármely, az általános LDAP protokollon keresztül elérhető címtár
integrálhatunk az IDM architektúrába.
• Általános ASCII konnektor: ún. ASCII-file alapú felhasználó-törzsek
integrálásra alkalmas megoldás.
A VDS önálló, Java alapú felhasználói felülettel (1) rendelkezik, melyen keresztül a
konfiguráció és az adminisztráció is történik. A beállításokat a konfigurációs
állományok (2) tartalmazzák, melyeket a teljesítmény optimalizáció érdekében egy
konfigurálható cache-en (11) keresztül olvas be a rendszer.
A kliensek (3) a megfelelő kliens protokollon keresztül kapcsolódnak: az LDAP (4)
protokoll pl. natívan része az VDS kernelnek (6), míg ha más kliens protokoll
használata szükséges, akkor a kliens kapcsolódás az ún. „bővíthető transzformációs
keretrendszer” (5) - extensible transformation framework - segítségével történik, mely
a beérkező directory szerver kéréseket átfordítja a VDS belső formátumára.
A VDS kernel a kliensek kéréseit - a kernelen belüli feldolgozás után - a hozzá
kapcsolt adatforrásokon (9) hajtja végre, melyekhez a megfelelő protokollon
keresztüli hozzáférést az ún. konnektor keretrendszer (7) és az olyan adatforrás-
specifikus API-k (8) biztosítják, mint pl. a JDBC – adatbázis kapcsolathoz, a JNDI
(Java Naming and Directory Interface) LDAP alapú címtárak felé. Ahogy a kliens
kapcsolódási oldalán, úgy az adatforrások felé is számos különböző - nyílt iparági
szabványként elterjedt - protokollt valósítanak meg a különböző adapterek: pl. SPML,
DSML, LDAP.
A VDS kernel alapfunkcióinak– mint pl. attribútum konverziók, authentikáció,
statisztika gyűjtés – kiterjesztésére, módosítására az ügyfél által implementálható
Java class-ok állnak rendelkezésre. (“Extensible core-code functionality” (10))
A VDS kernel rendszernaplót (12) és audit naplót (14) is vezet és gyűjti a rendszer
működéséről a statisztikai információkat (13), melyek a Java alapú felhasználói
felületen keresztül tekinthetők meg.
Mint láthatjuk, az Identity Center-hez hasonlóan a VDS-nek is vannak beépített
konnektorai a különböző alkalmazások, címtárakhoz, felhasználó-törzsekhez felé.
Természetesen a VDS-nek magához az Identity Server-hez is van “konnektora” így
annak adatbázisán (az identity store-on) közvetlenül is végrehajthatja a kliensek felöl
érkező kéréseket, műveleteket.
A VDS, az ún. kernel szolgáltatásait - mint pl. a címtár virtualizáció, “namespace”
konverziók, attribútum és schema leképezések, attribútum érték-konverziók stb. – a
teljes rendszerkörnyezet számára Web Service-ek formájában is elérhetővé teszi.
A Virtual Directory Server az IDM architektúrában standalone módon telepíthető egy
megfelelő JAVA VM-re. (támogatott SAP JVM 5.1, SUN JVM 1.4.2, 64bit)
Ez már a másik integrációs scenario megvalósítását vonja, maga után, a SAP IDM –
GRC integrációt.
SAP IDM – SAP BusinessObject Access Control (Governance and Risk Analisys)
integráció
Az integráció megvalósításához az ún SAP BusinesObject Access
Control/Governance and Risk Analyis (SBOB GRC) framework kerül telepítésre a
SAP IDM-en. A framework előre definiált Identity Center taszkokat és Virtual
Directory Server konfigurációs beállításokat tartalmaz és mely lehetővé teszi, hogy
adminisztrációs folyamatokat kockázat-elemzéssel egészítsük ki, még a felhasználó
és a szerep összerendelés végrehajtása előtt.
A megoldás biztosítja, hogy a kockázat elemzés egyszerre hajtódik végre az összes
érintett cél rendszerre, amelyek a SBOB GRC hatásköre alá vannak rendelve. A
GRC által végrehajtott ellenőrzések még a jogosultságok/szerepek tényleges, fizikai
kiosztása előtt megtörténik, így a beállított szabályoknak – és üzleti igényeknek -
megfelelően a SoD (Segregation of Duties) ellenőrzések is végrehajthatók.
A standard részeként megvalósított és kiszállított folyamat látható az alábbi ábrán
6 Integrációs lehetőségek
6.1 Adatkinyerések
Az SAP rendszerből nyomtatott vagy elektronikus formátumban tudunk adatokat
kinyerni. Az elektronikus adatkinyerésnek az egyszerű fájl letöltést, valamint a
hálózati kapcsolatokon történő távoli rendszerbe való adatátadást értjük. Az
elektronikus adatkinyerés közvetlen módjaként meg kell említeni az SAP adatbázis
tábláinak az adatbázis-kezelő eszközeivel remote módon történő olvasását.
Saját programok, listák esetén lehetőségünk van arra, hogy az eredményt a kért
formátumban adja ki a program. Itt két alap kimenet lehetséges: a SAPGUI-t futtató
munkaállomás, vagy az alkalmazás szerver. Az első esetben a programot futtató PC
lokális fájlja lesz, és így nem érhető el többé másnak, a második esetben viszont
megfelelő eszközökkel mindenki (akinek joga van) elérheti. Ha Excel kimenet a
megkívánt, akkor több lehetőségünk is van. Az SAP funkciós modulok formájában
rendelkezésünkre bocsátja az eXtended eXceL (XXL) megoldásokat, melyekkel
Excel formátumban azonnal állományokat hozhatunk létre, makrókat hívhatunk, stb.
A másik módszer az ALV (ABAP List Viewer) alkalmazása. Ennek létezik egyszerű
lista változata, illetve Enjoy kontrolos változata is. A lényege, hogy nekünk csak a
tábla formátumát kell kialakítanunk az SAP felületen, majd egy gomb megnyomására
az ABAP futtató környezet elkészíti a kívánt Excel vagy akár pivot táblát.
Az ábra tetjén kissé jobbra látható a „Local File... (F)” quick info, ami jelzi, hogy a
fölötte levő 4 gomb közül az egyiket kiválasztották a lista letöltéséhez. A feljövő
Popup ablak már nem látszik a screenshot-on. A „számológép”, vagyis tábla
kalkuláció választásával rögtön Excel formátumban is letölthető az eredmény, ahogy
az alábbi ábra mutatja.
alapú interfész. (Ez utóbbi kettő hálózat alapú kommunikációról később még
olvashatunk.)
• A fájl alapú interfész az úgynevezett EDI (Electronic Data Interchange)
alrendszert használja. Az SAP az ALE interfész segítségével az alkalmazás
szerver megfelelő könyvtártában elhelyez egy ún. IDOC (Intermediate
Document) formátumú fájlt, amit átad az EDI alrendszernek. Az EDI
alrendszer az IDOC formátumú fájlt vagy konvertálatlanul elküldi a
célrendszerre, vagy valamilyen EDI szabványnak megfelelő konverziót
követően elküldi egy EDI szolgáltatónak.
• RFC alapú kommunikáció esetében az SAP az úgynevezett tranzakciónális
RFC megoldást használja. Vagyis a két rendszer RFC kapcsolatban van,
viszont az SAP gondoskodik arról, hogy az adatot egyszer biztosan átküldje.
Két SAP rendszer között ezt a megoldást szokás használni.
• BAPI alapú kapcsolatnál a BOR (Business Object Repository) objektumainak
metódusait használhatjuk fel és azok Visual C++, BASIC vagy Java-ból
történő meghívásával kommunikálunk az SAP rendszerrel.
vagy Y kezdetű névvel jön létre úgy, hogy az SAP Data Dictionary-ben látható legyen
a tábla struktúra. (1. létrehozzuk a megfelelő struktúrájú ABAP táblát, 2. töröljük
adatbázis szinten, 3. létrehozzuk azonos névvel a szinonímát.) Így az ABAP
programokból akár közvetlenül is elérhetők a távoli táblák Open-SQL parancsokkal.
Mindkét megoldásnak alapvető hibája, hogy a kapcsolat megszakadásával nem
kezelhető ABAP-Dump lép föl. Ez ellen nem tudunk mit tenni. Azt az esetet, amikor
külső rendszer írja az SAP táblát kihagyjuk, ugyanis ez tiltott konzisztencia és
alkalmazás szintű zárolási okokból.
Az alkalmazás szintű kapcsolatok az SAP-ból, mint alkalmazásból RFC, IDOC,
fájltranszfer segítségével küldjük, fogadjuk az adatokat. Ekkor az adatkinyerés és
feldolgozás is védett, kontrolált környezetben zajlik, hibák teljes mértékben
kezelhetők.
A kernel szintű kapcsolat igazából csak részben tartozik a kernelre, ugyanis standard
ABAP programokat írunk, ahol a távoli adatbázis elérését az adatbázis-interfész,
vagyis a kernel biztosítja a különböző adatbázis kliensek segítségével. Az új kernel-
ek tartalmaznak már mindenféle támogatott adatbázis-kezelőhöz kliens csomagot,
így pl. Linux-on futó Oracle alapú SAP is képes kommunikálni távoli MSSQL
adatbázissal. A kapcsolat leírását a DBCON tábla tartalmazza, melynek tesztelésére
az SAP az ADBC_TEST_CONNECTION riportot készítette. Javasolt a jelenleg is
üzemelő dblink technikákat ilyen formán átírni. De fontos tudni, hogy ez a megoldás
csak az SAP-ból indított query-k és módosítások esetén használható, hiszen az SAP
kapcsolatot nem adjuk meg a távoli rendszernek, csak az SAP-ban a távoli adatbázis
elérését.
Megjegyzendő, hogy az SAP a HANA side-car megoldása esetén (vagyis amikor a
standard SAP ERP mellett egy HANA platform fut gyorsításként, akkor) is ezt a
technológiát alkalmazza.
Az ABAP programokban az SQL utasításokat hasonlóan kell megírni, mint egy
standard ODBC, JDBC kapcsolat esetén.
6.2 Adatkommunikációk
Külön kezeljük az adatkommunikációkat, ugyanis ezek két irányúak lehetnek a
rendszerben.
Alapvetően fájlos és hálózati kommunikációkat használhatunk a rendszerben,
ugyanakkor a hálózati kommunikációnak több fajtája is lehetséges.
A kommunikációk során beszélünk szinkron és aszinkron kommunikációról. A
szinkron, amikor közvetlenül történik, az aszinkron, amikor valamikor megtörténik,
másik processzek hajtják végre. A fájl alapú kommunikáció mindig aszinkron, mégha
eseményekkel verzéreljük is. A hálózati kommunikációk esetén aszinkronitás
lehetőséget biztosít biztosabb átvitelre, mert csak akkor kommunikál ha valóban él a
kapcsolat.
Az SAP nem végez fájlrendszerbeli műveleteket, mint pl. fájl törtlés. Csak ír vagy
olvas állományokat, amikhez hozzáfér. Ugyanakkor lehetőséget biztosít operációs
rendszer szintű parancsok, programok indítására is.
Ahogyaz ábra is mutatja egy SAP rendszer nem csak RFC kliens, hanem szerver is
lehet. Legegyszerűbb ezt elképzelni ha van egy HR emberi erőforrás, bérszámfejtési)
és egy FI (pénzügyi és kontrolling) rendszerünk. Ezek kommunikálnak, mert az FI
rendszernek le kell adnia a költséghelyeket, a HR rendszernek meg fel kell adnia a
fizetések utalási információit, valamint a költséghely terheléseket.
Az ábra ugyanakkor azt is szemlélteti, hogy igen régi, de még néhol, nagy
vállalatoknál ma is fellelhető R/2-es, mainframe rendszerrel is tudunk kommunikálni,
vagy akár egy nem SAP programmal, rendszerrel.
A fenti ábra egy másik SAP rendszerbeli célt határoz meg. Az alábbi ábra viszont
egy tesz függvény hívását a távoli rendszerből.
Egy másik kapcsolódási pont az SAP-ból történő levelezés, FAX küldés. Az SAP
alapvetően két lehetőséget biztosít arra, hogy a rendszerben levő ún. SAPoffice
környezet a vállalat általános levelező rendszeréhez lehessen kötni. Az egyik
megoldás az SAP alkalmazásszervereken beállítható SMTP alkalmazása, a másik
az SAP Exchange Connector bevezetése.
Ez a konnektor lehetővé teszi, hogy a felhasználók SAP-s alkalmazásokból vagy a
SAPoffice-ból dokumentumokat küldjenek, vagy fogadjanak egy a rendszerrel
összekötött MS Exchange Szerver postafiókjából. A felhasználóknak arra is van
lehetőségük a konnektor segítségével, hogy dokumentumokat váltsanak az MS
Exchange szerver segítségével pl. Internet, fax, X.400 vonalakon. Csatolt fájlok (pl.
R/3 dokumentumok, MS Office dokumentumok, fax bitmap) szintén mindkét irányba
továbbíthatók.
Az alábbi ábra szemlélteti a konnektor alapvető elhelyezkedését:
Amint az ábrán látható, az SAP a külső levelező, FAX továbbító, stb. rendszerekkel a
SAPconnect felületen keresztül biztosítja a kapcsolatot. Ez a komponens az SAP
rendszer standard módon kiszállított része. Third-party megoldásokkal lehet külső
rendszereket az SAP-hoz kapcsolni. Az Exchange Connector esetében az SAP
készítette a SAPconnect-nek megfelelő kommunikációs felületet, nem a partner
(Microsoft).
A mai verziók esetében nem kell már külön speciális levelezési konnektort kiépíteni,
mert működik közvetlenül az SAP-ból is.
A logikai modell az alábbi ábrán látható főbb elemekből áll. Az üzleti objektumokat
(Business Object) a repository-ban kapnak helyet, ahol kereshetők, komponenseik
elemezhető és elolvasható a dokumentáció is róluk.
Az üzleti Objektumok a standard táblákra, tranzakciókra épülve egy újabb réteget
képeznek, azonban objektum-orientált szemlélettel. Így minden üzleti objektumnak
vannak többek között attribútumai és metódusai is. A metódusok közül azok, melyek
az SAP rendszeren kívülről is meghívhatók, azok a BAPI-k.
6.2.4 WebService-ek
Az SAP egy standardizált architektúrát és számos eszközt kínál Web szolgáltatások
készítésére, hívására. Ez magába foglalja az SAP NW Developer Studio-t és az
ABAP Workbench-et is. Lényegében azt jelenti, hogy minimális erőfeszítéssel
kínálhatók Web szolgáltatások SAP rendszerekből. Meglevő BAPI-k, remote képes
funkciós modulok, Enterprise Java Bean-ek (EJB-k), Java osztályok és SAP XI
szerver proxy-k használhatók Web szolgáltatások beállításához.
Az SAP WebAS implementálta a Web szolgáltatásokhoz szükséges alap
standardokat, mint pl. XML, SOAP, WSDL és UDDI. Az ABAP Workbench kínál
eszközöket web szolgáltatások publikálására, keresésére és felhívására is. Így az
SAP megoldások működhetnek szerverként és kliensként is a web szolgáltatások
használatakor.
Fontos, hogy az RFC és a BAPI-kat technikailag leképező remote funkciókhoz
közvetlenül is lehet WSDL állományt generálni. Ekkor csak a standard authentikáció
működik. Ha többet szeretnénk, vagy nem is RFC képes funkcionalitást szeretnénk
kiajánlani, akkor arra fejleszteni kell burkoló környezetet. Erre az ABAP Workbench
esetén az Object Navigator ad lehetőséget. Ugyanakkor a SOAMANGER használata
is szükséges.
• Marketplace Adapter
• Mail Adapter
• RNIF Adapter
• CDIX Adapter
• IDoc Adapter (Advanced Adapter Engine)
• HTTP Adapter (Advanced Adapter Engine)
Amint látható több lehetőségünk is van a kapcsolódó rendszerek adat szintű
összeköttetésére. Amennyiben standar módon támogatja valamely kapcsolódó
rendszer a fenti adapterek által nyújtott protokolokat, lehetőség nyílik azok
használatára további speciális adapterek vásárlása nélkül. Ennek megfelelően a
nem-SAP rendszerek esetén a File/FTP, JDBC (adatbázis szintű kapcsolatokhoz),
SOAP (Web Service kommunikációkhoz) adatpterek használata a legelőnyösebb.
Alábbi lista az esetlegesen fellépő fejlesztési igényeket csoportosítja:
• Küldő oldalon: standardizálás (standard funkciók, adatkinyerők, protokolok
használata), adat „szélesítés” (általánosítás)
• Fogadó oldalon: meglevő interfészek átalakítása ha nem használható, vagy
költséges a protokolja
• EAI rendszerben: speciális konvertáló, szűrő, map-pelő rutinok készítése.
• A fenti felsorolásban nem szerepel az SAP, ugyanis nem feltétlen vesz részt
minden kommunikációban, lehet, hogy két nem-SAP rendszer kapcsolata is
az EAI környezetbe kerül.
A fent említett PI alapú AAE a PO esetében további kiterjesztésre kerül biztosítva a
lehetőséget, hogy akát külön komponensként is futhasson, tartalmazva saját
környezet leírást, szolgáltatási könyvtárat, felhasználó kezelést, monitorozást, stb.
Történetileg az XI ill. PI dual-stack megoldások ABAP része tartalmazta egy részét
az adaptereknek, pl. IDOC, RFC, WSRM (Web Service Reliable Messaging). A Java
oldalon található adaptereket az ún. Adapter Engine (AE) szolgáltatta. Később,
lényegében a PI létrejöttével a Java környezetre húzták át az alap adaptereket,
amihez fejleszteni kellett az adaptermotort, így előállt a már korábban is említett
Advanced Adapter Engine (AAE). A PI 7.11 verziótól lehetőség van Java-only
installációra, ahol az AAE szolgáltat minden kapcsolati protokolt. A PI 7.31 verziótól
kezdve tovább bővítették az adapterkezelőt a fent leírt funkciókkal és így már az
Advanced Adapter Engine Extended (AEX) technológia áll rendelkezésünkre. Ez
Selmeci Attila Óbudai Egyetem
Alba Regia Műszaki Kar
187
SAP technológiai architektúra Integrációs lehetőségek
Folyamat- Folyamat
automatizálás monitoring
Service Bus
Dynamic Routing Transzformáció Konnektivitás
Reliable Messaging
Process Integration
fizikai kapcsolatot is csak addig nyitva tartani, amíg az SAP szintű kapcsolat nyitva
van a környezetben.
7 Általános adminisztráció
7.1.1 Áttekintés
Annak érdekében, hogy az installált SAP rendszerek minél megbízhatóbban, minél
jobb teljesítményt nyújtva tudjanak működni, az üzemeltető személyzetnek az adott
rendszer típusától függő gyakorisággal bizonyos napi, heti, havi és eseti analíziseket
kell a rendszerben elvégezni. Ezek a rendszeres analízisek lehetővé teszik, hogy a
rendszerben bizonyos problémák kiteljesedése az időben történő beavatkozás
következtében megakadályozásra kerüljön. Ezt a vizsgálatot támogatja az SAP
Solution Manager rendszer, mely lehetővé teszi a központi rendszermonitorozást,
valamint az EWA (Early Watch Alert) riportok kezelését is.
Különösen a rendszer teljesítménye tekintetében előfordul azonban olyan eset,
amikor a rendszeresen végzett analízisek ellenére is drasztikus teljesítményromlás
következik be. Ebben az esetben a napi analízisek jelentősége fokozottabban
megnövekszik, mivel a hangolással járó paramétermódosítások rendszerre gyakorolt
hatását nagyon pontosan és precízen rögzíteni kell.
Az analízisek az alábbi főbb területekre bomlanak:
• Operációs rendszer és hálózat
• Adatbázis kezelő
• SAP rendszer
Az analíziseket a fenti területeknek megfelelő elemző lépéseket tartalmazó ellenőrző
listák alapján érdemes elkészíteni.
Célszerű ezeket az analíziseket elektronikus formában tárolni és egy megfelelő
elévülési időt figyelembe véve, ezeket törölni. Abban az esetben, ha az analízisekből
egy, a rendszer későbbi üzemeltetése számára tanulságos esettanulmányt lehet
összeállítani, akkor azt célszerű egy külön tároló helyen tartani és az elévülési időn
túl is megtartani.
Selmeci Attila Óbudai Egyetem
Alba Regia Műszaki Kar
194
SAP technológiai architektúra Általános adminisztráció
A mellékelt ábrán egy tipikus Transaction log feltelés látható. A hiba periodikusan ír a
rendszernaplóba. Több hiba esetén a hibákat csoportosítani kell, megoldásukhoz
ötlet hiányában az OSS használata ajánlott.
A rendszernaplót az SM21 tranzakció segítségével lehet a rendszerre globálisan,
vagy SAP instanciánként ellenőrizni. A rendszernaplót minden nap át kell vizsgálni. A
naplóban ellenőrizni kell minden warning és error típusú problémát. A
naplóbejegyzéseket az alábbi logikai csoportokba kell a fontosságuk szerint sorolni:
• Kritikus rendszerüzenetek
• ABAP dump-ok
• Egyéb hibaesemények
• Warning-ok
A program hibákat több dolog okozhatja: Program hiba, felhasználói hiba, rendszer
hiba.
A rendszer hibák memória, processzor, vagy diszk kapacitás hiánnyal, hibával állnak
kapcsolatban. Ezekre utaló nyomok felfedezhetőek a hiba részletes leírásában.
Y vagy Z névtartományba tartozó program hiba esetén fel kell venni a kapcsolatot a
program készítőjével, és felhívni a figyelmét az előforduló hibára.
Egyéb név tartományba eső program esetén a http://service.sap.com/notes címen
található OSS útmutatók között kell keresést végrehajtani. Miután kiderült, hogy a
program milyen modulhoz tartozik, fel kell venni a kapcsolatot az adott modul
felelősével, és szintén fel kell hívni a figyelmét, az előforduló hibára.
7.2.1 Auditálhatóság
Az adatbázis tábláiban van "minden" adat, ezeket sokféle szempontból
csoportosíthatnánk, a jelen fejezet témája okán most két részre különítjük el a
táblákat: a rendszertáblák, illetve az üzleti adatokat tartalmazó táblák.
Szinte minden esemény nyomot hagy a műveleti statisztikában, az adatbázis
naplótábláiban vagy a fájlrendszerben helyet foglaló naplófájlokban. A legegyszerűbb
eszköz nem más, mint a táblák nagy részében megtalálható "utolsó módosító",
"módosítás dátuma" típusú mezők, amelyekbe a működő folyamat során - akár
dialóg üzemben, akár háttérben - a többi mezőtartalommal egy időben belekerül a
megfelelő érték, és amely bármikor megtekinthető. Az "utolsó módosító" mezőbe a
7.2.2.1 Rendszernapló
Az SAP a rendszer alapvető működését befolyásoló eseményekről rendszernaplót
vezet. Létezik applikációs szerverenkénti és egy központi rendszernapló is. A
rendszernapló tartalmazza az esemény bekövetkezésének időpontját, a felhasználó
nevét, a tranzakció nevét, a hiba rövid megnevezését és az SAP szerviz processz
azonosítóját. A rendszernapló adatai operációs rendszer szintű fájlokban vannak
eltárolva. Az applikációs szerverek lokális rendszernaplói körpufferes szervezésűek.
A központi rendszernapló rendelkezik egy aktuális és egy „archive” rendszernapló
fájllal.
7.2.2.4 Statisztikák
Az SAP rendszere naplózza a rendszerben történő aktivitásokat tranzakciónkénti és
felhasználónkénti csoportosításban is. Ezeket az ún. Workload analízis segítségével
lehet elemezni.
7.2.2.5 Alkalmazásnapló
Az alkalmazásnapló rögzíti az alkalmazás végrehajtási folyamatát oly módon, hogy
azt később szükség esetén e napló alapján rekonstruálni lehessen. Amíg a
rendszernapló rögzíti a rendszer-eseményeket, addig az alkalmazásnapló rögzíti az
alkalmazásban bekövetkező eseményeket. A rendszer külön tranzakcióval
rendelkezik az alkalmazás eseményeinek a definiálására, illetve a rögzített
alkalmazásnapló megtekintésére.
adatbázis felhasználó neve és jelszava. Ezt ezen felhasználók elől elfedi a bázis-
rendszer adatbázis interfésze. Az SAP által használt adatbázis felhasználó és az
adatbázis adminisztrátor felhasználók jelszavának védelméről az adatbázis-kezelő
eszközeinek felhasználásával adminisztratív módon kell gondoskodni.
További védelmet jelent az adatbázis számára, ha távoli gépről nem engedjük meg a
közvetlen adatbázis kapcsolatot sem az adminisztrátoroknak, sem külső
rendszereknek. Az alkalmazás szerverek természetesen kivételek, azoknak
közvetlenül látni kell az adatbázis szerver, így e hosztokat explicite engedélyezni kell.
A SSF gyakorlatilag egy SAP funkció gyűjtemény melynek használatával nem csak a
standard de a rendszerben definiált saját dokumentumainkat, objektumainkat is
védhetjük, a jó pár standard módon támogatott SAP dokumentum mellet.
Az SSF nem maga hatja végre a digitális aláírást, hanem külső biztonsági könyvtár
szolgáltatásait veszi ehhez igénybe, és feltételezi, hogy a digitális aláírásokhoz a
megfelelő biztonsági infrastruktúra kiépítésre került, azaz pl. a felhasználók
rendelkeznek digitális aláírásra is alkalmas kliens tanúsítvánnyal
Az SSF az SNC-hez hasonlóan - olyan SAP által bevizsgált és elfogadott külső
biztonsági termékekkel képes együttműködni, amelyek megvalósítják a már emlitett
GSS-AP1 v2 sztenderd interfészt.
Az SAP rendszerek képesek kezelni a PKI alapú certifikátokat mind kliens, minde
szerver oldalon.
Az SAP elérése web alapú klienssel HTTPS (akár SOAP) protokollon keresztül
7.3.5.2 SAProuter
Az RFC (Remote Function Call) és DIAG (Dynamic Information and Action Gateway)
kapcsolatok esetén a SAProuter-t használjuk port és protokoll ellenőrzésre. Az
SAProuter egy alkalmazás szintű proxy, ami a tűzfalon beállított cím és port-
szűrésekkel hatékony védelmet biztosít a SAP szerver hálózatok számára, a nem
engedélyezett hozzáférésekkel szemben.