Bevezetés az SAP világába
Zolnai László
[email protected] http://zolnai.web.elte.hu/bev_sap.html
3. SAP architektúra ELTE SAP Excellence Center Oktatóanyag
ELTE SAP Excellence Center Oktatóanyag
1
Tartalom
Rendszer felépítése Tranzakciók mőködésének vázlata SAP bevezetésének menete
ELTE SAP Excellence Center Oktatóanyag
ELTE SAP Excellence Center Oktatóanyag
2
2
SAP architektúrája
Prezentációs réteg
Alkalmazási réteg
Adatbázis réteg
ELTE SAP Excellence Center Oktatóanyag
3
A 3 rétegő tagolás célja a skálázhatóság. Üzleti környezetben hatalmas adatmennyiség, több terra-byte kerül tárolásra és átdolgozásra napról napra. Nincs az a gép ami ez egymaga elvégezné ezért egy nagy elınye az SAP-nak a korlátlan számú applikációs szerver használata mely így tetszılegesen skálázhatóvá teszi a rendszert. A prezentációs réteg az interfész a felhasználók felé, ez felelıs mindenféle megjelenítésért. Fogadja a felhasználók, a Ti inputjaitokat, amik billentyőzések és egerezések jelenesetben, ezt továbbítja az applikációs szervernek. Megjeleníti az összeállított adatokat és képernyıket. Az üzleti környezetben legelterjedtebb képernyıfajtákat, SAP környezeten Dynpro-nak hívjuk. A kernel és a bázis modulok alkotják (Alkalmazási szint) azt a résztét az applikációs szervernek, amelyek mind az adatbázis mind a prezentációs réteget érintik és beszélgetnek velük. Ezek felelısek a felhasználók kezelésért, a munkafolyamatok kezelésért, más rendszerekkel való összeköttetéseket intézik, mindamellet, rendszer adminisztrációs folyamatokat is futtatnak. A kernel-ben futnak azok a folyamatok, vagy más néven virtual machine-ek amelyek értelmezik a byte kódot, ezáltal platform függetlenné téve a rendszert. Ha lehet ezt így folytatni, akkor ez az applikációs szerver a rendszer szíve. Ez mozgatja az egészet vagyis hajtja végre a programokat. Aplikációs szerverbıl korlátlan számú lehet, közöttük a Diszpécser osztja szét a feladatokat. Az adatbázis réteg a rendszer lelke. Minden itt tárolódik. Törzsadatok, mozgásadagok, a programunk kódjai, a használt képernyıink és még maga az fejlesztı környezet is.
ELTE SAP Excellence Center Oktatóanyag
3
Alkalmazási réteg Az SAP operációsrendszer független, ezért kell egy „bázis réteg” Mit biztosít ez az applikációs szint? -
kliens/szerver felépítést adatbázis adminisztrációs eszközöket rendszer felügyeleti eszközöket nyomtatási rendszert jogosultságkezelést skálázhatóság
A WAS által támogatott szabványok - Unicode - HTTP, HTTPS, SMTP, WebDAV, SOAP, SSL, HTML, XML, WML, WSDL, stb. -> webalapú alkalmazások
ELTE SAP Excellence Center Oktatóanyag
4
Régebben: R/3 Basis (bázis, kernel) Újabban: Web Application Server (NetWeawer) Skálázhatóság: Horizontális bıvíthetıség. Bármikor beállítható a sorba egy újabb alkalmazás szerver.
ELTE SAP Excellence Center Oktatóanyag
4
Az R/3-szoftver kliens/szerver architektúrája Réteg
3-szintő Prezentációs Prezentációs szolgáltatások szolgáltatások
Többszintő kliens/szerver architektúra WebWebböngészı böngészı
Prezentáció
WebWebszerver szerver Internet Internet Transaction Transaction Server Server
Internet
Felhasználói dialógus Grafikus információfeldolgozás
Internet-hozzáférés kezelése R/3 – Internet – tranzakciók feldolgozása
Alkalmazási Alkalmazási szolgáltatások szolgáltatások
Alkalmazási logikák feldolgozása Rendszerfelügyelet Tranzakciók felügyelete
Adatbázis Adatbázis szolgáltatások szolgáltatások
Információk tárolása Adatbázis-backup
Alkalmazás
Adatbázis ELTE SAP Excellence Center Oktatóanyag
5
SAP Web Application Server: -Prezentációs réteg: JSP, BSP, Web Dynpro -Connectivity réteg: HTTP, HTTPS, SOAP, SSL, SMTP FastCGI -Aplikációs réteg: ABAP, J2EE, .NET -Adatbázis réteg: Open SQL, JDBC
ELTE SAP Excellence Center Oktatóanyag
5
SAP-dispatcher
A
tranzakciókat felügyelı eszköz Vezérli a tranzakciók közötti kommunikációt Felügyeli a más alkalmazásokkal történı adatcserét Megosztja a terhelést a munkafolyamatok (processzek) között Biztosítja az adatok konzisztenciáját
ELTE SAP Excellence Center Oktatóanyag
6
Diszpécser, forgalomirányító Párhuzamos adatlekérdezések kezelése. Cache koherencia kezelés nem itt, hanem adatbázis szinten történik!
ELTE SAP Excellence Center Oktatóanyag
6
A diszpécser mőködése
Megjelenítési réteg SAPGUI
SAPGUI
SAPGUI
SAPGUI
Alkalmazási réteg Dispatche r
Queue
Buffer Work process
Work process
Work process
Adatbázis réteg Adatbázis processz
Adatbázis processz
Adatbázis processz
ELTE SAP Excellence Center Oktatóanyag
7
A kérés feldolgozásának menete: 1. Egy speciális protokollon (DIAG) eljut a kérés a diszpécserig 2. A diszpécser a kérést egy várakozósorba teszi, és szétosztja a feladatokat a munkafolyamatok között 3. A munkafolyamat értelmezi, és végrehajt 1 dialóguslépést, majd visszateszi a várakozósorba (+ ha van, akkor átadja a diszpécsernek a kért kisegítı feldolgozás azonosítóját , pl. UPD vagy SPOOL) 4. A diszpécser a feldolgozott lépés eredményét megjelenítésre továbbítja 5. A SAP GUI értelmezi a kapott adatokat, és feltölti a képernyıt
ELTE SAP Excellence Center Oktatóanyag
7
OpenSQL
ELTE SAP Excellence Center Oktatóanyag
ELTE SAP Excellence Center Oktatóanyag
8
8
A tranzakciók mőködési elve
Egy tranzakció összefüggı (dialogus)lépések (képernyıképek) sorozata Dynpro - dinamikus program Visszagörgethetı
100
110
200
120
TR kód
Két fázis ▪ Interaktív ▪ Frissítési
300
ELTE SAP Excellence Center Oktatóanyag
9
Dynpro - Minden lépés egy képernyıképbıl és a hozzá tartozó „logikából”, eseményekbıl áll. A dynpróknak van egy úgynevezett dynpro processor nevő munkafolyamata ami kezeli ıket. Ennek eredménye, hogy a képernyık futása elıtt és után mielıtt feldolgozná ıket az adott munkafolyamat lehet még egy kis programozást beszúrni. Ezek a PAI (process after input) és a PBO (process before output) modulok. Itt ABAP kódok kerülnek futtatásra. A tranzakciók általában 2 fázisból állnak: interaktív - adatok elıkészítése melyekkel késıbb a adatbázist frissítjük frissítési - adatok feldolgozása, rekordok átvitele az adatbázisba ha szükséges
ELTE SAP Excellence Center Oktatóanyag
9
A munkafolyamat (processz)
Állandóan futó program, mely különbözı feladatokat lát el. Fıbb részei: ▪ ▪ ▪ ▪
Feladatkezelı ABAP - processzor Dialógus értelmezı Adatbázis interfész
ELTE SAP Excellence Center Oktatóanyag
10
A munkafolyamatok egymás utáni dialóguslépéseket hajtanak végre, egy képernyı feldolgozása vagy megjelenítése során. A munkafolyamatok száma a várható konkurens felhasználók száma szerint definiálható. Ha nincs szabad munkafolyamat, akkor a felhasználóknak várakozniuk kell. Sok felhasználó esetén érdemes több alkalmazásszervert beállítani. A feladatkezelı, mint neve is mutatja a felhasználói környezet betöltésért és kiürítését vezérli, illetve az egyes dialóguslépések elindítását és befejezését. Az ABAP processzor feladata az ABAP programok végrehajtása. Dialógus értelmezı a képernyık logikájának a végrehajtásáért felelıs (PBO, PAI). Az adatbázis interfész teremti meg a kapcsolatot a háttérben meghúzódó adatbázissal, rajta keresztül történik meg az adatáramlás
ELTE SAP Excellence Center Oktatóanyag
10
Legfontosabb munkafolyamatok
Dialog (párbeszéd munkafolyamat) Batch (háttérben futó munkafolyamat) Spool (nyomtatási munkafolyamat) Update (frissítési munkafolyamat) Enque (sorkezelı, zárolási munkafolyamat)
ELTE SAP Excellence Center Oktatóanyag
11
Dialógus munkafolyamat: Feladatok interaktív végzése (leggyakoribb processz). Futási ideje biztonsági és erıforrás kímélı okból korlátozott (beállítható). A felhasználói input után a diszpécser kiossza a szabad munkafolyamatoknak a feladatokat, az erıforrások terheltségétıl függıen. Háttér munkafolyamat: Ezeket azoknál a programoknál használják fıleg, ahol valamilyen feladat elvégzése hosszú idıbe telik, így nem valósítható meg valós idıben. Nincs interaktivitás, a kliens kikapcsolható. Ezért kötegelt job-ok segítségével, a feladatok a rendszer holtidejében a háttérben lesznek lefutatva. A job-ok egy vagy több végrehajtható lépésbıl állnak, ami lehet egy ABAP program vagy egy külsı alkalmazás. A job-ok kötegekbe rendezhetık, amihez létezik egy kötegütemezı, mely a job-ok meghatározott idıben történı elindításáért felelıs. Spool munkafolyamat: Feladata az adatok nyomtatásának a kezelése, ı végzi a nyomtatás elıtti formázást és az adatok továbbküldését a hosztspoolrendszernek. Frissítési munkafolyamat: Ez a munkafolyamat az adatbázisok változásainak végrehajtása a háttér- és dialógus-munkafolyamatok igényei szerint. Adatok mentése utólag, késleltetve is lehetséges, ez hasznos a terhelés megosztás szempontjából. Két prioritási szint: U1: adatok mentése, egy LUW U2: statisztikák frissítése, több LUW Zárolási munkafolyamat: Az adatbázis zárolás fı feladata az alkalmazásszerver biztonságos mőködtetése, több szerver mőködésének az összehangolása, adatbázis-elérés szinkronizálása és az adat konzisztencia megırzése. A munkafolyamat feladata az, hogy megakadályozza azt, hogy a különbözı alkalmazások gátolják egymás adatelérését.
ELTE SAP Excellence Center Oktatóanyag
11
Processzáttekintés – SM50
ELTE SAP Excellence Center Oktatóanyag
ELTE SAP Excellence Center Oktatóanyag
12
12
LUW – Logikai munkaegység
ELTE SAP Excellence Center Oktatóanyag
13
Logical Unit of Work - Tranzakción belüli dialógus lépések halmaza. Ezen lépéseknek helyesen végre kell hajtódniuk ahhoz, hogy a tranzakció tovább futhasson. Lényegében paraméteres szemaforok, bármire használhatók. Ha hiba áll be, az aktuális LUW érvénytelen lesz de az elıtte lévık nem. - Egy adatbázis tranzakció (DB LUW) az az idıszakasz, amely alatt a kért mőveleteke egy egységként kell végrehajtani. - A frissítési tranzakció (SAP LUW) összes DB LUW-t tartalmazza a COMMIT WORK utasításig. Fontos, hogy az adatokat csak a végén mentsük, amikor már biztos, hogy ez egy DB LUW-ban megtehetı. Ne mentsünk részleges adatokat elıtte! A zárak a teljes üzleti tranzakciót öleljék át, csak a mentés után engedjük el ıket (ld.: X típusú lock). Általában a DB LUW-t kezeli az adatbázis szerver, de nagyobb üzleti folyamatok esetén saját LUW-t kell mőködtetni. Ehhez saját zárolás is kell, amit a Lock Manager kezel (ld.: zárolási munkafolyamat).
ELTE SAP Excellence Center Oktatóanyag
13
Lock-ok fajtái
(S) Megosztott több felhasználó elérheti, de csak olvasásra
(E) Kizáró párhuzamos módosítás elkerülésére
(X) Kizáró, de nem halmozódó feloldó függvénnyel érhetı el újra
ELTE SAP Excellence Center Oktatóanyag
14
S – Több felhasználó érheti el az adatot de csakis olvasásra. Amint az egyik módosít, a több már nem tudja elérni. E – Csak egy felhasználó láthatja és módosíthatja. X – Ez a zár csak egyszer helyezhetı el, és automatikusan készül hozzá egy feloldó függvény is. Ha hiba keletkezik lefutás közben a feloldó fv a végén nem oldja föl a folyamat elején kialakított zárolás. Külsıleg kell az adminisztrátornak feloldani manuálisan a zárolást.
ELTE SAP Excellence Center Oktatóanyag
14
Nyomtatás
Elıször úgynevezett spool-ba nyomtat (virtuálisan), innen a beállított ideig bármikor kinyomtatható Tetszıleges nyomtató használható (vagy a windows alapnyomtatóját használja, vagy a rendszerben definiált nyomtatókat)
ELTE SAP Excellence Center Oktatóanyag
ELTE SAP Excellence Center Oktatóanyag
15
15
Tanácsadó élete
ELTE SAP Excellence Center Oktatóanyag
ELTE SAP Excellence Center Oktatóanyag
16
16
Az SAP bevezetése (célok)
Lehetséges célok ▪ Költségek minimalizálása ▪ Humán erıforrás gazdaságos kihasználása ▪ Hatékony döntési helyzet kialakítása ▪ Magasabb szintő gazdálkodási kultúra kialakítása ▪ Naprakész információk Szükséges ▪ Racionálisabb gondolkodás ▪ Alkalmazkodás az új helyzethez ▪ Továbbképzés és önképzés ▪ Gazdasági folyamatok megfelelı ésszerősítése
ELTE SAP Excellence Center Oktatóanyag
17
SAP project bevezetésének átlagos összege 15 millió USD! (63 megkérdett cég, 400.000 – 300 millió USD összegő project kifizetésekbıl) Bevezetés idıtartama: 1-3 év Standard SAP megoldások használata javasolt (több évtizedes tanácsadói tapasztalatok)!
ELTE SAP Excellence Center Oktatóanyag
17
Kiválasztás szempontjai az ELTE-n
Rendszer alkalmassága Informatikai infrastruktúra korszerősége Bevezetés, oktatás költségei Szoftver licencek és szoftver követés költségei Egyéb kedvezmények Stabil hátterő ERP rendszer legyen referenciák Magyar szabályozási környezetnek megfelelıen tudjon mőködni Az egyetem költségvetési intézmény pénzfogalmi szemlélető ~ 4000 közalkalmazott dolgozó ~ 5000 megbízásos dolgozó ~ 34000 hallgató ~ 400 felhasználó
nagy rendszer szükséges ELTE SAP Excellence Center Oktatóanyag
ELTE SAP Excellence Center Oktatóanyag
18
18
Együttmőködés
Csak a felhasználók és a tanácsadók együttmőködésével lehet a feladatot sikeresen elvégezni A felsı vezetésnek el kell érnie, hogy a rendszerrel érintett szervezetek valamennyi tagja (vezetı és beosztott) együttmőködjön a projekttagokkal akkor is, ha nincsenek a projektbe bevonva A projekttagok, felhasználók általában a tevékenység 6070%-t kell elvégezzék Kulcsrakész megoldást csak a szokásos ár 3-6-szorosával lehetne elıállítani, de ekkor is kérdésessé válna a felhasználó képessége a mőködtetésre. Ennek elvárása tehát irreális
ELTE SAP Excellence Center Oktatóanyag
19
Megvalósítandó elemek Kockázat elemzés és minimalizálás Kipróbált módszerek alkalmazása Program és projekt menedzsment Elkötelezett vezetés Változáskezelés Minıségbiztosítás Infrastruktúra biztosítás Kommunikáció Rejtett költségek: Oktatás, integráció, tesztelés, tanácsadás Kulcsra kész megoldás esetén nincsenek helyi fejlesztık, ezért SAP-hoz kell fordulni ha el akarnak térni a sztenderdtıl. Hosszú távon drágább lehet.
ELTE SAP Excellence Center Oktatóanyag
19
ASAP bevezetési módszertan
1. 2. 3. 4. 5.
Elıkészítés (Project Preparation) Koncepciótervezés (Business Blueprint) Megvalósítás (Realization) Teszt, elıkészítés éles üzemre (Final Preparation) Éles üzem, támogatás (Go Live! And support)
ELTE SAP Excellence Center Oktatóanyag
20
1. Projekt céljai, határai. Biztosítani kell a hatékony döntéshozatal és konfliktus feloldás folyamatát. Kérdıívezések. 2. Implementáció definiálása sablonok, kérdıívek, tanácsadói tapasztalatok bevonásával. Infrastruktúra tervezés. 3. SAP testreszabása (Customizing), belsı fejlesztések megkezdése (őrlapok, riportok). Projekt csapat tréningeken vesz részt. Interfész fejlesztés. 4. Implementáció ellenırzése (funkcionális, terheléses), valós üzem szimulálása, végfelhasználói tréningek, migráció, interfész programok optimalizálása. Helpdesk felállítása a végfelhasználóknak. 5. Felmerülı problémák: Jogosultsági gondok, erıforrás gondok, új felhasználok felvétele. Gyorsfrissítések, javítások.
ELTE SAP Excellence Center Oktatóanyag
20
SAP Bevezetés folyamat az ELTE-n
2004 2005 Júl Aug Szept Okt Nov Dec Jan Febr Márc Ápr Máj Projektszervezet kialakítása Oktatások Tesztrendszer installálása ELTE folyamatainak felmérése Törzsadatok elıkészítése Törzsadatok migrálása Fejlesztések, paraméterezés Tesztelés Éles indulás
ELTE SAP Excellence Center Oktatóanyag
ELTE SAP Excellence Center Oktatóanyag
21
21
SAP életciklus
Teszt
Produktív indulás
EarlyWatch
Installálás
Adat import
Adatok visszatöltése Új felhasználó
szerviz
SAP R/3 upgrade
ELTE SAP Excellence Center Oktatóanyag
ELTE SAP Excellence Center Oktatóanyag
Új SAP alkalmazás
22
22
SAP Support szolgáltatások
1. 2. 3. 4.
Tanácsadó szolgálat Karbantartási szolgálat Helpdesk Megelızı megoldás
ELTE SAP Excellence Center Oktatóanyag
23
1. Tanácsadó szolgálat Egyén konzultációval helyben vagy távkapcsolattal Hétvégi szolgálat is – akár telepítés, frissítés Ügyfél nyílttá teszi a kapcsolatot, így online vizsgálat, majd lezárja 2. Karbantartási szolgálat Implementáció elıkészítése és elkészítése során nyújtott támogatás Kérdések megválaszolása, rendszerhibák, problémák megoldása 3. Helpdesk Figyeli a hívásokat Megoldja a problémákat, továbbítja szakértıknek Elsı szintő ügyfélszolgálati csoport Hívás sürgıssége szerint sorbarendezve Világszintő szolgáltatás telefonon, faxon, Service Marketplase, vagy SAPnet R/3 felületén keresztül Service Marketplase – támogatási szerver Walldorfban, Foster Cityben, Tokióban, Sydney-ben, Szingabúrban Távoli kapcs. A sap-hoz SNC protokoll és digitális aláírás segítségével 4. Megelızı megoldás Havi egyszer: Ellenırzik a teljesítményt Elemzik a rendszert Azonosítják a lehetséges hibaforrásokat Adminisztrátorokat segítik a rendszer beállításában Az elemzést visszaküldik, ajánlatot adnak a problémák megoldására
ELTE SAP Excellence Center Oktatóanyag
23
Egy verzió életciklusa
Napjainkban ún. 5-2-1 támogatási ciklusokat terveznek Az évenkénti support díj a licensz ár 22%-a ▪ Normál támogatás (5 év, 22% ) ▪ Kiterjesztett támogatás (+2 év, +2%) ▪ „További” támogatás (+1 év, +4%) Bevezetési szakasz (Ramp-up)
ELTE SAP Excellence Center Oktatóanyag
24
Ramp-Up: Új verzió bevezetése esetén néhány partnernek van lehetısége ún. Béta tesztelésre, ami így olcsóbb bevezetést is jelent.
ELTE SAP Excellence Center Oktatóanyag
24
Támogatás
A támogatás formái Solution Manager Support Package-ek (SP Stack-ek) Újabb verziók (upgrade)
ELTE SAP Excellence Center Oktatóanyag
25
A támogatás formái: A rendszer lokalizált (jogszabály követés) Részben magyarított Hazai támogatás (on-line; SAP Magyarország) Hozzáférés az SAP tudásbázisához Hiba bejelentések és megoldások (programhibánál) A legújabb változatok lemezei Standard oktatási lehetıségek (fizetıs) Solution Manager - Frissítés figyelı, kezelı program. Kötelezıvé tették a használatát, patchelni már csak ezen keresztül lehetséges. Az elıtt egyenként letöltve, Stack: Több patch egy csomagban (5-10). Érdemesebb ezekkel dolgozni, mint szeparált patchekkel. Nem kommulativak, azaz nem hagyható ki köztes „szint”! Upgrade: Teljes verzió váltás. 4.7 -> 6.0
ELTE SAP Excellence Center Oktatóanyag
25
SAP expects the Spanish Inquisition
Köszönöm a figyelmet!
Zolnai László
[email protected] ELTE SAP Excellence Center Oktatóanyag
ELTE SAP Excellence Center Oktatóanyag
26
26