Skip to main content
Log in

Using architectural modifiability tactics to examine evolution qualities of Service- and Microservice-Based Systems

An approach based on principles and patterns

  • Special Issue Paper
  • Published:
SICS Software-Intensive Cyber-Physical Systems

Abstract

Software evolvability is an important quality attribute, yet one difficult to grasp. A certain base level of it is allegedly provided by Service- and Microservice-Based Systems, but many software professionals lack systematic understanding of the reasons and preconditions for this. We address this issue via the proxy of architectural modifiability tactics. By qualitatively mapping principles and patterns of Service-Oriented Architecture (SOA) and Microservices onto tactics and analyzing the results, we cannot only generate insights into service-oriented evolution qualities, but can also provide a modifiability comparison of the two popular service-based architectural styles. The results suggest that both SOA and Microservices possess several inherent qualities beneficial for software evolution. While both focus strongly on loose coupling and encapsulation, there are also differences in the way they strive for modifiability (e.g. governance vs. evolutionary design). To leverage the insights of this research, however, it is necessary to find practical ways to incorporate the results as guidance into the software development process.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Fig. 1
Fig. 2
Fig. 3

Similar content being viewed by others

Notes

  1. https://github.com/xjreb/research-modifiability-tactics.

  2. https://github.com/xjreb/research-modifiability-tactics.

