{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,4,16]],"date-time":"2026-04-16T21:05:18Z","timestamp":1776373518846,"version":"3.51.2"},"publisher-location":"Cham","reference-count":23,"publisher":"Springer International Publishing","isbn-type":[{"value":"9783030299828","type":"print"},{"value":"9783030299835","type":"electronic"}],"license":[{"start":{"date-parts":[[2019,1,1]],"date-time":"2019-01-01T00:00:00Z","timestamp":1546300800000},"content-version":"tdm","delay-in-days":0,"URL":"http:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2019]]},"DOI":"10.1007\/978-3-030-29983-5_3","type":"book-chapter","created":{"date-parts":[[2019,9,1]],"date-time":"2019-09-01T19:02:43Z","timestamp":1567364563000},"page":"37-52","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":37,"title":["From a Monolith to a Microservices Architecture: An Approach Based on Transactional Contexts"],"prefix":"10.1007","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-3924-450X","authenticated-orcid":false,"given":"Lu\u00eds","family":"Nunes","sequence":"first","affiliation":[]},{"ORCID":"https:\/\/orcid.org\/0000-0002-2742-8707","authenticated-orcid":false,"given":"Nuno","family":"Santos","sequence":"additional","affiliation":[]},{"ORCID":"https:\/\/orcid.org\/0000-0001-9840-457X","authenticated-orcid":false,"given":"Ant\u00f3nio","family":"Rito Silva","sequence":"additional","affiliation":[]}],"member":"297","published-online":{"date-parts":[[2019,9,2]]},"reference":[{"key":"3_CR1","doi-asserted-by":"crossref","unstructured":"Ahmadvand, M., Ibrahim, A.: Requirements reconciliation for scalable and secure microservice (de)composition. In: 2016 IEEE 24th International Requirements Engineering Conference Workshops (REW), pp. 68\u201373, September 2016","DOI":"10.1109\/REW.2016.026"},{"key":"3_CR2","doi-asserted-by":"crossref","unstructured":"Amiri, M.J.: Object-aware identification of microservices. In: 2018 IEEE International Conference on Services Computing (SCC), pp. 253\u2013256, July 2018","DOI":"10.1109\/SCC.2018.00042"},{"key":"3_CR3","unstructured":"Anquetil, N., Fourrier, C., Lethbridge, T.C.: Experiments with clustering as a software remodularization method. In: Proceedings of the Sixth Working Conference on Reverse Engineering, WCRE 1999, p. 235, IEEE Computer Society, Washington, DC (1999)"},{"issue":"6","key":"3_CR4","doi-asserted-by":"publisher","first-page":"216","DOI":"10.1145\/318774.318944","volume":"24","author":"T Ball","year":"1999","unstructured":"Ball, T.: The concept of dynamic analysis. SIGSOFT Softw. Eng. Notes 24(6), 216\u2013234 (1999)","journal-title":"SIGSOFT Softw. Eng. Notes"},{"key":"3_CR5","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"19","DOI":"10.1007\/978-3-319-67262-5_2","volume-title":"Service-Oriented and Cloud Computing","author":"L Baresi","year":"2017","unstructured":"Baresi, L., Garriga, M., De Renzis, A.: Microservices identification through interface analysis. In: De Paoli, F., Schulte, S., Broch Johnsen, E. (eds.) ESOCC 2017. LNCS, vol. 10465, pp. 19\u201333. Springer, Cham (2017). \n                      https:\/\/doi.org\/10.1007\/978-3-319-67262-5_2"},{"key":"3_CR6","doi-asserted-by":"crossref","unstructured":"Brewer, E.A.: Towards robust distributed systems (abstract). In: Proceedings of the Nineteenth Annual ACM Symposium on Principles of Distributed Computing, PODC 2000, p. 7. ACM, New York (2000)","DOI":"10.1145\/343477.343502"},{"key":"3_CR7","doi-asserted-by":"crossref","unstructured":"Cachopo, J., Rito-Silva, A.: Combining software transactional memory with a domain modeling language to simplify web application development. In: Proceedings of the 6th International Conference on Web Engineering, ICWE 2006, pp. 297\u2013304. ACM, New York (2006)","DOI":"10.1145\/1145581.1145640"},{"key":"3_CR8","doi-asserted-by":"crossref","unstructured":"Carrasco, A., van Bladel, B., Demeyer, S.: Migrating towards microservices: migration and architecture smells. In: Proceedings of the 2nd International Workshop on Refactoring, IWoR 2018, pp. 1\u20136. ACM, New York (2018)","DOI":"10.1145\/3242163.3242164"},{"key":"3_CR9","doi-asserted-by":"crossref","unstructured":"Escobar, D., et al.: Towards the understanding and evolution of monolithic applications as microservices. In: 2016 XLII Latin American Computing Conference (CLEI), pp. 1\u201311, October 2016","DOI":"10.1109\/CLEI.2016.7833410"},{"key":"3_CR10","volume-title":"Domain-Driven Design: Tackling Complexity In the Heart of Software","author":"EJ Evans","year":"2003","unstructured":"Evans, E.J.: Domain-Driven Design: Tackling Complexity In the Heart of Software. Addison-Wesley Longman Publishing Co., Inc., Boston (2003)"},{"key":"3_CR11","doi-asserted-by":"crossref","unstructured":"Di Francesco, P., Lago, P., Malavolta, I.: Migrating towards microservice architectures: an industrial survey. In: 2018 IEEE International Conference on Software Architecture (ICSA), p. 29-2909, April 2018","DOI":"10.1109\/ICSA.2018.00012"},{"key":"3_CR12","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"128","DOI":"10.1007\/978-3-030-06019-0_10","volume-title":"Software Engineering Aspects of Continuous Development and New Paradigms of Software Production and Deployment","author":"J Fritzsch","year":"2019","unstructured":"Fritzsch, J., Bogner, J., Zimmermann, A., Wagner, S.: From monolith to microservices: a classification of refactoring approaches. In: Bruel, J.-M., Mazzara, M., Meyer, B. (eds.) DEVOPS 2018. LNCS, vol. 11350, pp. 128\u2013141. Springer, Cham (2019). \n                      https:\/\/doi.org\/10.1007\/978-3-030-06019-0_10"},{"key":"3_CR13","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"185","DOI":"10.1007\/978-3-319-44482-6_12","volume-title":"Service-Oriented and Cloud Computing","author":"M Gysel","year":"2016","unstructured":"Gysel, M., K\u00f6lbener, L., Giersche, W., Zimmermann, O.: Service cutter: a systematic approach to service decomposition. In: Aiello, M., Johnsen, E.B., Dustdar, S., Georgievski, I. (eds.) ESOCC 2016. LNCS, vol. 9846, pp. 185\u2013200. Springer, Cham (2016). \n                      https:\/\/doi.org\/10.1007\/978-3-319-44482-6_12"},{"key":"3_CR14","doi-asserted-by":"crossref","unstructured":"Hassan, S., Bahsoon, R.: Microservices and their design trade-offs: a self-adaptive roadmap. In: 2016 IEEE International Conference on Services Computing (SCC), pp. 813\u2013818, June 2016","DOI":"10.1109\/SCC.2016.113"},{"key":"3_CR15","doi-asserted-by":"crossref","unstructured":"Jin, W., Liu, T., Zheng, Q., Cui, D., Cai, Y.: Functionality-oriented microservice extraction based on execution trace clustering. In: 2018 IEEE International Conference on Web Services (ICWS), pp. 211\u2013218, July 2018","DOI":"10.1109\/ICWS.2018.00034"},{"key":"3_CR16","doi-asserted-by":"crossref","unstructured":"Klock, S., Van Der Werf, J.M.E.M., Guelen, J.P., Jansen, S.: Workload-based clustering of coherent feature sets in microservice architectures. In: 2017 IEEE International Conference on Software Architecture (ICSA), pp. 11\u201320, April 2017","DOI":"10.1109\/ICSA.2017.38"},{"issue":"11","key":"3_CR17","doi-asserted-by":"publisher","first-page":"759","DOI":"10.1109\/TSE.2007.70732","volume":"33","author":"O Maqbool","year":"2007","unstructured":"Maqbool, O., Babri, H.: Hierarchical clustering for software architecture recovery. IEEE Trans. Softw. Eng. 33(11), 759\u2013780 (2007)","journal-title":"IEEE Trans. Softw. Eng."},{"key":"3_CR18","doi-asserted-by":"crossref","unstructured":"Mazlami, G., Cito, J., Leitner, P.: Extraction of microservices from monolithic software architectures. In: 2017 IEEE International Conference on Web Services (ICWS), pp. 524\u2013531. IEEE (2017)","DOI":"10.1109\/ICWS.2017.61"},{"key":"3_CR19","doi-asserted-by":"crossref","unstructured":"Nakazawa, R., Ueda, T., Enoki, M., Horii, H.: Visualization tool for designing microservices with the monolith-first approach. In: 2018 IEEE Working Conference on Software Visualization (VISSOFT), pp. 32\u201342, September 2018","DOI":"10.1109\/VISSOFT.2018.00012"},{"key":"3_CR20","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-662-03811-6","volume-title":"Principles of Program Analysis","author":"F Nielson","year":"1999","unstructured":"Nielson, F., Nielson, H.R., Hankin, C.: Principles of Program Analysis. Springer, Heidelberg (1999). \n                      https:\/\/doi.org\/10.1007\/978-3-662-03811-6"},{"issue":"3","key":"3_CR21","doi-asserted-by":"publisher","first-page":"56","DOI":"10.1109\/MS.2018.2141031","volume":"35","author":"D Taibi","year":"2018","unstructured":"Taibi, D., Lenarduzzi, V.: On the definition of microservice bad smells. IEEE Softw. 35(3), 56\u201362 (2018)","journal-title":"IEEE Softw."},{"issue":"1","key":"3_CR22","doi-asserted-by":"publisher","first-page":"116","DOI":"10.1109\/MS.2015.11","volume":"32","author":"J Th\u00f6nes","year":"2015","unstructured":"Th\u00f6nes, J.: Microservices. IEEE Softw. 32(1), 116 (2015)","journal-title":"IEEE Softw."},{"key":"3_CR23","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"50","DOI":"10.1007\/978-3-319-99933-3_4","volume-title":"Dependable Software Engineering. Theories, Tools, and Applications","author":"S Tyszberowicz","year":"2018","unstructured":"Tyszberowicz, S., Heinrich, R., Liu, B., Liu, Z.: Identifying microservices using functional decomposition. In: Feng, X., M\u00fcller-Olm, M., Yang, Z. (eds.) SETTA 2018. LNCS, vol. 10998, pp. 50\u201365. Springer, Cham (2018). \n                      https:\/\/doi.org\/10.1007\/978-3-319-99933-3_4"}],"container-title":["Lecture Notes in Computer Science","Software Architecture"],"original-title":[],"language":"en","link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-030-29983-5_3","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2019,9,1]],"date-time":"2019-09-01T19:29:54Z","timestamp":1567366194000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/978-3-030-29983-5_3"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2019]]},"ISBN":["9783030299828","9783030299835"],"references-count":23,"URL":"https:\/\/doi.org\/10.1007\/978-3-030-29983-5_3","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"value":"0302-9743","type":"print"},{"value":"1611-3349","type":"electronic"}],"subject":[],"published":{"date-parts":[[2019]]},"assertion":[{"value":"2 September 2019","order":1,"name":"first_online","label":"First Online","group":{"name":"ChapterHistory","label":"Chapter History"}},{"value":"ECSA","order":1,"name":"conference_acronym","label":"Conference Acronym","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"European Conference on Software Architecture","order":2,"name":"conference_name","label":"Conference Name","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Paris","order":3,"name":"conference_city","label":"Conference City","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"France","order":4,"name":"conference_country","label":"Conference Country","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"2019","order":5,"name":"conference_year","label":"Conference Year","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"9 September 2019","order":7,"name":"conference_start_date","label":"Conference Start Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"13 September 2019","order":8,"name":"conference_end_date","label":"Conference End Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"13","order":9,"name":"conference_number","label":"Conference Number","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"ecsa2019","order":10,"name":"conference_id","label":"Conference ID","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"https:\/\/ecsa2019.univ-lille.fr\/","order":11,"name":"conference_url","label":"Conference URL","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Single-blind","order":1,"name":"type","label":"Type","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"EasyChair","order":2,"name":"conference_management_system","label":"Conference Management System","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"63","order":3,"name":"number_of_submissions_sent_for_review","label":"Number of Submissions Sent for Review","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"11","order":4,"name":"number_of_full_papers_accepted","label":"Number of Full Papers Accepted","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"4","order":5,"name":"number_of_short_papers_accepted","label":"Number of Short Papers Accepted","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"17% - The value is computed by the equation \"Number of Full Papers Accepted \/ Number of Submissions Sent for Review * 100\" and then rounded to a whole number.","order":6,"name":"acceptance_rate_of_full_papers","label":"Acceptance Rate of Full Papers","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"3","order":7,"name":"average_number_of_reviews_per_paper","label":"Average Number of Reviews per Paper","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"3-4","order":8,"name":"average_number_of_papers_per_reviewer","label":"Average Number of Papers per Reviewer","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"Yes","order":9,"name":"external_reviewers_involved","label":"External Reviewers Involved","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}}]}}