Proof of Migration tool

Vanuit onze klanten en eigen ervaring weten we dat er sterke behoefte is om de testkosten in de migratiefase te minimaliseren. Daarom heeft wearefrank! de open-source Proof of Migration (POM) tool(ing) gebouwd. Deze tool neemt u geautomatiseerd werk uit handen tijdens de migratie van BW5 (of ieder ander integratieframework) naar het Frank!Framework.

Hoe werkt de Proof of Migration Tool?

WeAreFrank! plaatst een nieuw gemigreerd integratiecomponent voor uw bestaande integratiecomponent in de keten. Het nieuwe integratiecomponent bevat naast het gemigreerde functionaliteit nog 3 andere onderdelen, namelijk de Frank!Proxy, de Frank!ShadowSender en de Frank!Compare.

Onderdeel 1 Proxy

Tijdens de eerste fase geeft het nieuw geplaatste component het originele request en de originele reply door aan het aanroepende systeem. Voor het aanroepende systeem is er dus niets gewijzigd.

Onderdeel 2 ShadowSender

De ShadowSender biedt een copy van het input bericht parallel aan, aan de Frank!Adapter. Het originele input bericht en de reply in de Frank!Adapter worden bewaard voor gebruik in de Frank!Compare.

Onderdeel 3 de nieuwe Frank!Configuration

Het gemigreerde component, de Frank!Configuration, dat al dan niet automatisch is gegenereerd met onze Frank!Generator, zal parallel aan de proxy hetzelfde request verwerken met het achterliggende landschap en zal de ontvangen reply met het laatste onderdeel vergelijken.

Onderdeel 4 Comparison

Dit onderdeel vergelijkt de parallel gegenereerde reply met de reply van het oude integratiecomponent. Wanneer de reply verschilt is er potentieel sprake van een defect en zal de complete informatie worden opgeslagen. De opslag kan op filesysteem of in een database worden gerealiseerd.

Resultaat van de Proof of Migration Tool

De Proof of Migration Tool is ook in de test- en acceptatie omgevingen zeer nuttig, omdat de tester slechts berichten hoeft aan te bieden en de resultaten automatisch worden gecontroleerd. Maar het uiteindelijke doel van de Tooling is de Proof of Migration! Bij ongelijke berichten signaleert onze Proof of Migration Tool dat er een potentieel defect is gevonden in de nieuwe Frank!Configuration en kan deze aangepast worden en eenvoudig worden gedeployed. De berichten uit de productieomgeving kunnen anoniem worden gemaakt en direct gebruikt worden als unit test. In de praktijk zullen de meeste fouten al in een eerdere fase in test of acceptatie worden geconstateerd.  Op de productieomgeving zou alleen nog maar een proof of migration hoeven plaats te vinden.

Het werk voor de testers wordt sterkt vereenvoudigd en geminimaliseerd bij het gebruik van de Proof of Migration Tool.

Hoe kan de Proof of Migration Tool tussen het bestaande migratiecomponent en de afnemer van de service worden geplaatst?

De oplossing is afhankelijk uw situatie en van het communicatieprotocol. Als er gebruik gemaakt wordt van het http protocol is de meest voor de hand liggende optie om een endpoint aanpassing te doen in de load balancer of api-gateway. Maakt uw organisatie gebruik van queueing dan is het in de meeste gevallen het handigst om het te migreren component aan te passen.

Kan de Proof of Migration Tool gebruikt worden in combinatie met update en create patronen?

Ja. De Proof of Migration Tool zoals deze wordt uitgelegd focust zich op zogenaamde “Retrieval Services”, maar ook bij update en create patronen is het mogelijk om de Proof of Migration Tool te gebruiken. Het proxy-mechanisme wordt dan niet alleen op de binnenkomende connectie toegepast maar ook op de relevante uitgaande connecties. De Frank!Compare vergelijkt dan alle uitgaande berichten en roept uiteraard het backend systeem niet nog een tweede keer aan.

Voor welke situaties is de Proof of Migration Tool niet bruikbaar?

In File based patronen is proof of migration lastig toe te passen. Graag onderzoeken wij uw situatie om te kijken wat de mogelijkheden zijn.

Hoe gebruik ik de Proof of Migration Tool op de niet-productieomgevingen?

Proof of migration is een term die hoort bij je productieomgeving, maar je zult in je gehele DTAP voordeel hebben aan de componenten die samen de Proof of Migration Tool vormen.

Op de testomgeving voert de tester zijn testen uit en hoeft zelf geen vergelijking te maken met zijn test verwachting. Tevens kunnen de uitgevoerde testen worden afgevangen in de test/debug tooling en als geautomatiseerde test worden gebruikt.

Op de acceptatieomgeving zal de testinspanning van de business testers geminimaliseerd worden.

Kan de Proof of Migration Tool ook de oude component schaduwdraaien?

Ja in de Proof of Migration situatie heb je ook de keuze om het gemigreerde component leidend te maken. In dat geval wordt de uitkomst van het “oude” migratiecomponent als validatie gebruikt.

Wat is een verschil voor de Frank!Compare, is niet alles verschillend als er bijvoorbeeld een timestamp in staat?

Er zijn altijd gegevens zoals timestamps die niet relevant zijn voor een vergelijking. In de tooling kunnen deze worden gemarkeerd zodat er geen onterechte fouten worden gerapporteerd.

Wat kost de Proof of Migration Tool?

De componenten die in de Proof of Migration Tool worden gebruikt zijn open-source en onderdeel van ons open-source framework! Wij gebruiken ons framework als toolkit als we bij onze klanten aan het werk gaan.

Vraag en antwoord over de Proof of Migration Tool