Hirdetés
 

A NetWeaver Development Infrastructure

PDF
Nyomtatás

jtm01.jpgAz előző részekben megismerkedhettünk a Java platformmal és az arra írt alkalmazások üzemeltetését lehetővé tevő környezet SAP megvalósításával. A cikksorozat ezen részében a fejlesztési oldalt mutatnám be az SAP NetWeaver Fejlesztői Infrastruktúra (Netweaver Development Infrastructure, NWDI) ismertetésén keresztül.

Az SAP Netweaver Development Infrastructure nevének megfelelően egy teljes körű támogatást nyújtó környezet, mely a fejlesztési folyamatok jelentős részét lefedi. Mindezeken túl zökkenőmentes integrációra képes a vállalati SAP környezettel az SAP System Landscape Directory-val történő együttműködésen keresztül.

NetWeaver Developer Studio

A fejlesztők leginkább a fejlesztőeszköz használata közben kerülhetnek kapcsolatba az SAP NWDI-al. Ez a fejlesztőeszköz az SAP NetWeaver Developer Studio, mely a széles körben ismert és kedvelt Eclipse fejlesztői platformon alapul. Ezen bevált alapokra helyezi az SAP saját fejlesztői környezetét, mely a következő területeken nyújt többletet:

  • Modellvezérelt fejlesztőeszközök a legkülönbözőfélébb fejlesztési feladatok (üzleti logika, felhasználói felület vagy üzleti folyamatok) lefedésére.
  • Komponensalapú fejlesztés lehetővé tétele
  • Forráskód verziókezelés és központilag menedzselt fordítás.
  • Fejlesztési folyamatok menedzselhetősége. 

Komponensalapú fejlesztés

jtm02.jpgAz SAP NWDI a következő fogalmakat vezeti be a komponensalapú fejlesztés támogatása érdekében:

Szoftverkomponens (Software Component, SC)
Egy szoftverkomponens az SAP NWDI definíciója szerint egy feladatkört megvalósító szoftver egység, mely meghatározott szolgáltatásokat nyújt, illetve vesz igénybe. Ez utóbbi következményeképp függhet más szoftverkomponensektől, mely függőségek végül a szoftverkomponensek közötti hierarchikus függőségek nyilvántartását követeli meg. Mindezen túl az SAP NWDI komponens modelljében az SC a legkisebb egység, mely egy adott futtatási környezetre telepíthető (de ez a szabály, mint azt majd a fejlesztési komponenseknél is látni fogjuk, áthágható)

Fejlesztési komponens (Development Component, DC)
A fejlesztési komponensek a szoftverkomponenseknél kisebb egységek, melyek a szoftverkomponensen belül külön fejleszthető, logikailag összetartozó részek elkülönítését szolgálják. Ennek ellenére a fejlesztői komponensek is definiálnak függőségeket más fejlesztői komponensekre, és a gyakorlatban az őket magukba foglaló szoftverkomponensektől függetlenül is üzembe helyezhetőek a futtatási környezetben.

Fejlesztői konfigurációk

Az SAP NWDI-ban azonban nem a szoftverkomponensek a legmagasabb szintű logikai egységek. A fejlesztési folyamatok támogatásához, és az eltérő szoftververziók kezeléséhez az SAP NWDI bevezeti a fejlesztői konfigurációk(Development Configurations) és a track-ek fogalmát.

jtm03.jpg

Hierarchiába rendezett track-ek

A fejlesztői konfigurációk meghatározzák, hogy egy adott fejlesztésen belül milyen szoftverkomponensek érhetőek el, kik jogosultak abban fejleszteni, és még sok egyebet, mely beállítások lehetővé teszik, hogy a fejlesztések szabályozottan történjenek.
Egy track több fejlesztői konfigurációt tartalmazhat annak érdekében, hogy az adott fejlesztésen belül szükséges folyamatok támogathatóak legyenek. Ennek megfelelően egy track-hez hozzárendelhető egy fejlesztői, egy konszolidációs, egy teszt és egy éles futtatási környezet is. Mindezeken felül az eltérő szoftverek fejlesztéséhez, vagy ugyanazon alkalmazás különböző verzióinak fejlesztéséhez is külön track-ek hozhatóak létre.

Forráskód menedzsment

A fenti modellben a fejlesztések során létrejövő állományok tárolására az SAP NWDI a DTR (Design Time Repository) eszközt kínálja, mely egy olyan verziókezelő eszköz, amely együtt képes működni az SAP NWDI komponens modelljével (így például ismeri a track-ek fogalmát).

Központi fordítás

Csapatmunkában történő fejlesztések során gyakran okoz problémát, hogy a fejlesztett alkalmazás mindig létrehozható legyen forrásállományaiból, más szóval hogy a forráskód mindig konzisztens és lefordítható legyen. Az SAP ennek a problémának a feloldására építette Component Build Service-t (CBS) az NWDI-ba. A CBS lehetővé teszi, hogy a forráskód változtatása (check-in) után egy központilag menedzselt fordítási folyamat történjen. Minden fejlesztői konfiguráció ebből a célból kétfele van osztva: aktív és inaktív részre. Az inaktív részben nincs garancia a forráskód konzisztenciájára illetve lefordíthatóságára - ide kerülnek az új változtatások. Amennyiben az új változtatások után a forráskód lefordítható, úgy a változtatások átkerülnek az aktív részbe. Így garantált, hogy az aktív rész mindig fordítható marad.

SAP NWDI Menedzsment

Ezen összetett rendszer beállítását az NWDI web alapú menedzsment interfésze teszi lehetővé. Itt hozhatóak létre, illetve állíthatóak be állíthatóak be a különböző NWDI elemek, mint a track-ek és a fejlesztői konfigurációk.

jtm04.jpg

Itt lehetséges a különböző track-ek között forráskódokat, vagy lefordított programkönyvtárakat mozgatni, jogosultságokat adni és elvenni, illetve a fejlesztéseket a legapróbb lépésekig ellenőrizni. Az SAP NDWI-ban a komponensek elnevezését is egy közös névtérben tartják nyilván - ennek adminisztrációja is itt lehetséges.

Összegzés

Az SAP NWDI egy a fejlesztési folyamatok széles spektrumát támogató eszköz, mely nagyvállalati környezetben a gyakorlatban is bizonyított - az SAP belső fejlesztéseinek túlnyomó része is ezen az eszközön alapszik. Segítségével lehetővé válik nagyfokú bonyolultsággal bíró fejlesztések áttekintése és kézben tartása úgy, hogy mindeközben a fejlesztők számára mindez nem jelent bosszúsággal teli új feladatokat.

 

A szerző, Faludi Gábor 2005 óta az SAP munkatársa. Jelenleg az SAP Labs keretein belül Enterprise SOA és Java alapú kompozit alkalmazások létrehozására irányuló projektekben Architektként tevékenykedik.
Főbb szakterületei: Enterprise Services Oriented Architecture, Java, Kompozit alkalmazások, Üzleti folyamat modellezés, Szoftverbiztonság.

További cikkek a szerzőtől


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