Ako mock backendy a mock moduly zrýchľujú vývoj komplexných systémov
Využitie pri mobilných aplikáciách, mikroservisných architektúrach a portálových riešeniach
Pri vývoji komplexných IT systémov – napríklad v bankovníctve alebo vo verejnej správe – sa na jednom projekte často podieľa veľké množstvo tímov a dodávateľov. Moderné systémy obsahujú mobilné aplikácie, portálové riešenia, integračné platformy a množstvo mikroservisov.
V takomto prostredí vzniká jeden zásadný problém: závislosti medzi jednotlivými tímami. Jedna časť systému čaká na druhú a vývoj sa spomaľuje.
Jedným z najefektívnejších spôsobov, ako tento problém riešiť, je využitie mock backendov a mock modulov, ktoré umožňujú simulovať jednotlivé časti systému ešte pred ich implementáciou.
Čo je mock backend
Mock backend je služba, ktorá simuluje správanie backendového systému alebo API.
Vývojári tak môžu pracovať s realistickými odpoveďami API aj vtedy, keď:
backend ešte nie je implementovaný
backend vyvíja iný tím alebo dodávateľ
integrácia ešte nie je dokončená
testovacie prostredie nie je dostupné
Mock backend poskytuje preddefinované alebo dynamicky generované odpovede, ktoré umožňujú vývoj aplikácií bez závislosti od reálneho systému.
Mock moduly: krok ďalej ako len mock API
Pri veľkých systémoch však často nestačí simulovať len API. V mnohých prípadoch je potrebné simulovať celý modul systému.
Preto sa využívajú tzv. mock moduly.
Mock modul predstavuje zjednodušenú implementáciu časti systému, ktorá môže obsahovať:
mock backend API
jednoduchý frontend alebo UI
simulované integračné scenáre
testovacie dáta
základnú logiku procesov
Takýto modul umožňuje vytvoriť funkčný prototyp časti systému, ktorý môže slúžiť ako:
testovacie prostredie
integračný sandbox
proof-of-concept riešenie
Typická architektúra moderných enterprise systémov
V bankách alebo vo verejnej správe sú dnes systémy často postavené na architektúre, ktorá obsahuje:
mobilné aplikácie
webové portály
mikroservisy
API gateway
integračné platformy
množstvo backendových systémov
Na vývoji jednotlivých komponentov pracujú:
interné vývojové tímy
externí dodávatelia
integračné tímy
tímy pre mobilné aplikácie
tímy pre portálové riešenia
Každý tím pracuje na inej časti systému a často rôznym tempom.
Bez vhodnej infraštruktúry sa vývoj rýchlo začne blokovať.
Paralelný vývoj pomocou mock backendov
Mock backend umožňuje tímom pracovať nezávisle od dostupnosti ostatných služieb.
Napríklad:
mobilná aplikácia môže komunikovať s mock API
portál môže využívať simulované služby
integračné služby môžu testovať komunikáciu medzi systémami
Tým sa vývoj mení z lineárneho procesu na paralelný vývoj viacerých komponentov.
Mock moduly pri vývoji mobilných aplikácií
Mobilné aplikácie sú často jednou z prvých častí systému, ktoré sa prezentujú klientom alebo stakeholderom.
Backendové služby však často ešte nie sú implementované.
Mock moduly umožňujú vytvoriť napríklad:
simulovaný backend pre mobilnú aplikáciu
testovacie scenáre používateľských operácií
zjednodušený frontend portálu alebo služby
Mobilná aplikácia tak môže komunikovať s mock systémom, ktorý simuluje napríklad:
prihlasovanie používateľov
prácu s účtom alebo profilom
platobné operácie
prácu s dokumentmi
Vývoj mobilnej aplikácie môže prebiehať bez čakania na implementáciu backendu.
Mock moduly pri vývoji portálových riešení
Portálové riešenia v government alebo bankovom sektore často komunikujú s veľkým množstvom backendových systémov.
Typický portál môže pracovať napríklad s:
identitným systémom
registrom používateľov
systémom dokumentov
platobným systémom
integračnými službami
Každý z týchto systémov môže byť vyvíjaný iným tímom alebo dodávateľom.
Mock moduly umožňujú simulovať jednotlivé služby a zároveň vytvoriť zjednodušené používateľské rozhranie, ktoré demonštruje funkčnosť systému.
Takýto modul môže napríklad simulovať:
proces registrácie používateľa
podanie žiadosti v portáli
spracovanie dokumentov
komunikáciu medzi systémami
Vývojári aj analytici tak môžu testovať celé procesy ešte pred implementáciou reálnych systémov.
Mock moduly ako nástroj pre Proof of Concept
Mock moduly sú veľmi užitočné pri vytváraní Proof of Concept (PoC) riešení.
Pri návrhu nového systému je často potrebné overiť:
architektúru riešenia
používateľské scenáre
integračné toky medzi systémami
výkonnosť návrhu
Mock modul umožňuje vytvoriť funkčný prototyp systému bez nutnosti implementovať kompletnú logiku všetkých služieb.
Stakeholderi tak môžu:
vidieť fungujúci prototyp systému
testovať používateľské scenáre
validovať návrh riešenia
To výrazne znižuje riziko nesprávneho návrhu systému.
Mock moduly v mikroservisnej architektúre
Pri systémoch založených na mikroservisoch môže existovať desiatky alebo stovky služieb.
Mock moduly umožňujú:
simulovať chýbajúce mikroservisy
testovať komunikáciu medzi službami
overovať API kontrakty
simulovať chybové scenáre
Vývojári tak môžu pripraviť integračné scenáre ešte pred nasadením reálnych služieb.
Lepšia spolupráca medzi dodávateľmi
Vo veľkých projektoch sa často stretáva viac dodávateľov softvéru.
Mock backendy a mock moduly môžu slúžiť ako spoločná integračná platforma, ktorá umožňuje:
simulovať jednotlivé systémy
testovať integrácie medzi modulmi
stabilizovať API kontrakty
umožniť nezávislé testovanie jednotlivých komponentov
Tým sa výrazne znižuje počet problémov pri finálnej integrácii systému.
Mock moduly ako súčasť moderného DevOps
V moderných vývojových prostrediach sú mock backendy a mock moduly často integrované do:
CI/CD pipeline
testovacích prostredí
integračných testov
sandbox prostredí pre vývojárov
Tým vzniká flexibilné vývojové prostredie, ktoré umožňuje rýchle experimentovanie a testovanie nových riešení.
Záver
Mock backendy a mock moduly predstavujú veľmi efektívny nástroj pre vývoj komplexných systémov.
Pomáhajú:
zrýchliť vývoj mobilných aplikácií
umožniť paralelný vývoj mikroservisov
zjednodušiť vývoj portálových riešení
lepšie prepájať tímy a dodávateľov
vytvárať proof-of-concept riešenia
overiť architektúru systému ešte pred implementáciou
V prostredí bankovníctva alebo verejnej správy, kde systémy pozostávajú z desiatok komponentov a viacerých dodávateľov, sa mock backendy a mock moduly stávajú kľúčovou súčasťou moderného vývojového procesu.
