Het fig-patroon Van de vert.

Een verouderd systeem incrementeel migreren door specifieke functionaliteit geleidelijk te vervangen door nieuwe toepassingen en services. Terwijl functies van het oude systeem worden vervangen, vervangt het nieuwe systeem uiteindelijk alle functies van het oude systeem, waarbij het oude systeem wordt onderdrukt zodat u het uit bedrijf kunt nemen.

Context en probleem

Naarmate systemen ouder worden, kunnen ook de ontwikkelhulpprogramma's, hostingtechnologie en zelfs de architecturen waarop die systemen zijn gebaseerd, in onbruik raken. Als er nieuwe functies en functionaliteit worden toegevoegd, kan de complexiteit van deze toepassingen aanzienlijk toenemen, wat het onderhoud ervan of het toevoegen van nieuwe functies moeilijker maakt.

Een complex systeem volledig vervangen kan een gigantische onderneming zijn. Vaak zal er een geleidelijke migratie naar een nieuw systeem nodig zijn, waarbij het oude systeem blijft behouden voor het afhandelen van functies die nog niet zijn gemigreerd. Het gebruik van twee afzonderlijke versies van een toepassing betekent echter wel dat clients moeten weten waar bepaalde functies zich precies bevinden. Telkens wanneer er een functie of service wordt gemigreerd, moeten clients worden bijgewerkt om naar de nieuwe locatie te verwijzen.

Oplossing

Specifieke functionaliteit geleidelijk vervangen door nieuwe toepassingen en services. Maak een façade die aanvragen onderschept die naar het oude back-endsysteem gaan. De façade routeer deze aanvragen naar de verouderde toepassing of de nieuwe services. Bestaande functies kunnen geleidelijk aan worden gemigreerd naar het nieuwe systeem en gebruikers kunnen met dezelfde interface blijven werken, zonder enige weet te hebben van de migratie die heeft plaatsgevonden.

Diagram van het fig-patroon van de vert.

Dit patroon helpt bij het verlagen van het risico als gevolg van de migratie en bij de verdere implementatie in de loop van de tijd. Met de façade die gebruikers veilig naar de juiste toepassing doorsturen, kunt u functionaliteit toevoegen aan het nieuwe systeem in elk tempo dat u wilt, terwijl de verouderde toepassing blijft functioneren. Na verloop van tijd, terwijl functies naar het nieuwe systeem worden gemigreerd, wordt het oude systeem uiteindelijk 'de nek omgedraaid' omdat het niet meer nodig is. Zodra dit proces voltooid is, kan het oude systeem veilig buiten gebruik worden gesteld.

Problemen en overwegingen

  • Denk na over de verwerking van services en gegevensarchieven die door zowel de nieuwe als bestaande systemen kunnen worden gebruikt. Zorg ervoor dat beide toegang tot deze resources hebben.
  • Structureer nieuwe toepassingen en services zo dat ze eenvoudig kunnen worden onderschept en vervangen in toekomstige figmigraties.
  • Op een bepaald moment, wanneer de migratie is voltooid, zal de vererver van de figfaçade verdwijnen of zich ontwikkelen tot een adapter voor verouderde clients.
  • Zorg ervoor dat de façade de migratie bijhoudt.
  • Zorg ervoor dat de façade geen Single Point of Failure of een knelpunt voor prestaties wordt.

Wanneer dit patroon gebruiken

Gebruik dit patroon bij de geleidelijke migratie van een back-endtoepassing naar een nieuwe architectuur.

Dit patroon is mogelijk niet geschikt in de volgende gevallen:

  • Wanneer aanvragen voor het back-endsysteem niet kunnen worden onderschept.
  • Voor kleinere systemen waarbij de vervanging op grote schaal laag niet complex is.