Esettanulmány
Legacy modernizáció és support

Legacy Java back-office alkalmazások konténerizációja

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.

Esettanulmány letöltése
PDF · magyar és angol nyelven
2
legacy Java alkalmazás
1
közös Docker réteg
0
változás az üzleti logikában
Next-next
telepítés Git-Nexus alapon

Az ügyfél

Az ügyfél weboldala

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.

Ügyfél
Magyar állami nagyvállalat
Iparág
Állami nagyvállalat
Projekt típusa
Legacy modernizáció, konténerizáció
Időtartam
~5 hónap, teszteléssel együtt
Csapat
FrontX: projektmenedzser, adatbázis-architekt, Java fejlesztő
Fő technológiák
Java 11, Payara Server, PostgreSQL, Docker, Git, Nexus, Linux

A kihívás

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.

Hogyan dolgoztunk

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.

Konténerizáció natív migráció helyett

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.

Egy közös Docker réteg két alkalmazáshoz

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.

Git-Nexus integráció, next-next telepítés

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.

Környezeti beállítások kiszervezése

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.

Eredmények

A két alkalmazás natív migráció nélkül került át az új környezetbe. A projekt eredményeként:

  • Gyors telepíthetőségA Git-Nexus integrációnak köszönhetően a telepítés gyors, next-next jellegű folyamattá vált.
  • KörnyezetfüggetlenségAz alkalmazások a teljes futtatókörnyezettel együtt konténerben futnak, így hordozhatók, és nem függnek a hosztoló operációs rendszertől.
  • Jobb teljesítményA korábban nagyon lassú alkalmazások a konténerizált környezetben jobb teljesítménnyel működnek.
  • Változatlan üzleti logikaA bevált üzleti működéshez nem kellett hozzányúlni, ami csökkentette a projekt kockázatát.
  • Egységes megoldásMindkét alkalmazás ugyanarra a Docker rétegre épül.
  • Konfigurálható környezetA környezeti beállítások a külső setup fájlból, fejlesztői beavatkozás nélkül módosíthatók.

Amit más projektekre is érdemes átvinni

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.

Hasonló projekted van?

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ó