skip to main content
10.1145/3466933.3466949acmotherconferencesArticle/Chapter ViewAbstractPublication PagessbsiConference Proceedingsconference-collections
research-article

Mon4Aware: A multi-objective and context-aware approach to decompose monolithic applications

Published:08 July 2021Publication History

ABSTRACT

This article introduces Mon4Aware, a multi-objective and context-aware approach to decompose monolithic applications. Mon4Aware stands out for: (1) using optimization based on multiple objective to allow monolithic applications to be modularized in different ways, making its decomposition process flexible; and (2) to propose a context meta-model to allow the decomposed modules of the monolithic application to be able to adapt under certain contextual situations. Software developers can use Mon4Aware as a guide to modernization activities for monolithic applications, making them less error-prone. The approach was evaluated through a case study, in which the conceptual viability of Mon4Aware was demonstrated, as well as promising initial results in generating recommendations for the decomposition of monolithic applications.

References

  1. Luciano Baresi, Martin Garriga, and Alan De Renzis. 2017. Microservices identification through interface analysis. In European Conference on Service-Oriented and Cloud Computing. Springer, 19–33.Google ScholarGoogle ScholarCross RefCross Ref
  2. Albert Brouillette, Devraj Sarmah, and Jugal Kalita. 2012. Multi-objective optimization for efficient brahmic keyboards. In Proceedings of the Second Workshop on Advances in Text Input Methods. 29–44.Google ScholarGoogle Scholar
  3. Rafael Capilla, Óscar Ortiz, and Mike Hinchey. 2014. Context variability for context-aware systems. Computer2(2014), 85–87.Google ScholarGoogle Scholar
  4. R. Chen, S. Li, and Z. Li. 2017. From Monolith to Microservices: A Dataflow-Driven Approach. In 2017 24th Asia-Pacific Software Engineering Conference (APSEC). 466–475.Google ScholarGoogle Scholar
  5. Anind K Dey. 2001. Understanding and using context. Personal and ubiquitous computing 5, 1 (2001), 4–7.Google ScholarGoogle Scholar
  6. Paolo Di Francesco, Patricia Lago, and Ivano Malavolta. 2019. Architecting with microservices: A systematic mapping study. Journal of Systems and Software 150 (2019), 77–97.Google ScholarGoogle ScholarCross RefCross Ref
  7. Nicola Dragoni, Schahram Dustdar, Stephan T Larsen, and Manuel Mazzara. 2017. Microservices: Migration of a mission critical system. arXiv preprint arXiv:1704.04173(2017).Google ScholarGoogle Scholar
  8. Benoît Duhoux, Kim Mens, and Bruno Dumas. 2019. Implementation of a feature-based context-oriented programming language. In Proceedings of the Workshop on Context-oriented Programming. 9–16.Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Daniel Escobar, Diana Cárdenas, Rolando Amarillo, Eddie Castro, Kelly Garcés, Carlos Parra, and Rubby Casallas. 2016. Towards the understanding and evolution of monolithic applications as microservices. In 2016 XLII Latin American Computing Conference (CLEI). 1–11.Google ScholarGoogle ScholarCross RefCross Ref
  10. Sinan Eski and Feza Buzluca. 2018. An Automatic Extraction Approach: Transition to Microservices Architecture from Monolithic Application. In Proceedings of the 19th International Conference on Agile Software Development: Companion(XP ’18). Association for Computing Machinery, New York, NY, USA, Article 25, 6 pages.Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Jonas Fritzsch, Justus Bogner, Alfred Zimmermann, and Stefan Wagner. 2018. From monolith to microservices: a classification of refactoring approaches. In International Workshop on Software Engineering Aspects of Continuous Development and New Paradigms of Software Production and Deployment. Springer, 128–141.Google ScholarGoogle Scholar
  12. Michael Gysel, Lukas Kölbener, Wolfgang Giersche, and Olaf Zimmermann. 2016. Service Cutter: A Systematic Approach to Service Decomposition. In Service-Oriented and Cloud Computing, Marco Aiello, Einar Broch Johnsen, Schahram Dustdar, and Ilche Georgievski (Eds.). Springer International Publishing, Cham, 185–200.Google ScholarGoogle Scholar
  13. Antonia Hadjimichael, David Gold, David Hadka, and Patrick Reed. 2020. Rhodium: Python library for many-objective robust decision making and exploratory modeling. Journal of Open Research Software 8, 1 (2020).Google ScholarGoogle ScholarCross RefCross Ref
  14. H. Knoche and W. Hasselbring. 2018. Using Microservices for Legacy Software Modernization. IEEE Software 35, 3 (May 2018), 44–49.Google ScholarGoogle ScholarCross RefCross Ref
  15. Alessandra Levcovitz, Ricardo Terra, and Marco Tulio Valente. 2016. Towards a technique for extracting microservices from monolithic enterprise systems. arXiv preprint arXiv:1605.03175(2016).Google ScholarGoogle Scholar
  16. Seng Loke. 2006. Context-aware pervasive systems: architectures for a new breed of applications. CRC Press.Google ScholarGoogle Scholar
  17. G. Mazlami, J. Cito, and P. Leitner. 2017. Extraction of Microservices from Monolithic Software Architectures. In 2017 IEEE International Conference on Web Services (ICWS). 524–531.Google ScholarGoogle Scholar
  18. Kim Mens, Rafael Capilla, Nicolás Cardozo, and Bruno Dumas. 2016. A taxonomy of context-aware software variability approaches. In Companion Proceedings of the 15th International Conference on Modularity. 119–124.Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Kim Mens, Rafael Capilla, Herman Hartmann, and Thomas Kropf. 2017. Modeling and managing context-aware systems’ variability. IEEE Software6(2017), 58–63.Google ScholarGoogle Scholar
  20. Kaisa Miettinen. 2012. Nonlinear multiobjective optimization. Vol. 12. Springer Science & Business Media.Google ScholarGoogle Scholar
  21. Seyedali Mirjalili and Jin Song Dong. 2020. Multi-objective optimization using artificial intelligence techniques. Springer.Google ScholarGoogle Scholar
  22. Hausi Müller and Norha Villegas. 2014. Runtime Evolution of Highly Dynamic Software. In Evolving Software Systems. Springer Berlin Heidelberg, Berlin, Heidelberg, 229–264.Google ScholarGoogle Scholar
  23. Claus Pahl and Pooyan Jamshidi. 2016. Microservices: A Systematic Mapping Study. In Proceedings of the 6th International Conference on Cloud Computing and Services Science - Volume 1 and 2(CLOSER 2016). SCITEPRESS - Science and Technology Publications, Lda, Portugal, 137–146.Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Zhongshan Ren, Wei Wang, Guoquan Wu, Chushu Gao, Wei Chen, Jun Wei, and Tao Huang. 2018. Migrating web applications from monolithic structure to microservices architecture. In Proceedings of the Tenth Asia-Pacific Symposium on Internetware. 1–10.Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Mon4Aware: A multi-objective and context-aware approach to decompose monolithic applications
          Index terms have been assigned to the content through auto-classification.

          Recommendations

          Comments

          Login options

          Check if you have access through your login credentials or your institution to get full access on this article.

          Sign in
          • Published in

            cover image ACM Other conferences
            SBSI '21: Proceedings of the XVII Brazilian Symposium on Information Systems
            June 2021
            453 pages
            ISBN:9781450384919
            DOI:10.1145/3466933

            Copyright © 2021 ACM

            Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

            Publisher

            Association for Computing Machinery

            New York, NY, United States

            Publication History

            • Published: 8 July 2021

            Permissions

            Request permissions about this article.

            Request Permissions

            Check for updates

            Qualifiers

            • research-article
            • Research
            • Refereed limited

            Acceptance Rates

            Overall Acceptance Rate181of557submissions,32%
          • Article Metrics

            • Downloads (Last 12 months)16
            • Downloads (Last 6 weeks)3

            Other Metrics

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader

          HTML Format

          View this article in HTML Format .

          View HTML Format