Butterfly Design Logo Butterfly Design Title
← Natrag na blog Arhitektura softvera • Legacy modernizacija

Repository Pattern: Kako migrirati legacy sustav bez prekida rada

Butterfly Design • Ivan Rendulić  ·  Svibanj 2026

Jedan od najvećih strahova kod modernizacije legacy sustava uvijek je isti: "Što ako nešto krene po zlu?"

Firme ne mogu stati. Podaci moraju teći. Korisnici ne smiju osjetiti prekid. I upravo tu leži paradoks koji blokira toliko modernizacijskih projekata — sustav je zastario i koči poslovanje, ali ga nitko ne smije isključiti.

Postoji elegantan inženjerski odgovor na ovaj problem. Zove se Repository Pattern, i u kombinaciji s postupnom migracijom može transformirati zastrašujući "big bang" prelaz u kontroliran, predvidljiv proces.

Što je Repository Pattern?

Repository Pattern je arhitekturni obrazac koji razdvaja poslovnu logiku aplikacije od konkretnog načina pristupa podacima. Umjesto da aplikacija direktno zna s kojom bazom podataka razgovara, ona komunicira isključivo s apstraktnim sučeljem — repozitorijem.

"Za aplikaciju, Repository je uvijek isti — bez obzira dolaze li podaci iz stare baze, nove baze, ili obje istovremeno."

Ova naizgled jednostavna apstrakcija otvara nevjerojatne mogućnosti kod migracije sustava.

Četiri faze postupne migracije

Umjesto da stari sustav odmah ugasite i novi upalite — što je rizično i često završi katastrofom — Repository Pattern omogućuje postupan prelaz kroz četiri kontrolirane faze:

1
Faza 1 — Stari sustav

MigrationRepository čita isključivo iz stare baze podataka. Aplikacija radi točno kao i prije. Nema promjena za korisnike, nema rizika.

2
Faza 2 — Paralelni rad i validacija

Repository čita iz obje baze i uspoređuje rezultate. Svako neslaganje se bilježi i analizira. Ova faza otkriva sve rubne slučajeve i poslovne iznimke koje dokumentacija nije pokrila.

3
Faza 3 — Nova baza primarna, stara backup

Nova baza postaje primarni izvor istine. Stara ostaje kao sigurnosna mreža. Ako se otkrije ikakav problem, povratak na stari sustav je brz i siguran.

4
Faza 4 — Migracija gotova

Stari sustav se gasi. Nova platforma preuzima potpunu kontrolu. Bez drame, bez gubitka podataka, bez noćnih mora za inženjere i menadžment.

Aplikacija za cijelo to vrijeme ne zna ništa — za nju je Repository uvijek isti.

Zašto je ovo bolje od "big bang" migracije?

Klasični pristup modernizaciji — izgradi novi sustav, zamrzni razvoj starog, prebaci sve odjednom — ima izuzetno visoku stopu neuspjeha. Razlozi su uvijek isti: nedokumentirana poslovna pravila koja se otkriju tek u produkciji, podaci koji se ne migriraju ispravno, i korisnici koji se susreću s greškama u kritičnim momentima.

Repository Pattern s postupnom migracijom eliminira ove rizike jer:

Poslovna logika ostaje netaknuta. Izdvajamo je u čistu jezgru neovisnu o tehnologiji, pa se može testirati i validirati neovisno o sučelju ili bazi.

Svaka faza je reverzibilna. U bilo kojoj točki možemo se vratiti korak natrag bez katastrofalnih posljedica.

Problemi se otkrivaju rano. Faza 2 paralelnog rada je izuzetno vrijedna — otkriva sve iznimke i rubne slučajeve koje nijedan dokument nije opisao, ali koje korisnici svakodnevno koriste.

Nema prekida poslovanja. Korisnici nastavljaju raditi normalno kroz cijeli proces migracije.

Primjer iz prakse

Kod jednog od naših projekata radili smo s desktop aplikacijom starijom od 15 godina. Izvorni developer nije bio dostupan, dokumentacija nije postojala, a aplikacija je bila kritična za svakodnevno poslovanje klijenta.

Kroz softversku forenziku rekonstruirali smo poslovnu logiku, implementirali Clean Architecture jezgru, i potom koristili Repository Pattern za postupan prelaz na novu Flutter platformu. Cijeli proces trajao je 6 tjedana. Korisnici nisu osjetili nikakav prekid.

Zaključak

Modernizacija legacy sustava ne mora biti strašna. S pravim arhitekturnim obrascima i metodičkim pristupom, čak i najzapušteniji sustav može se transformirati u modernu platformu — sigurno, postupno i bez zaustavljanja poslovanja.

Repository Pattern je jedan od temelja tog pristupa. Kombiniran s Clean Architecture jezgrom i Flutter sučeljem, čini kompletnu modernizacijsku priču koja funkcionira u stvarnom poslovnom okruženju.

Prepoznajete li vlastiti sustav u ovom opisu? Razgovarajmo o tome što je moguće.

Zatraži besplatnu procjenu