References

  1. Alexander C, Ishikawa S, Silverstein M, i Ramió JR, Jacobson M, Fiksdahl-King I (1977) A pattern language. Gustavo Gili

  2. Ali M, Elish MO (2013) A comparative literature survey of design patterns impact on software quality. In: 2013 international conference on information science and applications (ICISA), pp 1–7. https://doi.org/10.1109/ICISA.2013.6579460

  3. Ameller D, Galster M, Avgeriou P, Franch X (2016) A survey on quality attributes in service-based systems. Softw. Qual. J. 24(2):271–299. https://doi.org/10.1007/s11219-015-9268-4

    Article  Google Scholar 

  4. Bachmann F, Bass L, Nord R (2007) Modifiability tactics. Tech. Rep. CMU/SEI-2007-TR-002, Software Engineering Institute, Carnegie Mellon University, Pittsburgh, PA

  5. Baker S, Dobson S (2005) Comparing service-oriented and distributed object architectures. In: Lecture notes in computer science (including subseries lecture notes in artificial intelligence and lecture notes in bioinformatics), vol. 3760 LNCS, pp 631–645. https://doi.org/10.1007/11575771_40

  6. Bass L, Clements P, Kazman R (2003) Software architecture in practice, 2nd edn. Addison-Wesley Professional, Westford

    Google Scholar 

  7. Bass L, Clements P, Kazman R (2012) Software architecture in practice, 3rd edn. Addison-Wesley Professional, Westford

    Google Scholar 

  8. Bogner J, Fritzsch J, Wagner S, Zimmermann A (2018) Limiting technical debt with maintainability assurance - an industry survey on used techniques and differences with Service- and Microservice-Based Systems. In: Proceedings of the 1st international conference on technical debt (TechDebt’18). ACM, Gothenburg, Sweden. https://doi.org/10.1145/3194164.3194166

  9. Bogner J, Zimmermann A, Wagner S (2018) Analyzing the relevance of SOA patterns for Microservice-Based Systems. In: Proceedings of the 10th central European workshop on services and their composition (ZEUS’18). CEUR-WS.org

  10. Capelli S, Scandurra P (2016) A framework for early design and prototyping of service-oriented applications with design patterns. Comput Lang Syst Struct 46:140–166. https://doi.org/10.1016/j.cl.2016.07.001

    Google Scholar 

  11. Erl T (2005) Service-Oriented Architecture: concepts, technology, and design. Prentice Hall PTR, Upper Saddle River

    Google Scholar 

  12. Erl T (2009) SOA design patterns. Pearson Education, Boston

    Google Scholar 

  13. Erl T, Carlyle B, Pautasso C, Balasubramanian R (2012) SOA with REST: principles, patterns and constraints for building enterprise solutions with REST. The prentice hall service technology series from Thomas Erl. Pearson Education

  14. Fowler M (2015) Microservices resource guide. URL http://martinfowler.com/microservices

  15. Galster M, Avgeriou P (2012) Qualitative analysis of the impact of SOA patterns on quality attributes. In: 2012 12th international conference on quality software, pp 167–170. https://doi.org/10.1109/QSIC.2012.35

  16. Gamma E, Helm R, Johnson R, Vlissides J (1994) Design patterns: elements of reusable object-oriented software. Addison-Wesley, Boston

    MATH  Google Scholar 

  17. Hegedűs P, Bán D, Ferenc R, Gyimóthy T (2012) Myth or reality? Analyzing the effect of design patterns on software maintainability. In: Kim Th, Ramos C, Kim Hk, Kiumi A, Mohammed S, Ślȩzak D (eds) communications in computer and information science, communications in computer and information science, vol 340, pp. 138–145. Springer, Berlin. https://doi.org/10.1007/978-3-642-35267-6_18

  18. Mcheick H, Qi Y (2012) Quality attributes and design decisions in service-oriented computing. In: 2012 international conference on innovations in information technology (IIT), IEEE, pp 283–287. https://doi.org/10.1109/INNOVATIONS.2012.6207749

  19. Me G, Procaccianti G, Lago P (2017) Challenges on the relationship between architectural patterns and quality attributes. In: 2017 IEEE international conference on software architecture (ICSA), IEEE, pp 141–144. https://doi.org/10.1109/ICSA.2017.19

  20. Mirandola R, Potena P, Scandurra P (2014) Adaptation space exploration for service-oriented applications. Sci Comput Program 80(PART B):356–384. https://doi.org/10.1016/j.scico.2013.09.017

    Article  Google Scholar 

  21. Newman S (2015) Building microservices: designing fine-grained systems, 1st edn. O’Reilly Media, Newton

    Google Scholar 

  22. Papazoglou MP (2003) Service-oriented computing: concepts, characteristics and directions. In: Proceedings of the 7th international conference on properties and applications of dielectric materials (Cat. No.03CH37417), IEEE Comput. Soc., pp 3–12. https://doi.org/10.1109/WISE.2003.1254461

  23. Parvizi-Mosaed A, Moaven S, Habibi J, Beigi G, Naser-Shariat M (2015) Towards a self-adaptive service-oriented methodology based on extended SOMA. Front Inf Technol Electron Eng 16(1):43–69. https://doi.org/10.1631/FITEE.1400040

    Article  Google Scholar 

  24. Parvizi-Mosaed A, Moaven S, Habibi J, Heydarnoori A (2014) Towards a tactic-based evaluation of self-adaptive software architecture availability. In: The 26th international conference on software engineering and knowledge engineering, hyatt regency, Vancouver, BC, Canada, July 1–3, 2013, pp 168–173

  25. Perepletchikov M, Ryan C, Frampton K (2005) Comparing the impact of service-oriented and object-oriented paradigms on the structural properties of software. Lecture notes in computer science (including subseries lecture notes in artificial intelligence and lecture notes in bioinformatics) 3762 LNCS, pp 431–441. https://doi.org/10.1007/11575863_63

  26. Riaz M, Breaux T, Williams L (2015) How have we evaluated software pattern application? A systematic mapping study of research design practices. Inf Softw Technol 65:14–38. https://doi.org/10.1016/j.infsof.2015.04.002

    Article  Google Scholar 

  27. Richards M (2016) Microservices vs. Service-Oriented Architecture. O’Reilly Media, Sebastopol

    Google Scholar 

  28. Richardson C (2018) Microservices patterns. Manning Publications, Shelter Island

    Google Scholar 

  29. Rotem-Gal-Oz A (2012) SOA patterns. Manning, Shelter Island

    Google Scholar 

  30. Voelz D, Goeb A (2010) What is different in quality management for SOA? In: 2010 14th IEEE international enterprise distributed object computing conference, IEEE, pp 47–56. https://doi.org/10.1109/EDOC.2010.27

  31. Yu Y, Fernandez-Ramil J, Lu J, Yuan P (2007) Comparing web services with other software components. In: Proceedings—2007 IEEE international conference on web services, ICWS 2007, Icws, IEEE, pp 388–397. https://doi.org/10.1109/ICWS.2007.64

  32. Zimmermann O (2017) Microservices tenets. Comput Sci Res Dev 32(3–4):301–310. https://doi.org/10.1007/s00450-016-0337-0

    Article  Google Scholar 

Download references

Acknowledgements

This research was partially funded by the Ministry of Science of Baden-Württemberg, Germany, for the Doctoral Program “Services Computing”. http://www.services-computing.de/?lang=en.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Justus Bogner.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Bogner, J., Wagner, S. & Zimmermann, A. Using architectural modifiability tactics to examine evolution qualities of Service- and Microservice-Based Systems. SICS Softw.-Inensiv. Cyber-Phys. Syst. 34, 141–149 (2019). https://doi.org/10.1007/s00450-019-00402-z

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00450-019-00402-z

Keywords

Navigation