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.
Open-Source Software Characteristics
OSS characteristics, such as who provides the technology or under which license it is offered, can also be relevant aspects to consider before selecting a technology. If the technology is mainly implemented by a well–known company and a big community supports it, this can imply a certain quality and reliability. Additionally, the company, the project’s circumstances and its community influence the product’s present and anticipated future [4, p. 108]. However, some OSS characteristics have to be treated with caution as they may be subject to different interpretations, like repository stars, or since no generally accepted metrics exist, for example regarding documentation [5, p. 70].
Provider
The organization or person that creates and provides the respective technology.
License type
The OSS license type under which the implementation is released. The license type may introduce some restrictions which can be especially relevant for commercial usage.
Repository stars
The number of stars that the respective repository currently has. This criterion may indicate the technology’s popularity. However, since the significance of such a star is not certain, it is not possible to use this as a reliable metric.
Contributor count
The number of people the repository lists as contributors.
Fork count
The number of forks the repository currently has. Forking a repository means creating a copy of it to another users account. When editing content in the forked repository, it does not introduce changes to the parent repository2.
Support
Examining the kind of community and/or commercial support that is offered for this technology. Such options can be discussion forums, the possibility to document issues or enterprise support like priority hotfixes.
Documentation
Comprehensive and up–to–date documentation is essential when using OSS, especially if no support is available. Therefore, this criterion assesses if documentation on the use of the technology exists and whether it is up–to–date. Such documentation can be, for example, a website or a readme file in the repository.
References
-
https://iso25000.com/index.php/en/iso-25000-standards/iso-25010?start=0, last accessed 2021-07-06 ↩
-
https://docs.github.com/en/get-started/quickstart/fork-a-repo, last accessed: 2021-06-27 ↩