Java kód generálás és modell karbantartás Enterprise Architect és J2EE között
Bevezető
Az MDD (Model Driven Development) egy olyan szoftver fejlesztési módszer, mely során az üzleti logikai modellezéskor (követelmény és analízis modellezés, mely magában foglalja a statikus „domén” modellt, a használati eset- és folyamat modellt, valamint a képernyőterveket) elkészített konceptuális elemeket megvalósítási elemekre képezünk le a szoftver tervezése során, majd ezekből az elemekből transzformációk segítségével forráskódot nyerünk ki.
A vállalatnál szoftver üzleti modelljét Enterprise Architect (EA) segítségével, UML-lel leírva készítik el a rendszerszervezők. Ezt, dokumentumba kigenerált specifikáció alapján, Enterprise Java (J2EE) technológiában valósítják meg a fejlesztők. A kettő közötti formális kapcsolat hiánya sok problémát, nehézséget szül a mindennapi feladatok során. Annak ellenére, hogy az EA egy igen elterjedt modellezési eszköz, olyan kódgenerátor nem tartozik hozzá (vagy bővítményként nem beszerezhető), ami lényegesen megkönnyítené a fizikai megvalósítás tervezésének folyamatát J2EE környezethez az üzleti logikai modellből. Ezen, univerzálisnak tűnő igény határozza meg a feladatot.
Fontos lenne egy jelölésrendszer (metamodell) meghatározására, amely segítségével elkészíthető a fizikai megvalósítás szkeletonja/modellje.
Szükség lenne ennek kóddá való generálására, olyan módon, hogy az bővíthető legyen a kódba kézzel beleírva, valamint akár az EA-ban a modellt módosítva is. Ehhez kapcsolódik egy további igény is, hogy a kódban végzett, EA-ban tárolt modellt érintő módosításokat egyszerűen „vissza lehessen generálni”, ezáltal két irányú „generálást” megvalósítva.
Az MDD fejleszetési folyamatba való integrálásának számos előnye lenne, ezek közül néhány:
szakmai nyelvű kommunikáció : a szervezők, és fejlesztők közötti kommunikáció ábrákon, és szabványokon keresztül történik,
többrétegű architektúra támogatás : a többrétegű architektúra során tapasztalt réteg kódolás (plumbing) nagy mértékben lecsökkenthető a kódgenerálásnak hála, a fejlesztő az üzleti logikára koncentrálhat,
minőségbiztosított architektúra: az MDD során használt tervezési minták, a formailag ellenőrzött modell kimenetek, valamint a generált kódok garantálják, hogy a szoftverfejlesztés, és minőség kézben tartható.
A vállalatnál a feladat első felére, az EA -> J2EE irány megvalósítására már történt egy próbálkozás, azonban ez igen sok kötöttséget rótt a fejlesztőkre, így nem bizonyult jól használhatónak.
A feladat
Az önálló labor és diplomamunka feladat a következő elemekből tevődne össze:
A korábban megvalósított kódgenerálás hibáinak és pozitívumainak felmérése, így az új generálás felé támasztott követelmények összegyűjtése különös tekintettel a vállalatnál használt megoldások modellezhetőségére és ennek java kóddá generálására.
Az EA -> J2EE kódgenerálás megvalósítása.
A 2. pont bővítése az J2EE -> EA irány megvalósításával.
Az önálló labor részének az 1-es és 2-es pontot, a diplomamunka részének a 3. pontot tervezzük.