A mai pénzintézetek kihívásai – egy szoftverfejlesztő szemével

A mai pénzintézetek 40, 50 vagy akár 60 éves alaprendszerekre bízva nyújtják szolgáltatásaikat. Ezeket a rendszereket nemhogy továbbfejleszteni, de karbantartani is nehéz feladat. Ezekre a rendszerekre jellemző, hogy olyan technológiában lettek implementálva, melyekben egyre kevesebb szakember fejleszt, például azért, mert már régen áttértek modernebb te vagy mert nyugdíjba vonultak. Ilyen technológia például a Cobol, melynek első verziója 1959-ben jött ki. 1997-ben a Gartner csoport úgy becsülte, hogy kb. 200 milliárd sornyi megírt COBOL alkalmazás létezik világszerte, mely az összes üzleti alkalmazás 80%-át adta. Ma ezzel szemben alig találunk helyet, ahol oktatnák ezt a nyelvet.

A meglévő banki rendszerekre jellemző, hogy működésük a velük szemben támasztott követelményhalmaz minden elemének eleget tesz. 

A bankoknak azon kívül, hogy ezen rendszerek nehezen alakíthatóak át a modern kori követelményeknek megfelelően egy másik erővel is meg kell küzdeniük, mely nem más, mint a szoftver entrópia vagy más néven szoftver erózió. Ezalatt a fogalom alatt a szoftver romlását értjük, mely idővel a szoftver válaszidejének növekedéséhez, legrosszabb esetben hibájához vezethet.

Több tényező okolható a szoftver erodálásáért, melyek lehetnek:

  • szoftver futtatási környezetének változása
  • szoftver részei, moduljai közti kompatibilitás megszűnik
  • megjelenhetnek hibák a szoftver ritkán futtatott részeiben, melyeket adott esetben nem igazítottunk a változott követelményekhez

Környezet változás

Amikor az alkalmazás környezete megváltozik, akkor ez gyakran olyan változásokat hozhat magával, melyre az alkalmazás tervezője nem volt felkészülve. A legegyszerűbb példa erre, hogy régen egy adott órajelre írtak játék alkalmazást és idővel modernebb hardveren futtatva, magasabb processzor órajel mellett az alkalmazás nem az elvárt módon fut.

Inkonzisztens kód

Ritkán használt modulok egy alkalmazásban, például olyan API hívások melyeket nem használ egy interfészen keresztül más külső alkalmazás gyakran nem igazodik a változott követelményekhez. Ezekben észrevétenül bújhatnak meg hibák, melyek akkor jönnek elő, amikor az API-t használni kezdik.

Frissítések

Egy szoftver több modulból áll, melyek egymásra épülnek. Ezeket frissítve gyakran megtörik a modulok közti kompatibilitás, mely hibásműködéshez vezet.

Refaktorálás

A refaktorálás egy módja a szoftver entrópia elleni küzdelemnek. Ez a meglévő kódbázis újraírását jelenti, annak belső struktúrájának átalakítását. Az cél egy időtállóbb kódbázis létrehozása, különös tekintettel arra hogy az alkalmazás külső viselkedésén nem változtatunk – azaz kimenetele megkülönböztethetetlen a korábbiaktól.

 

A témához kapcsolódó hanganyag itt található

 

Seres Krisztián

 

elavultságkihíváspénzintézetszoftver