Magyar English Deutsch 日本語 Italiano
Sun

Betekintés egy szolgáltatás Agilis újraírásába

Februárban az egyik ügyfelünk sürgős feladattal keresett fel minket. Egy 7/24-ben működő rendszert kezelt, melynek a hátterét többféle szolgáltatás biztosította. Azonban a tranzakciók nagyságának közelmúltbeli növekedése miatt, problémák jelentkeztek a meglévő rendszerben. Egyre többször adat inkonzisztencia történt és ezek kezelése veszélyeztette a szolgáltatás működését, valamint a hatékony üzemeltetését is.

 

 

Elemzésünk során előbb megvizsgáltuk a meglévő kódot és szolgáltatást, ami alapján  felbecsültük és megterveztük a Backlogot valamint a Sprintek időkereteit. A tervezett megoldásunk az volt, hogy egy állapotmentes kódot készítünk, illetve felhasználjunk és ott ahol szükséges átírjuk a meglévő kódot, miközben javítunk a minőségen és a válaszidőkön is.

Előzetesen úgy terveztük, hogy három Sprint alatt végzünk (1 Sprint = 2 hét), de végül még egy Sprintre szükség volt, hogy befejezhessük a harmadik feles komponensek integrációját és a tesztelést. 

 

Néhány probléma, amit kezelnünk kellett a folyamat során: minimálisan dokumentált kódbázis, harmadik feles kódbázisok integrációja, nem szabványos webszolgáltatások megvalósítása, forráskód nélküli külső erőforrások használata.

 

pexels-photo

 

Néhány érdekesség és tudnivaló a projektről:

 

Technológiai változások

  • Java 7 -> Java 8
  • Apache Tomee -> Java Spring Boot
  • Alkalmazott Mikroszolgáltatási Architektúra (További információk: itt)

 

Fejlesztés

  • Kód refaktorállás
  • Adatszerkezet módosítása
  • REST API módosítása
  • Elavult Jackrabbit eltávolítása
  • CI alkalmazása DEV környezetben
  • Alkatrészek automatizálása és E2E tesztelés

 

Felhasznált technólogiák és megoldások

  • Docker (További információk: itt)
  • SonarQube
  • GitLab CI
  • Confluence
  • SOAP UI REST tesztekhez és service mockokhoz
  • SpringBoot
  • Swagger és Javadoc a dokumentációhoz

 

Amire büszkék vagyunk:

  • 8 héten belül megoldás szállítása!
  • A projektben a változásokat Agilis módon hajtottuk végre!
  • Növeltük az ügyfelünk elégedettségét és boldogságát!
  • A közösség számára is hozzáadott értéket teremtettünk (Github modell hibajavítás)

 

Webp.net-compress-image