Izolačná vrstva medzi systémami (Anti-Corruption Layer)

Aktualizované Sep 18, 2026

Anti-Corruption Layer je izolačná vrstva medzi systémami s odlišnými modelmi, terminológiou alebo rozhraniami. Počas migrácie umožňuje novým komponentom bezpečne komunikovať s legacy systémom bez prevzatia jeho interných predpokladov. Na preklad údajov a volaní môže používať adaptéry, fasády alebo samostatné služby.

Izolačná vrstva oddeľuje dva systémy, ktoré spolu musia komunikovať, hoci pracujú s odlišnými modelmi. Na hranici prekladá údaje, pojmy a volania do jazyka druhej strany. Nový komponent tak nemusí preberať historické názvy polí, protokoly ani firemné pravidlá legacy systému.

Čo vrstva prekladá

Preklad môže pokrývať viac než len dátové formáty. Systémy môžu rozdeliť zodpovednosti odlišne, používať rôzne identifikátory alebo sa nezhodujú v postupnosti pracovného postupu. Vrstva robí tieto rozdiely explicitnými na jednej hranici.

RozdielLegacy systémÚloha vrstvyNový systém
Štruktúra údajovZdieľané alebo nepravidelné záznamyMapovať a overiť poliaDoménový model
ProtokolSúbor, front alebo staré APIPrispôsobiť prenos a chybyAktuálne rozhranie
Slovná zásobaHistorické názvy a kódyPreložiť významyAktuálna terminológia
Pracovný postupViackroková legacy operáciaKoordinovať potrebné volaniaJedna definovaná funkcia

Úlohou vrstvy je preklad medzi modelmi. Ak sa do nej postupne presunú nesúvisiace firemné pravidlá, prestane byť jasné, ktorý systém ich vlastní, a samotná vrstva sa stane ďalším legacy komponentom.

Ako podporuje postupnú výmenu

Vzor postupného nahrádzania často vyžaduje súbežnú prevádzku starého a nového systému. Presunutá funkcia môže stále potrebovať údaje alebo správanie, ktoré zostali v legacy aplikácii. Izolačná vrstva ich prepojí bez toho, aby nový komponent priamo volal interné časti starého systému.

Záleží aj na smere komunikácie. Nový komponent si môže pri volaní legacy systému chrániť vlastný model. Stará aplikácia môže pri volaní novej služby potrebovať iný adaptér. Spojenie oboch smerov do jedného nerozlíšeného rozhrania môže zakryť vlastníctvo údajov aj spôsob riešenia chýb.

Čo kontroluje audit

Audit legacy codebase sleduje rozhrania, ktoré musí vrstva zachovať, aj predpoklady, ktoré nesmú preniknúť do nového systému. Kontroluje najmä:

  • Sémantické rozdiely. Polia alebo operácie s podobnými názvami, ale odlišným významom.
  • Vlastníctvo stavu. Ktorý systém je počas súbežnej prevádzky smerodajný pre jednotlivé záznamy.
  • Mapovanie zlyhaní. Ako sa na každej strane zobrazujú časové limity, chýbajúce údaje a čiastočná práca.
  • Bezpečnostné hranice. Ktoré identity, povolenia a pravidlá overenia platia pre hovor.
  • Plán vyradenia. Či vrstva zostane po migrácii alebo zmizne so starým systémom.

Tieto kontroly zabraňujú tomu, aby sa s hranicou prekladu zaobchádzalo ako s jednoduchým prevodníkom formátu, keď má aj operačný a doménový význam.

Prevádzkové dôsledky

Vrstva pridá komponent do cesty požiadavky alebo udalosti. Jeho protokoly a stopy musia spájať aktivitu v oboch systémoch. Opakované pokusy musia počítať s operáciami, ktorých opakovanie nie je bezpečné. Chyby mapovania údajov vyžadujú skôr viditeľnú cestu spracovania ako tichú náhradu.

Postupná výmena cez spoločné rozhranie vytvára podobnú hranicu v rámci jednej codebase. Izolačná vrstva zvyčajne sprostredkuje komunikáciu medzi samostatnými modelmi alebo podsystémami. Počas migrácie môžu fungovať spolu, ale riešia odlišné závislosti. Prvá technika umožňuje dvom implementáciám používať rovnakú zmluvu. Druhá chráni nový systém pred prenesením konceptov starého systému. Toto rozlíšenie pomáha v migračnom pláne určiť, ktorá hranica je dočasná, ktorá zostane súčasťou cieľovej architektúry a kedy možno staré spojenie odstrániť.