- fejlesztés támogató alkalmazáscsomag,
- kiegészítések a javasolt alkalmazásokhoz.
Alkalmazáscsomagunkat a tapasztalataink szerint legmegbízhatóbban és legjobb hatékonysággal működő komponensekből állítottuk össze, a kapcsolódó módszertan pedig a tervezéstől a kiadásig nyújt gyakorlati támogatást az alkalmazások optimális felhasználásához.
A kialakított megoldás referenciaarchitektúráját az alábbi ábra szemlélteti:

Nagyításhoz, kérjük, kattintson a képre.
A kialakított referencia-architektúra a komponensekhez javasolt implementációt adja, míg a saját kiegészítések lehetővé teszik e komponensek még hatékonyabb illesztését a kidolgozott fejlesztési módszertanhoz. A módszertan rögzíti a fejlesztésben résztvevők lehetséges szerepköreit, felelősségi körüket, valamint elvárt tudásuk szintjét. Javaslatot tesz a kiosztott szerepkörök alapján, a projekttagok munkamódszerére, illetve a teljes fejlesztési folyamatra is. Az így létrejött fejlesztési keret az alábbi előnyöket biztosítja:
- A tervezés és a fejlesztés szoros kapcsolata
A tapasztalatok azt mutatják, hogy jelentős problémát okoz az alkalmazás tervezésének és a megoldás implementációjának elcsúszása. A fejlesztési fázisban a készülő alkalmazás olyan technológiákat/megoldásokat tartalmazhat, amelyek nem megbízhatóak és nélkülözik a megismert legjobb gyakorlatokat. A probléma feloldására egy MDA-alapú (modell-vezérelt architektúra - model-driven architecture) megközelítést alkalmazunk, mely nem csak a legjobb gyakorlatok meglétét garantálja, hanem technikai keretet is nyújt a készítendő alkalmazások számára. Mindezt a tervezés során kialakított modellből állítja elő, ami garantálja az alapvető strukturális, felépítésbeli igényességet.
Az MDA további előnye, hogy lehetővé teszi a rendszer különböző absztrakciós modelljeinek egységes kezelését, valamint segítségével az absztrakciós szintek könnyen átjárhatóak lesznek. Az MDA lehetővé teszi a feladat hatékony dekompozícióját, vagyis több részre bontását és elemzését is. Az UML-modelből egy androMDA elnevezésű MDA-implementációval generáljuk a modellezett elemek vázait vagy bizonyos esetekben annak egészét. Saját kiegészítésekkel generálhatunk JPA-entitásokat, EJB 3-as elemeket, Web Service-eket de akár POJO-kat vagy standard Exception-öket, Nem csak atomi elemeket hozhatunk létre, léteznek template-k különböző tervezési mintákra, legjobb gyakorlatokra is.
A megoldásban rögzített módszertan teljes kiépítésével kódminőségi elvárások is érvényre juttathatók. A projekttagok tudásszintjéből adódó eltérések kimutathatók és kiegyenlíthetők, így a módszer használatával garantálható, hogy az elkészített kódok mind formailag, mind tartalmilag megfelelnek a cég által kialakított elvárásoknak. Az elkészített kódok vizsgálatát formailag a Checkstyle, tartalmilag pedig PMD-eszközökkel vizsgáljuk, míg az egész rendszer felépítésének mutatóit a JDepend eszközzel tesszük láthatóvá. Mindez a Continuous Integration szerver összevont dashboardján lesz elérhető. A folyamatos integrációval, a változásfigyeléssel a problémák időben előtérbe kerülnek.
- Validálható használati eszközkészlet
Fontos szempont a fejlesztések során, hogy ne kerüljön olyan külső függőség a készülő alkalmazásba, amely később akár minőségi, akár jogi akadályok miatt a szállítandó alkalmazást tönkreteszi. Igény tehát, hogy az elkészítendő alkalmazásainkba csak olyan validált, minőségileg elfogadott eszköz kerüljön, amit a cég jóváhagy. Az architektúrában szereplő Artifact Repository, illetve a módszertanban meghatározott használat a garancia az elvárás teljesülésére. Az Artifact Repository ezen túlmenően biztosítja, hogy egyazon problémára a teljes cég ugyanazt a komponenst használja, így biztosítja az elemek újrafelhasználását, valamint az egységes környezet kialakítását. A fordítás során tehát a fordítóeszköz (Maven) csak olyan függőségeket képes feloldani, amelyek megtalálhatók a cég repositoryjában.
- Hitelesíthető átadási folyamat:
Az átadási folyamat rögzítése, megismételhetősége, a verziók kezelése alapvető elvárás az alkalmazásfejlesztés során. Ennek kialakítása minden projektben extra ráfordítást igényel. Általánosításával időt és pénzt takaríthatunk meg, valamint ha a generális folyamat egy hitelesített üzleti folyamatba is ágyazódik, akkor további minőségi garanciákat kaphatunk. A keretrendszer komponenseket tartalmaz a fenti problémák orvoslására. A javasolt Artifact Repository rendelkezik azon képességgel, hogy a telepített artifactokat először egy staging repositoryba tegye, továbbá megadhatunk workflow-kat arra vonatkozóan, hogy a staging repositoryból hogyan kerülhet egy artifact az élő repository alá. A workflow-ban különböző szerepkörű felhasználók képesek az artifact állapotokat megváltoztatni.
- Könnyebb fejlesztői újrahasznosítás:
Mivel a módszertanban leírt szerepkörök jól beilleszthetők minden projektbe, illetve a használt eszközkészlet állandó, ezért nem igényel folyamatos technológia betanulást minden projekt kezdetekor, így a fejlesztők újrahasznosítása, projektek közti mozgatása is egyszerűbbé hatékonyabbá válik. Lehetővé teszi továbbá, hogy a fejlesztők az üzleti problémákra fókuszáljanak a technológia nehézségek helyett.
Az MDA-alapú megközelítés segíti, hogy az elkészített rendszertervek alapján megszülessen a projektstruktúra, létrejöjjenek a komponensvázak és a technológiai konfigurációk. A tervezésre fordított energia a fejlesztési időben így még jobban megtérül. A fejlesztők a technológiai nehézségek megoldása, az új technológiák illesztése helyett az üzleti logikára tudnak koncentrálni, mert a többit a keretrendszer szolgáltatja. A keretrendszer frissítéseivel automatikusan életbe lépnek az újabb technológiák és a meglévők hibajavításai is.
A keretrendszer tehát számos alkalmazásfejlesztés során felmerülő problémára nyújt megoldást, így téve még hatékonyabbá a cég produktivitását, emellett biztosítja a minőségi elvárások betartását is.