Hogyan tettük hordozhatóvá és egyszerűen telepíthetővé egy állami nagyvállalat két legacy Java nyilvántartó alkalmazását - az üzleti logika érintése nélkül.
Megbízónk egy magyar állami nagyvállalat, amelynek napi működését két legacy Java alapú back-office nyilvántartó alkalmazás támogatja. Az alkalmazások Java 11, Payara alkalmazásszerver és PostgreSQL adatbázis környezetben futottak, Windows szervereken.
A cél az volt, hogy az alkalmazásfuttató környezet Windowsról Linuxra kerüljön - úgy, hogy a bevált üzleti működés ne változzon, az üzemeltetés pedig egyszerűbbé váljon.
A FrontX tervezőként és kivitelezőként vett részt a projektben. A kiinduló helyzet több szempontból is nehéz volt:
Kötelező platformváltásAz alkalmazásfuttató környezetet Windowsról Linuxra kellett migrálni.
Költséges natív migrációA két alkalmazás natív átültetése az új környezetre nagyon jelentős munkát igényelt volna.
Lassú működés, nehéz üzemeltetésAz alkalmazások nagyon lassan futottak, és nehezen voltak üzemeltethetők.
Beégetett környezeti beállításokAz SP integráció, a mobilalkalmazás-integráció, a fájlszerver elérési útvonalai és a szerverkörnyezeti beállítások natívan, a kódban voltak rögzítve, így minden környezeti változás fejlesztői beavatkozást igényelt.
A FrontX részéről egy projektmenedzser, egy adatbázis-architekt és egy Java fejlesztő dolgozott a projekten. A fejlesztés során AI-alapú fejlesztői eszközöket is használtunk.
Az alkalmazások natív átírása helyett Docker-konténerbe helyeztük őket. A Payara alkalmazásszerver, a PostgreSQL és a további futtatókörnyezeti elemek a konténeren belül futnak, így a megoldás hordozható, és a hosztoló operációs rendszertől függetlenül működik.
A két alkalmazáshoz ugyanaz a Docker réteg készült el, oly módon, hogy az üzleti logikák változatlanok maradtak. Ez csökkentette a fejlesztési és a későbbi üzemeltetési ráfordítást, és egységessé tette a két rendszer kezelését.
A konténerizált megoldás Git és Nexus integrációval épül fel, így a telepítés egyszerű, lépésről lépésre végigvihető (next-next) folyamattá vált.
A korábban beégetett környezeti beállítások - SP integráció, mobilalkalmazás-integráció, fájlszerver elérési útvonalak, szerverkörnyezeti beállítások - egy külső setup fájlba kerültek, ahonnan egyszerűen módosíthatók.
A két alkalmazás natív migráció nélkül került át az új környezetbe. A projekt eredményeként:
A platformváltás nem feltétlenül jelent újraírástKonténerizációval egy legacy alkalmazás új környezetbe vihető anélkül, hogy a natív migráció teljes költségét és kockázatát vállalni kellene.
Egy közös réteg több alkalmazást is kiszolgálhatHa a futtatókörnyezetek hasonlók, egyetlen jól megtervezett Docker réteg több rendszer modernizációját is lefedheti.
A konfigurációt érdemes kiszervezniA beégetett környezeti beállítások külső fájlba helyezése a modernizáció mellékhatásaként is komoly üzemeltetési előnyt hoz.
Az AI-eszközök a legacy munkában is segítenekA fejlesztés során használt AI-alapú eszközök a legacy környezetben is támogatták a csapat munkáját.
Ha zöldmezős fejlesztés vagy összetett üzleti domain előtt állsz, szívesen megbeszéljük, hogyan közelítenénk meg. Kötelezettség nélkül.
Ingyenes konzultáció