Evaluation Criteria Catalog
In order to evaluate different technological approaches concerning the Saga pattern, some criteria have to be defined against which the evaluation can be performed. The following sections consider several areas of interest related to characteristics of microservices and the Saga pattern as well as some quality attributes of the ISO/IEC 25010 Quality Models1. For each area, the aspects that an evaluator should examine are explained and described. Some of the described criteria have been taken from the previous paper published by Dürr et al. [3]. The aim is to create a criteria catalog that can be used to analyze other technologies in this context.
Testability
Automatic testing helps to ensure and maintain software quality. Since Sagas are useful for implementing complex business workflows, being able to test Saga sequences improves quality, especially when adding new steps or participants.
In–house test framework
Examine whether the technology itself provides additional support for testing the Saga–related implementations. An example could be a provided DSL that helps testing Saga–related aspects of the technology.
Unit test Saga definition
To ensure that the Saga sequence is executed as expected, it is beneficial to test the definition automatically. Even more so, when the definition can be tested in isolation, so without having to really run the Saga with all its dependencies.
Unit test Saga participant
Investigating if the behaviour of a Saga participant can be tested in isolation, again without running the entire Saga.
Saga integration test
After analyzing the possibilities to test Saga–related implementations in isolation, the next step is to verify the interaction between the included components. Therefore, this criterion investigates if it is possible to test the execution of the entire Saga automatically.
References
-
https://iso25000.com/index.php/en/iso-25000-standards/iso-25010?start=0, last accessed 2021-07-06 ↩