Abstract
As technology is evolving rapidly and market demand is changing quicker than ever, many are trying to implement service orientation and adopt market standards to improve adaptivity. A microservice architecture makes applications easier to scale and faster to develop, enabling innovation and accelerating time-to-market for new features. The question then arises how to design a manageable and stable set of microservices that is sufficient for the business. In this paper we systematically deduce an algorithm to derive a set of microservices, expressed according to the OpenAPI standard, from the ontological model of an enterprise, that is stable by nature, sufficient for the business, and based on units of clear size. This algorithm has the DEMO operating cycle at its heart and has been evaluated with the real-life Social Housing case at ICTU by creating a SwaggerHub implementation. Further research should clarify the role of implementation choices in the algorithm.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
Bichler, M.: Design science in information systems research. WIRTSCHAFTSINFORMATIK 48(2), 133–135 (2006). https://doi.org/10.1007/s11576-006-0028-8
Bush, T.: What is the difference between APIs and microservices? January 2019. https://nordicapis.com/what-is-the-difference-between-apis-and-microservices/. Accessed 18 Nov 2021
Desai, V., Koladia, Y., Pansambal, S.: Microservices: architecture and technologies. Int. J. Res. Appl. Sci. Eng. Technol. (IJRASET) 8(X) (2020). https://doi.org/10.22214/ijraset.2020.31979
Dietz, J.L.G.: Enterprise Ontology – Theory and methodology. Springer, Berlin (2006). https://doi.org/10.1007/3-540-33149-2_2
Dietz, J.L.G.: The DEMO Specification Language v4.5. Technical Report, Enterprise Engineering institute, July 2020. https://demo.nl/mdocs-posts/2020-07-31-demo-specification-language-4-5/
Dietz, J.L.G., Hoogervorst, J.A.P.: Enterprise ontology and enterprise architecture - how to let them evolve into effective complementary notions. GEAO J. Enter. Archit. 2007, 1 (2007)
Dietz, J.L.G., Mulder, J.B.F.: Enterprise Ontology – A Human-Centric Approach to Understanding the Essence of Organisation. The Enterprise Engineering Series, Springer, Cham (2020). https://doi.org/10.1007/978-3-030-38854-6
Dijkstra, Edsger W: On the role of scientific thought. In: Selected writings on Computing: A Personal Perspective. Texts and Monographs in Computer Science. Springer, New York, pp. 60–66 (1982). https://doi.org/10.1007/978-1-4612-5695-3_12
Dragoni, N., et al.: Microservices: yesterday, today, and tomorrow. CoRR, June 2016. http://arxiv.org/abs/1606.04036
Farinelli, D., McAllister, D.: API vs. Microservices: a microservice is more than just an API, October 2019. https://dzone.com/articles/api-vs-microservices-a-microservice-is-more-than-j. Accessed 11 Nov 2021
Farley, D.: The problem with microservices, October 2020. https://www.youtube.com/watch?v=zzMLg3Ys5vI. Accessed 18 Nov 2021
Fielding, R., et al.: RFC 2616, Hypertext Transfer Protocol - HTTP/1.1, June 1999. http://www.rfc.net/rfc2616.html. Accessed 04 Jan 2022
Folwer, M., Lewis, J.: Microservices: Nur ein weiteres Konzeptin der Softwarearchitektur oder mehr? Online Themenspecial Innovation in und durch Architekturen 2015 (2015)
Fowler, M.: Microservices, March 2014. http://martinfowler.com/articles/microservices.html. Accessed 05 Nov 2021
Hardjosumarto, G.: An Enterprise Ontology basedApproach to Service Specification. Master’s thesis, Delft University of Technology (2008)
Henning, M.: API design matters. Commun. ACM 52(5), 46–56 (2009). https://doi.org/10.1145/1506409.1506424
Hevner, A.R.: A three cycle view of design science research. Scandinavian J. Inf. Syst. 19(2), 87–92 (2007)
de Jong, J.: A Method for Enterprise Ontology based Design of for Enterprise Information Systems. Ph.D. thesis, TU Delft (2013)
Juviler, J.: Microservices vs. APIs: what’s the difference? November 2020. https://blog.hubspot.com/website/microservices-vs-api. Accessed 18 Nov 2021
Krouwel, M.R., Op ’t Land, M., Offerman, T.: Formalizing organization implementation. In: Advances in Enterprise Engineering X, pp. 3–18. EEWC 2016, Funchal, Madeira Island, Portugal (2016). https://doi.org/10.1007/978-3-319-39567-8_1
Kwan, A., Jacobsen, H.A., Chan, A., Samoojh, S.: Microservices in the modern software world. In: Proceedings of the 26th Annual International Conference on Computer Science and Software Engineering, pp. 297–299. CASCON 2016, IBM Corp., USA (2016)
Linux Foundation: OpenAPI Specification v3.1.0, February 2021. https://spec.openapis.org/oas/v3.1.0. Accessed 21 Nov 2021
Loukides, M., Swoyer, S.: Microservices Adoption in 2020. Technical Report, O’Reilly, July 2020. https://www.oreilly.com/radar/microservices-adoption-in-2020/. Accessed 06 Jan 2022
Mannaert, H., Verelst, J.: Normalized systems: re-creating information technology based on laws for software evolvability. Koppa, Kermt, Belgium (2009)
March, S.T., Smith, G.F.: Design and natural science research on information technology. Decis. Support Syst. 15(4), 251–266 (1995). https://doi.org/10.1016/0167-9236(94)00041-2
Op ’t Land, M.: Applying Architecture and Ontology to the Splitting and Allying of Enterprises. Ph.D. thesis, Delft University of Technology, June 2008. http://resolver.tudelft.nl/uuid:0edd0472-39df-4296-b692-e9916e79fb1e
Op ’t Land, M., Krouwel, M.R., Gort, S.: Testing the concept of the RUN-Time Adaptive enterprise. In: Aveiro, D., Guizzardi, G., Pergl, R., Proper, H.A. (eds.) EEWC 2020. LNBIP, vol. 411, pp. 228–242. Springer, Cham (2021). https://doi.org/10.1007/978-3-030-74196-9_13
Sandoval, K.: Ultimate Guide To 9 Common HTTP Methods, January 2020. https://nordicapis.com/ultimate-guide-to-all-9-standard-http-methods/. Accessed 04 Jan 2022
Simon, H.A.: The Sciences of the Artificial, 3rd edn. MIT Press, Cambridge (1996)
Steghuis, C.: Service granularity in SOA-projects : a trade-off analysis. Master’s thesis, University of Twente, June 2006. http://essay.utwente.nl/57339/
Terlouw, L.I., Albani, A.: An enterprise ontology-based approach to service specification. IEEE Trans. Serv. Comput. 6(1), 89–101 (2013). https://doi.org/10.1109/TSC.2011.38
The Open Group (TOG): Microservices Architecture (2016). http://www.opengroup.org/soa/source-book/msawp/. Accessed 21 Nov 2021
Wiersma, R., Ravesteyn, P.: A method for defining optimum service granularity. In: 21\(^{st}\) Annual International Information Management Association (IIMA), Utrecht, The Netherlands (2010)
Wikipedia: Microservices. https://en.wikipedia.org/wiki/Microservices. Accessed 11 Nov 2021
Zimmermann, O.: Microservices tenets. Comput. Sc. Res. Dev. 32(3), 301–310 (2016). https://doi.org/10.1007/s00450-016-0337-0
Zimmermann, O.: domain specific service decomposition with microservice API patterns, February 2019. https://www.conf-micro.services/2019/slides//keynotes/Zimmerman.pdf. Accessed 11 Nov 2021
Acknowledgments
For this inspiring collaboration of industry with academia, we want to thank ICTU, and especially its Senior Advisor Steven Gort, for their sponsorship in evaluating the algorithm.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2022 Springer Nature Switzerland AG
About this paper
Cite this paper
Krouwel, M.R., Op ’t Land, M. (2022). Business Driven Microservice Design. In: Aveiro, D., Proper, H.A., Guerreiro, S., de Vries, M. (eds) Advances in Enterprise Engineering XV. EEWC 2021. Lecture Notes in Business Information Processing, vol 441. Springer, Cham. https://doi.org/10.1007/978-3-031-11520-2_7
Download citation
DOI: https://doi.org/10.1007/978-3-031-11520-2_7
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-11519-6
Online ISBN: 978-3-031-11520-2
eBook Packages: Computer ScienceComputer Science (R0)