Several studies analyzed existing Web APIs against the constraints of REST to estimate the degree of REST compliance among state-of-the-art APIs. These studies revealed that only a small number of Web APIs are truly RESTful. Moreover, identified mismatches between theoretical REST concepts and practical implementations lead us to believe that practitioners perceive many rules and best practices aligned with these REST concepts differently in terms of their importance and impact on software quality. We therefore conducted a Delphi study in which we confronted eight Web API experts from industry with a catalog of 82 REST API design rules. For each rule, we let them rate its importance and software quality impact. As consensus, our experts rated 28 rules with high, 17 with medium, and 37 with low importance. Moreover, they perceived usability, maintainability, and compatibility as the most impacted quality attributes. The detailed analysis revealed that the experts saw rules for reaching Richardson maturity level 2 as critical, while reaching level 3 was less important. As the acquired consensus data may serve as valuable input for designing a tool-supported approach for the automatic quality evaluation of RESTful APIs, we briefly discuss requirements for such an approach and comment on the applicability of the most important rules.
翻译:数项研究分析了现有网络API, 以适应REST的限制, 以估计最先进的API设计规则对REST的遵守程度。这些研究显示,只有少量的网络API真正具有革新性。此外,发现理论性REST概念和实际执行之间存在不匹配之处,使我们相信,从重要性和对软件质量的影响来看,实践者认为与这些REST概念相一致的许多规则和最佳做法在重要性和对软件质量的影响方面是不同的。因此,我们进行了德尔菲研究,在这项研究中,我们遇到来自行业的8名网络API专家,他们拥有82个REST API设计规则的目录。我们让这些专家评估其重要性和软件质量影响。由于共识,我们的专家们将28项规则评为高、17个中度和37个中度,但重要性较低。此外,他们认为,使用性、可维持性和兼容性是影响最大的质量属性。详细分析表明,专家们认为达到Richardson 成熟二级的规则至关重要,而达到第三级则不那么重要。获得的共识数据可以作为宝贵的投入,用于设计对REST API 的自动质量评价工具支持的方法,我们简要讨论这类方法的适用性要求。