Abstract
One of the key principles of the service orientation is the standardised service contract. However, the assumption that the service contract is kept unmodified during the whole life-cycle of a system is not always held. Evolution changes on the service APIs have an impact on the maintainability of their programming clients within the system making difficult the continuous integration of the services. The metrics that have currently been applied for the service maintainability assess the service coupling, cohesion, complexity, and granularity. Software stability can further contribute in assessing the maintainability of systems. However, it is challenging to measure the stability of service APIs without having evolved their programming clients, because it should be measured by considering the types of the evolution changes in APIs that have direct impact on the programming clients. To address this challenge, we define a set of mappings between evolved service APIs based on which the stability changes can be determined. We further specify a generic algorithm that recognises the evolution changes required on the programming clients of the evolved APIs. We finally define an initial version of a suite of metrics that estimate the stability of a service system without assuming the existence of the evolved programming clients.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Erl, T.: Service-Oriented Architecture: Analysis and Design for Services and Microservices, 2nd edn. Prentice Hall (2016)
Newman, S.: Building Microservices, 1st edn. O’Reilly Media Inc. (2015)
Taibi, D., Systä, K.: A decomposition and metric-based evaluation framework for microservices. CoRR, abs/1908.08513 (2019)
Andrikopoulos, V., Benbernou, S., Papazoglou, M.P.: On the evolution of services. IEEE Trans. Softw. Eng. 38(3), 609–628 (2012)
Rahman, M.I., Panichella, S., Taibi, D.: A curated dataset of microservices-based systems. CoRR, abs/1909.03249 (2019)
Zhu, L., Bass, L., Champlin-Scharff, G.: Devops and its practices. IEEE Softw. 33(3), 32–34 (2016)
Bogner, J., Wagner, S., Zimmermann, A.: Towards a practical maintainability quality model for service-and microservice-based systems. In: European Conference on Software Architecture, pp. 195–198. ACM (2017)
Soong, N.L.: A program stability measure. In: ACM Annual Conference, pp. 163–173 (1977)
Li, W., Etzkorn, L.H., Davis, C.G., Talburt, J.R.: An empirical study of object-oriented system evolution. Inf. Softw. Technol. 42(6), 373–381 (2000)
Baig, J.J.A., Mahmood, S., Alshayeb, M., Niazi, M.: Package-level stability evaluation of object-oriented systems. Inf. Softw. Technol. 116, 106172 (2019)
Perepletchikov, M., Ryan, C., Frampton, K.: Cohesion metrics for predicting maintainability of service-oriented software. In: International Conference on Quality Software, pp. 328–335. IEEE Computer Society (2007)
Perepletchikov, M., Ryan, C., Frampton, K., Tari, Z.: Coupling metrics for predicting maintainability in service-oriented designs. In: Australian Software Engineering Conference, pp. 329–340. IEEE Computer Society (2007)
Jin, W., Liu, T., Zheng, Q., Cui, D., Cai, Y.: Functionality-oriented microservice extraction based on execution trace clustering. In: International Conference on Web Services, pp. 211–218. IEEE (2018)
Alshuqayran, N., Ali, N., Evans, R.: A systematic mapping study in microservice architecture. In: International Conference on Service-Oriented Computing and Applications, pp. 44–51. IEEE Computer Society (2016)
Bogner, J., Fritzsch, J., Wagner, S., Zimmermann, A.: Assuring the evolvability of microservices: insights into industry practices and challenges. In: International Conference on Software Maintenance and Evolution, pp. 546–556. IEEE (2019)
Asik, T., Selçuk, Y.E.: Policy enforcement upon software based on microservice architecture. In: International Conference on Software Engineering Research, pp. 283–287. IEEE (2017)
Cardarelli, M., Iovino, L., Di Francesco, P., Di Salle, A., Malavolta, I., Lago, P.: An extensible data-driven approach for evaluating the quality of microservice architectures. In: Symposium on Applied Computing, pp. 1225–1234. ACM (2019)
Jiang, H., Ho, H., Popa, L., Han, W.-S.: Mapping-driven xml transformation. In: International Conference on World Wide Web, pp. 1063–1072 (2007)
Athanasopoulos, D., Zarras, A.V., Vassiliadis, P., Issarny, V.: Mining service abstractions. In: International Conference on Software Engineering, pp. 944–947. ACM (2011)
Li, J., Xiong, Y., Liu, X., Zhang, L.: How does web service API evolution affect clients? In: International Conference on Web Services, pp. 300–307. IEEE Computer Society (2013)
Hora, A., Robbes, R., Valente, M.T., Anquetil, N., Etien, A., Ducasse, S.: How do developers react to API evolution? A large-scale empirical study. Softw. Qual. J. 26(1), 161–191 (2016). https://doi.org/10.1007/s11219-016-9344-4
Stroulia, E., Wang, Y.: Structural and semantic matching for assessing web-service similarity. Int. J. Coop. Inf. Syst. 14, 407–438 (2005)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2021 Springer Nature Switzerland AG
About this paper
Cite this paper
Athanasopoulos, D., Keenan, D. (2021). Stability Metrics for Continuous Integration of Service-Oriented Systems. In: Brambilla, M., Chbeir, R., Frasincar, F., Manolescu, I. (eds) Web Engineering. ICWE 2021. Lecture Notes in Computer Science(), vol 12706. Springer, Cham. https://doi.org/10.1007/978-3-030-74296-6_11
Download citation
DOI: https://doi.org/10.1007/978-3-030-74296-6_11
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-74295-9
Online ISBN: 978-3-030-74296-6
eBook Packages: Computer ScienceComputer Science (R0)