Show simple item record

dc.contributor.authorVera-Rivera, F. H.
dc.contributor.authorPuerto Cuadros, Eduard Gilberto
dc.contributor.authorAstudillo, Hernán
dc.contributor.authorGaona, Carlos
dc.date.accessioned2022-12-06T20:45:52Z
dc.date.available2022-12-06T20:45:52Z
dc.date.issued2017
dc.identifier.urihttps://repositorio.ufps.edu.co/handle/ufps/6653
dc.description.abstractThe microservice granularity directly affects the quality attributes and usage of computational resources of the system, determining optimal microservice granularity is an open research topic. Microservices granularity is defined by the number of operations exposed by the microservice, the number of microservices that compose the whole application, and its complexity and dependencies. This paper describes "Microservice Backlog (MB)", a semiautomatic model for defining and evaluating the granularity of microservice-based applications; MB uses genetic programming technique to calculate at design time the granularity of each microservice from the user stories in the "product backlog" or release planning; the genetic algorithm combined coupling, cohesion, granularity, semantic similarity, and complexity metrics to define the number of microservices, and the user stories associated with each microservice. MB decomposes the candidate microservices, allowing to analyze graphically the size of each microservice, as well as its complexity, dependencies, coupling, cohesion metrics, and the number of calls or requests between microservices. The resulting decomposition (number of microservices and their granularity) performed by MB shows less coupling, higher cohesion, less complexity, fewer user stories associated with each microservice, and fewer calls among microservices. MB was validated against three existing methods, using two state-of-the-art applications (Cargo Tracking and JPet-Store), and one real-life applications (Foristom Conferences). The development team and/or architect can use metrics to identify the critical points of the system and determine at design time how the microservice-based application will be implemented.eng
dc.format.extent25 Pàginasspa
dc.format.mimetypeapplication/pdfspa
dc.language.isoengspa
dc.publisherIEEE Accessspa
dc.relation.ispartofIEEE Access.Vol 20. (2017)
dc.rights.urihttps://creativecommons.org/licenses/by-nc/4.0/spa
dc.sourcehttps://ieeexplore.ieee.org/document/9519691spa
dc.titleMicroservices backlog – a genetic programming technique for identification and evaluation of microservices from user stories.eng
dc.typeArtículo de revistaspa
dcterms.referencesK. Beck and M. Fowler, Planning Extreme Programming. Addison Wesley, 2001.spa
dcterms.referencesM. Pikkarainen, J. Haikara, O. Salo, P. Abrahamsson, and J.Still, “The impact of agile practices on communication in software development,” Empir. Softw. Eng., vol. 13, no. 3, pp. 303–337, Jun. 2008, doi: 10.1007/s10664-008-9065-9.spa
dcterms.referencesVersionone Enterprise, I. Digital.ai Software, and I. CollabNet, “14th annual state of agile report,” 2019. [Online]. Available: www.stateofagile.comspa
dcterms.referencesT. Sedano, P. Ralph, and C. Peraire, “The Product Backlog,” in Proceedings - International Conference on Software Engineering, May 2019, vol. 2019-May, pp. 200–211, doi: 10.1109/ICSE.2019.00036.spa
dcterms.referencesA. Balalaie, A. Heydarnoori, and P. Jamshidi, “Microservices Architecture Enables DevOps: Migration to a Cloud-Native Architecture,” IEEE Softw., vol. 33, no. 3, pp. 42–52, 2016, doi: 10.1109/MS.2016.64.spa
dcterms.referencesO. Zimmermann, “Microservices tenets: Agile approach to service development and deployment,” Comput. Sci. - Res. Dev., vol. 32, no. 3–4, pp. 301–310, 2017, doi: 10.1007/s00450-016-0337-0.spa
dcterms.referencesP. Jamshidi, C. Pahl, N. C. Mendonca, J. Lewis, and S. Tilkov, “Microservices: The Journey So Far and Challenges Ahead,” IEEE Softw., vol. 35, no. 3, pp. 24–35, May 2018, doi: 10.1109/MS.2018.2141039.spa
dcterms.referencesS. Hassan, R. Bahsoon, and R. Kazman, “Microservice Transition and its Granularity Problem: A Systematic Mapping Study,” Softw. Pract. Exp., no. February, pp. 1–31, 2020, doi: 10.1002/spe.2869.spa
dcterms.referencesN. Kulkarni and V. Dwivedi, “The role of service granularity in a successful soa realization - A case study,” in Proceedings - 2008 IEEE Congress on Services, SERVICES 2008, 2008, vol. PART 1, pp. 423–430, doi: 10.1109/SERVICES-1.2008.86.spa
dcterms.referencesA. Homay, M. de Sousa, A. Zoitl, and M. Wollschlaeger, “Service Granularity in Industrial Automation and Control Systems,” in 2020 25th IEEE International Conference on Emerging Technologies and Factory Automation (ETFA), Sep. 2020, pp. 132–139, doi: 10.1109/ETFA46521.2020.9212048.spa
dcterms.referencesF. H. Vera-Rivera, H. Astudillo, and C. M. Gaona-Cuevas, “Defining and measuring microservice granularity – a literature overview,” PeerJ Comput. Sci., vol. In reviewspa
dcterms.referencesF. H. Vera-Rivera, E. G. Puerto-Cuadros, H. Astudillo, and C. M. Gaona-Cuevas, “Microservices Backlog - A Model of Granularity Specification and Microservice Identification,” in International conference on service computing SCC 2020. Lecture Notes in Computer Science, Jun. 2020, vol. 12409 LNCS, pp. 85–102, doi: 10.1007/978-3-030-59592-0_6.spa
dcterms.referencesM. Gysel, L. Kölbener, W. Giersche, and O. Zimmermann, “Service Cutter: A Systematic Approach to Service Decomposition,” in IFIP International Federation for Information Processing 2016, 2016, pp. 185–200, doi: 10.1007/978-3-319-44482-6_12spa
dcterms.referencesC. Richardson and microservices.io, “Microservice Architecture pattern.” https://microservices.io/patterns/microservices.html (accessed Dec. 12, 2019).spa
dcterms.referencesO. Zimmermann, M. Stocker, U. Zdun, D. Lübke, and C. Pautasso, “Microservice API Patterns,” 2019. https://www.microservice-api-patterns.org/introduction (accessed Dec. 17, 2019).spa
dcterms.referencesA. Krause, C. Zirkelbach, W. Hasselbring, S. Lenga, and D. Kroger, “Microservice Decomposition via Static and Dynamic Analysis of the Monolith,” Proc. - 2020 IEEE Int. Conf. Softw. Archit. Companion, ICSA-C 2020, pp. 9–16, 2020, doi: 10.1109/ICSA-C50368.2020.00011.spa
dcterms.referencesO. Al-Debagy and P. Martinek, “Extracting Microservices’ Candidates from Monolithic Applications: Interface Analysis and Evaluation Metrics Approach,” in 2020 IEEE 15th International Conference of System of Systems Engineering (SoSE), Jun. 2020, pp. 289–294, doi: 10.1109/SoSE50414.2020.9130466.spa
dcterms.referencesW. Jin, T. Liu, Y. Cai, R. Kazman, R. Mo, and Q. Zheng, “Service Candidate Identification from Monolithic Systems based on Execution Traces,” IEEE Trans. Softw. Eng., vol. X, no. X, pp. 1–1, 2019, doi: 10.1109/TSE.2019.2910531.spa
dcterms.referencesM. Abdullah, W. Iqbal, and A. Erradi, “Unsupervised learning approach for web application auto-decomposition into microservices,” J. Syst. Softw., vol. 151, pp. 243–257, 2019, doi: 10.1016/j.jss.2019.02.031.spa
dcterms.referencesS. Li et al., “A dataflow-driven approach to identifying microservices from monolithic applications,” J. Syst. Softw., vol. 157, 2019, doi: 10.1016/j.jss.2019.07.008spa
dcterms.referencesD. Taibi and K. Syst, “From Monolithic Systems to Microservices: A Decomposition Framework based on Process Mining,” Int. Conf. Cloud Comput. Serv. Sci. - CLOSER 2019, no. March, 2019.spa
dcterms.referencesN. Santos et al., “A logical architecture design method for microservices architectures,” in ACM International Conference Proceeding Series, Sep. 2019, vol. 2, pp. 145–151, doi: 10.1145/3344948.3344991.spa
dcterms.referencesO. Al-Debagy and P. Martinek, “A new decomposition method for designing microservices,” Period. Polytech. Electr. Eng. Comput. Sci., vol. 63, no. 4, pp. 274–281, 2019, doi: 10.3311/PPee.13925spa
dcterms.referencesA. A. C. De Alwis, A. Barros, C. Fidge, and A. Polyvyanyy, “Business object centric microservices patterns,” in Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), 2019, vol. 11877 LNCS, pp. 476–495, doi: 10.1007/978-3-030-33246-4_30.spa
dcterms.referencesL. Nunes, N. Santos, and A. Rito Silva, “From a Monolith to a Microservices Architecture: An Approach Based on Transactional Contexts,” in 13th European Conference, ECSA 2019. Lectures Notes in Computer Science 11681, 2019, pp. 37–52, doi: 10.1007/978-3-030-29983-5_3.spa
dcterms.referencesA. Homay, A. Zoitl, M. De Sousa, M. Wollschlaeger, and C. Chrysoulas, “Granularity cost analysis for function block as a service,” IEEE Int. Conf. Ind. Informatics, vol. 2019-July, pp. 1199–1204, 2019, doi: 10.1109/INDIN41052.2019.8972205spa
dcterms.referencesM. Cojocaru, A. Uta, and A. M. Oprescu, “MicroValid: A validation framework for automatically decomposed microservices,” in Proceedings of the International Conference on Cloud Computing Technology and Science, CloudCom, Dec. 2019, vol. 2019-Decem, pp. 78–86, doi: 10.1109/CloudCom.2019.00023.spa
dcterms.referencesA. Christoforou, L. Odysseos, and A. Andreou, “Migration of Software Components to Microservices: Matching and Synthesis,” in Proceedings of the 14th International Conference on Evaluation of Novel Approaches to Software Engineering, 2019, pp. 134–146, doi: 10.5220/0007732101340146.spa
dcterms.referencesI. Saidani, A. Ouni, M. W. Mkaouer, and A. Saied, “Towards Automated Microservices Extraction Using Muti-objective Evolutionary Search,” in 17th International Conference Service-Oriented Computing. Lectures Notes in computer science 11895, Oct. 2019, pp. 58–63, doi: 10.1007/978-3-030-33702-5_5.spa
dcterms.referencesM. I. Josélyne, D. Tuheirwe-Mukasa, B. Kanagwa, and J. Balikuddembe, “Partitioning microservices - A Domain Engineering Approach,” in Proceedings of the 2018 International Conference on Software Engineering in Africa - SEiA ’18, 2018, pp. 43–49, doi: 10.1145/3195528.3195535.spa
dcterms.referencesH. Vural, M. Koyuncu, and S. Misra, “A Case Study on Measuring the Size of Microservices,” in International Conference on Computational Science and Its Applications - ICCSA 2018, 2018, pp. 454–463, doi: 10.1007/b98054spa
dcterms.referencesS. Tyszberowicz, R. Heinrich, B. Liu, and Z. Liu, “Identifying Microservices Using Functional Decomposition,” in International Symposium on Dependable Software Engineering: Theories, Tools, and Applications, 2018, vol. 10998, pp. 50–65, doi: 10.1007/978-3-319-99933-3.spa
dcterms.referencesA. A. C. De Alwis, A. Barros, A. Polyvyanyy, and C. Fidge, “Function-Splitting Heuristics for Discovery of Microservices in Enterprise Systems,” 2018, pp. 37–53.spa
dcterms.referencesM. Tusjunt and W. Vatanawood, “Refactoring Orchestrated Web Services into Microservices Using Decomposition Pattern,” in 2018 IEEE 4th International Conference on Computer and Communications (ICCC), Dec. 2018, pp. 609–613, doi: 10.1109/CompComm.2018.8781036.spa
dcterms.referencesZ. Ren et al., “Migrating web applications from monolithic structure to microservices architecture,” in ACM International Conference Proceeding Series, Sep. 2018, pp. 1–10, doi: 10.1145/3275219.3275230.spa
dcterms.referencesW. Hasselbring and G. Steinacker, “Microservice architectures for scalability, agility and reliability in e-commerce,” in Proceedings - 2017 IEEE International Conference on Software Architecture Workshops, ICSAW 2017: Side Track Proceedings, 2017, pp. 243–246, doi: 10.1109/ICSAW.2017.11.spa
dcterms.referencesJ. P. Gouigoux and D. Tamzalit, “From monolith to microservices: Lessons learned on an industrial migration to a web oriented architecture,” in Proceedings - 2017 IEEE International Conference on Software Architecture Workshops, ICSAW 2017: Side Track Proceedings, 2017, pp. 62–65, doi: 10.1109/ICSAW.2017.35.spa
dcterms.referencesD. Shadija, M. Rezai, and R. Hill, “Microservices: Granularity vs. Performance,” in UCC ’17 Companion Companion Proceedings of the10th International Conference on Utility and Cloud Computing, 2017, pp. 215–220, doi: 10.1145/3147234.3148093.spa
dcterms.referencesS. Hassan, N. Ali, and R. Bahsoon, “Microservice Ambients: An Architectural Meta-Modelling Approach for Microservice Granularity,” in Proceedings - 2017 IEEE International Conference on Software Architecture, ICSA 2017, Apr. 2017, pp. 1–10, doi: 10.1109/ICSA.2017.32.spa
dcterms.referencesL. Baresi, M. Garriga, and A. De Renzis, Microservices Identification through Interface Analysis, vol. 10465, no. November. Cham: Springer International Publishing, 2017.spa
dcterms.referencesG. Mazlami, J. Cito, and P. Leitner, “Extraction of Microservices from Monolithic Software Architectures,” in 2017 IEEE International Conference on Web Services (ICWS), Jun. 2017, pp. 524–531, doi: 10.1109/ICWS.2017.61.spa
dcterms.referencesG. Kecskemeti, A. Kertesz, and A. C. Marosi, “Towards a methodology to form microservices from monolithic ones,” in Euro-Par 2016 Workshops - Lecture Notes in Computer Science, 2017, vol. 10104 LNCS, pp. 284–295, doi: 10.1007/978-3-319-58943-5_23.spa
dcterms.referencesS. Hassan and R. Bahsoon, “Microservices and their design trade-offs: A self-adaptive roadmap,” Proc. - 2016 IEEE Int. Conf. Serv. Comput. SCC 2016, pp. 813–818, 2016, doi: 10.1109/SCC.2016.113spa
dcterms.referencesM. Ahmadvand and A. Ibrahim, “Requirements Reconciliation for Scalable and Secure Microservice (De)composition,” in 2016 IEEE 24th International Requirements Engineering Conference Workshops (REW), Sep. 2016, pp. 68–73, doi: 10.1109/REW.2016.026.spa
dcterms.referencesA. R. Hevner, S. T. March, J. Park, and S. Ram, “Design science in information systems research,” MIS Q., vol. 28, no. 1, pp. 75–105, 2004, Accessed: May 16, 2018. [Online]. Available: https://pdfs.semanticscholar.org/fa72/91f2073cb6fdbdd7c2213bf6d776d0ab411c.pdf.spa
dcterms.referencesE. Evans, Domain-Driven Design Reference - Definitions and Pattern Summaries. 2015.spa
dcterms.referencesL. Baresi, M. Garriga, and A. De Renzis, “Microservices identification through interface analysis,” in European Conference on Service-Oriented and Cloud Computing - Lecture Notes in Computer Science., Sep. 2017, vol. 10465 LNCS, pp. 19–33, doi: 10.1007/978-3-319-67262-5_2.spa
dcterms.referencesJ. Bogner, S. Wagner, and A. Zimmermann, “Towards a practical maintainability quality model for service-and microservice-based systems,” in Proceedings of the 11th European Conference on Software Architecture Companion Proceedings - ECSA ’17, 2017, vol. 3, pp. 195–198, doi: 10.1145/3129790.3129816.spa
dcterms.referencesI. Candela, G. Bavota, B. Russo, and R. Oliveto, “Using cohesion and coupling for software remodularization: Is it enough?,” ACM Trans. Softw. Eng. Methodol., vol. 25, no. 3, May 2016, doi: 10.1145/2928268.spa
dcterms.referencesD. Rud, A. Schmietendorf, and R. R. Dumke, “Product Metrics for Service-Oriented Infrastructures,” in Conference: Applied Software Measurement. Proceedings of the International Workshop on Software Metrics and DASMA Software Metrik Kongress (IWSM/MetriKon 2006), 2006, Accessed: Jun. 18,2019. [Online]. Available: http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.122.6887&rep=rep1&type=pdf.spa
dcterms.referencesSpacy.io, “Word Vectors and Semantic Similarity · spaCy Usage Documentation.” https://spacy.io/usage/vectors-similarity#basics (accessed Nov. 20, 2020).spa
dcterms.referencesM. Hirzalla, J. Cleland-Huang, and A. Arsanjani, “A Metrics Suite for Evaluating Flexibility and Complexity in Service Oriented Architectures,” Springer, Berlin, Heidelberg, 2009, pp. 41–52.spa
dcterms.referencesM. Cohn, User Stories applied for agile software development. Addison Wesley. Pearson Education Inc., 2004.spa
dcterms.referencesM. Cohn, Agile Estimating and Planning. New York, NY, USA, 2005.spa
dcterms.referencesK. Beck, Extreme Programming Explained: Embrace Change. Addison Wesley, 2000.spa
dcterms.referencesJ. Holland, Adaptation in natural and artificial systems. Michigan: University of Michigan Press, 1975spa
dcterms.referencesF. Herrera, M. Lozano, and J. L. Verdegay, Algoritmos Genéticos: Fundamentos, Extensiones y Aplicaciones. ProQuest, 1995.spa
dcterms.referencesmybatis.org, “Mybatis Jpetstore-6: A web application built on top of MyBatis 3, Spring 3 and Stripes.” https://github.com/mybatis/jpetstore-6 (accessed Nov. 22, 2020).spa
dcterms.referencesE. Evans, Domain-Driven Design. Addison Wesley, 2004.spa
dcterms.referencesM. I. Rahman, S. Panichella, and D. Taibi, “A Curated Dataset of Microservices-Based Systems,” in Joint Proceedings of the Inforte Summer School on Software Maintenance and Evolution (CEUR Workshop Proceedings; Vol. 2520). CEUR-WS., 2019, vol. 2520, Accessed: Feb. 14, 2020. [Online]. Available: http://research.tuni.fi/clowee.spa
dcterms.referencesG. Marquez and H. Astudillo, “Actual Use of Architectural Patterns in Microservices-Based Open Source Projects,” in Proceedings - Asia-Pacific Software Engineering Conference, APSEC, Jul. 2018, vol. 2018-December, pp. 31–40, doi: 10.1109/APSEC.2018.00017.spa
dcterms.referencesM. Perepletchikov, C. Ryan, and K. Frampton, “Cohesion Metrics for Predicting Maintainability of Service-Oriented Software,” in Seventh International Conference on Quality Software (QSIC 2007), 2007, pp. 328–335, doi: 10.1109/QSIC.2007.4385516.spa
dc.identifier.doi10.1109/ACCESS.2021.3106342
dc.relation.citationendpage25spa
dc.relation.citationissue(2017)spa
dc.relation.citationstartpage1spa
dc.relation.citationvolume20spa
dc.relation.citesWang, F. , Zhang, J. (2022) IEEE Advanced Information Technology, Electronic and Automation Control Conference (IAEAC)
dc.rights.accessrightsinfo:eu-repo/semantics/openAccessspa
dc.rights.creativecommonsAtribución-NoComercial 4.0 Internacional (CC BY-NC 4.0)spa
dc.subject.proposalService-oriented systems engineeringeng
dc.subject.proposalService computingeng
dc.subject.proposalSoftware designeng
dc.subject.proposalSoftware architectureeng
dc.subject.proposalWeb serviceseng
dc.subject.proposalMicro-services granularityeng
dc.subject.proposalMicroservices decompositionseng
dc.subject.proposalGenetic algorithmseng
dc.subject.proposalSoftware metricseng
dc.type.coarhttp://purl.org/coar/resource_type/c_2df8fbb1spa
dc.type.contentTextspa
dc.type.driverinfo:eu-repo/semantics/articlespa
dc.type.redcolhttp://purl.org/redcol/resource_type/ARTspa
oaire.accessrightshttp://purl.org/coar/access_right/c_abf2spa
oaire.versionhttp://purl.org/coar/version/c_970fb48d4fbd8a85spa
dc.type.versioninfo:eu-repo/semantics/publishedVersionspa


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record

https://creativecommons.org/licenses/by-nc/4.0/
Except where otherwise noted, this item's license is described as https://creativecommons.org/licenses/by-nc/4.0/