Wat zijn de kenmerken van een service oriented architecture?
Bij een service oriented architecture (SOA) zijn de functionaliteiten verdeeld over verschillende onderdelen. Tussen die verschillende onderdelen vindt vervolgens communicatie, oftewel berichtenverkeer, plaats. Denk aan business services van waaruit middels een message bus berichten verstuurd worden naar een volgend onderdeel. Bijvoorbeeld naar enterprise services of application services. Waarbij de message bus dan kan zorgen voor de transformatie en orchestratie van de berichten. De complexiteit van een SOA applicatie ligt binnen de individuele onderdelen. Op testgebied is juist ook de berichtenstroom tussen de verschillende onderdelen interessant. Oftewel: het testen van berichtenverkeer.
Wat zijn de kenmerken van een microservices?
Bij microservices betreft het allemaal mini stukjes architectuur die onafhankelijk van elkaar zijn en slechts over één functionaliteit beschikken. Er wordt geen gebruik gemaakt van gedeelde resources. De verschillende onderdelen staan met elkaar in verbinding en delen hun uitkomsten door berichten heen en weer te sturen. Anders dan bij een monoliet of SOA, is een microservices om de business heen gebouwd. In plaats van dat het de centrale organisatie inneemt. Het grote voordeel is dat een eventuele fout zich geïsoleerd in één bepaald systeem of onderdeel bevindt. Hoewel het opsporen uitdagend kan zijn, is het ‘uit de running’ halen van het stukje functionaliteit en na verbetering opnieuw deployen, een stuk eenvoudiger.
Poll
Met welke architectuurstijl werk jijzelf?
Wat betekent deze verandering van architectuurstijl voor het testen?
Tot het jaar 2000 werd vooral een monoliet gebruikt: ‘one size fits all’, één applicatie voor ieder. Van 2000 tot 2010 werd er overgegaan naar kleiner geschakelde onderdelen met wat meer specificaties en detail, oftewel de SOA. Vanaf 2010 is de opkomst van microservices begonnen en deze verandering is nu, anno 2019, nog steeds gaande. Wat betekent deze verandering eigenlijk voor het testen?
In het geval van microservices ligt er meer nadruk op ketentesten en is er ruimte voor automatiseren. Waar je voorheen één applicatie als geheel kon testen en deployen, haal je er tegenwoordig bij een architectuurstijl met microservices een klein onderdeel tussenuit. Hier doe je een aanpassing aan en je zet het terug binnen je landschap. Dat betekent dat er meer afhankelijkheid is van de samenwerking tussen de verschillende onderdelen. De nadruk komt te liggen op het testen van de doorstroom tussen de verschillende ketens. Oftewel het testen van berichtenstromen tussen onderdelen.