Bevezetés az SAP világába Zolnai László zolnai@elte.hu 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 2 ELTE SAP Excellence Center Oktatóanyag 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ő Többszintő kliens/szerver architektúra Prezentáció Prezentációs szolgáltatások Webböngészı Felhasználói dialógus Grafikus információfeldolgozás Internet Webszerver Internet Transaction Server Internet-hozzáférés kezelése R/3 Internet tranzakciók feldolgozása Alkalmazás Alkalmazási szolgáltatások Alkalmazási logikák feldolgozása Rendszerfelügyelet Tranzakciók felügyelete Adatbázis Adatbázis szolgáltatások Információk tárolása Adatbázis-backup 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 8 ELTE SAP Excellence Center Oktatóanyag 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ı TR kód 100 110 Két fázis Interaktív Frissítési 200 120 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 12 ELTE SAP Excellence Center Oktatóanyag 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 15 ELTE SAP Excellence Center Oktatóanyag 15
Tanácsadó élete ELTE SAP Excellence Center Oktatóanyag 16 ELTE SAP Excellence Center Oktatóanyag 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 18 ELTE SAP Excellence Center Oktatóanyag 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 60-70%-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. Elıkészítés (Project Preparation) 2. Koncepciótervezés (Business Blueprint) 3. Megvalósítás (Realization) 4. Teszt, elıkészítés éles üzemre (Final Preparation) 5. É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 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 2004 2005 Júl Aug Szept Okt Nov Dec Jan Febr Márc Ápr Máj ELTE SAP Excellence Center Oktatóanyag 21 ELTE SAP Excellence Center Oktatóanyag 21
SAP életciklus Teszt Produktív indulás Adatok visszatöltése Új felhasználó EarlyWatch szerviz Installálás Adat import SAP R/3 upgrade Új SAP alkalmazás ELTE SAP Excellence Center Oktatóanyag 22 ELTE SAP Excellence Center Oktatóanyag 22
SAP Support szolgáltatások 1. Tanácsadó szolgálat 2. Karbantartási szolgálat 3. Helpdesk 4. 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ó zolnai@elte.hu ELTE SAP Excellence Center Oktatóanyag 26 ELTE SAP Excellence Center Oktatóanyag 26