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.
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.
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.
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.
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.
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.
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.
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.
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.
In File based patronen is proof of migration lastig toe te passen. Graag onderzoeken wij uw situatie om te kijken wat de mogelijkheden zijn.
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.
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.
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.
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.