Modelo de evolución arquitectónica de monolito a microservicios para el sistema de información ISys de la Dirección Nacional de Admisiones de la Universidad Nacional de Colombia

El trabajo final presenta el estudio de caso de la evolución de un sistema de información con arquitectura monolítica hacia microservicios. El trabajo realizado se basa en la creación, implementación y validación de un modelo de evolución que surge a partir del contexto del sistema identificado medi...

Full description

Autores:
Moreno Bernal, Sebastián David
Tipo de recurso:
Fecha de publicación:
2022
Institución:
Universidad Nacional de Colombia
Repositorio:
Universidad Nacional de Colombia
Idioma:
spa
OAI Identifier:
oai:repositorio.unal.edu.co:unal/81788
Acceso en línea:
https://repositorio.unal.edu.co/handle/unal/81788
https://repositorio.unal.edu.co/
Palabra clave:
000 - Ciencias de la computación, información y obras generales
Arquitectura de software
Evolución arquitectónica
Modelo de evolución
Arquitectura monolítica
Monolito
Arquitectura de microservicios
Vista arquitectónica
Patrón
Software architecture
Architectural evolution
Evolution model
Monolithic architecture
Monolith
Microservices architecture
Architectural view
Pattern
Rights
openAccess
License
Atribución-NoComercial-CompartirIgual 4.0 Internacional
id UNACIONAL2_af4207cb7d9d749f2c20ad5a952f7a5e
oai_identifier_str oai:repositorio.unal.edu.co:unal/81788
network_acronym_str UNACIONAL2
network_name_str Universidad Nacional de Colombia
repository_id_str
dc.title.spa.fl_str_mv Modelo de evolución arquitectónica de monolito a microservicios para el sistema de información ISys de la Dirección Nacional de Admisiones de la Universidad Nacional de Colombia
dc.title.translated.eng.fl_str_mv Architectural evolution model from monolith to microservices for the ISys Information System of Dirección Nacional de Admisiones of the Universidad Nacional de Colombia
title Modelo de evolución arquitectónica de monolito a microservicios para el sistema de información ISys de la Dirección Nacional de Admisiones de la Universidad Nacional de Colombia
spellingShingle Modelo de evolución arquitectónica de monolito a microservicios para el sistema de información ISys de la Dirección Nacional de Admisiones de la Universidad Nacional de Colombia
000 - Ciencias de la computación, información y obras generales
Arquitectura de software
Evolución arquitectónica
Modelo de evolución
Arquitectura monolítica
Monolito
Arquitectura de microservicios
Vista arquitectónica
Patrón
Software architecture
Architectural evolution
Evolution model
Monolithic architecture
Monolith
Microservices architecture
Architectural view
Pattern
title_short Modelo de evolución arquitectónica de monolito a microservicios para el sistema de información ISys de la Dirección Nacional de Admisiones de la Universidad Nacional de Colombia
title_full Modelo de evolución arquitectónica de monolito a microservicios para el sistema de información ISys de la Dirección Nacional de Admisiones de la Universidad Nacional de Colombia
title_fullStr Modelo de evolución arquitectónica de monolito a microservicios para el sistema de información ISys de la Dirección Nacional de Admisiones de la Universidad Nacional de Colombia
title_full_unstemmed Modelo de evolución arquitectónica de monolito a microservicios para el sistema de información ISys de la Dirección Nacional de Admisiones de la Universidad Nacional de Colombia
title_sort Modelo de evolución arquitectónica de monolito a microservicios para el sistema de información ISys de la Dirección Nacional de Admisiones de la Universidad Nacional de Colombia
dc.creator.fl_str_mv Moreno Bernal, Sebastián David
dc.contributor.advisor.none.fl_str_mv Vergara Vargas, Jeisson Andrés
dc.contributor.author.none.fl_str_mv Moreno Bernal, Sebastián David
dc.contributor.researchgroup.spa.fl_str_mv Colectivo de Investigación en Ingeniería de Software Colswe
dc.subject.ddc.spa.fl_str_mv 000 - Ciencias de la computación, información y obras generales
topic 000 - Ciencias de la computación, información y obras generales
Arquitectura de software
Evolución arquitectónica
Modelo de evolución
Arquitectura monolítica
Monolito
Arquitectura de microservicios
Vista arquitectónica
Patrón
Software architecture
Architectural evolution
Evolution model
Monolithic architecture
Monolith
Microservices architecture
Architectural view
Pattern
dc.subject.proposal.spa.fl_str_mv Arquitectura de software
Evolución arquitectónica
Modelo de evolución
Arquitectura monolítica
Monolito
Arquitectura de microservicios
Vista arquitectónica
Patrón
dc.subject.proposal.eng.fl_str_mv Software architecture
Architectural evolution
Evolution model
Monolithic architecture
Monolith
Microservices architecture
Architectural view
Pattern
description El trabajo final presenta el estudio de caso de la evolución de un sistema de información con arquitectura monolítica hacia microservicios. El trabajo realizado se basa en la creación, implementación y validación de un modelo de evolución que surge a partir del contexto del sistema identificado mediante el análisis arquitectónico detallado y en consideración a los requisitos técnicos y operativos de la Dirección Nacional de Admisiones de la Universidad Nacional de Colombia. El modelo de evolución permite priorizar los módulos del sistema mediante el análisis de dependencias ascendentes y el impacto positivo previsto de la evolución, y presenta las adaptaciones requeridas a tres patrones de arquitectura utilizados como estrategia principal para la evolución de manera iterativa e incremental, sin necesidad de interrumpir parcial o totalmente la operación del sistema o la dependencia (Texto tomado de la fuente)
publishDate 2022
dc.date.accessioned.none.fl_str_mv 2022-08-04T20:56:29Z
dc.date.available.none.fl_str_mv 2022-08-04T20:56:29Z
dc.date.issued.none.fl_str_mv 2022
dc.type.spa.fl_str_mv Trabajo de grado - Maestría
dc.type.driver.spa.fl_str_mv info:eu-repo/semantics/masterThesis
dc.type.version.spa.fl_str_mv info:eu-repo/semantics/acceptedVersion
dc.type.content.spa.fl_str_mv Text
dc.type.redcol.spa.fl_str_mv http://purl.org/redcol/resource_type/TM
status_str acceptedVersion
dc.identifier.uri.none.fl_str_mv https://repositorio.unal.edu.co/handle/unal/81788
dc.identifier.instname.spa.fl_str_mv Universidad Nacional de Colombia
dc.identifier.reponame.spa.fl_str_mv Repositorio Institucional Universidad Nacional de Colombia
dc.identifier.repourl.spa.fl_str_mv https://repositorio.unal.edu.co/
url https://repositorio.unal.edu.co/handle/unal/81788
https://repositorio.unal.edu.co/
identifier_str_mv Universidad Nacional de Colombia
Repositorio Institucional Universidad Nacional de Colombia
dc.language.iso.spa.fl_str_mv spa
language spa
dc.relation.references.spa.fl_str_mv ABDULLAH, M ; IQBAL, W ; ERRADI, A: Unsupervised learning approach for web application auto-decomposition into microservices. In: JOURNAL OF SYSTEMS AND SOFTWARE 151 (2019), S. 243–257. http://dx.doi.org/10.1016/j.jss.2019.02.031. – DOI 10.1016/j.jss.2019.02.031. – ISSN 0164–1212
AZURE, Microsoft: ¿Qué es IaaS? https://azure.microsoft.com/es-es/overview/what-is-iaas/
BANDARA, C ; PERERA, I ; TECHNOLOGY, LSEG: Transforming monolithic systems to microservices - An analysis toolkit for legacy code evaluation. In: 20th International Conference on Advances in ICT for Emerging Regions, ICTer 2020, Institute of Electrical and Electronics Engineers Inc., 2020. – ISBN 9781728186535 (ISBN), 95–100
BARESI, Luciano ; GARRIGA, Martin ; DE RENZIS, Alan: Microservices identification through interface analysis. In: Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) Bd. 10465 LNCS, 2017. – ISBN 9783319672618, S. 19–33
BARNES, Jeffrey M. ; GARLAN, David ; SCHMERL, Bradley: Evolution styles: foundations and models for software architecture evolution. In: Software & Systems Modeling 13 (2014), Nr. 2, 649–678. http://dx.doi.org/10.1007/s10270-012-0301-9. – DOI 10.1007/s10270–012–0301–9. – ISSN 1619–1374
BASS, Len ; CLEMENTS, Paul ; KAZMAN, Rick: Software Architecture in Practice. Third. Addison-Wesley Professional, 2012. – ISBN 9780321815736
BRANDOLINI, Alberto: Introducing EventStorming. 2017. – 234 S. http://leanpub.com/introducing_eventstorming
BROWN, Simon: Software Architecture for Developers: Technical leadership by coding, coaching, collaboration, architecture sketching and just enough up front design. Leanpub, 2015. – 275 S. http://gen.lib.rus.ec/book/index.php?md5=5EAFB7A3F234817908D3F4C9FA05551B
BUSHONG, Vincent ; ABDELFATTAH, Amr S. ; MARUF, Abdullah A. ; DAS, Dipta ; LEHMAN, Austin ; JAROSZEWSKI, Eric ; COFFEY, Michael ; CERNY, Tomas ; FRAJTAK, Karel ; TISNOVSKY, Pavel ; BURES, Miroslav: On Microservice Analysis and Architecture Evolution: A Systematic Mapping Study
CERVANTES, Humberto ; KAZMAN, Rick: Designing Software Architecture: A Practical Approach. 2016. – 388 S. – ISBN 9780134390789
CHRISTOFOROU, Andreas ; ODYSSEOS, Lambros ; ANDREOU, Andreas S.: Migration of software components to microservices: Matching and synthesis. In: SPANOUDAKIS, G (Hrsg.) ; DAMIANI, E (Hrsg.) ; MACIASZEK, L (Hrsg.) ; MACIASZEK, L (Hrsg.): ENASE 2019 - Proceedings of the 14th International Conference on Evaluation of Novel Approaches to Software Engineering, SciTePress, 2019. – ISBN 9789897583759, 134–146
AL-DEBAGY, O ; MARTINEK, P: A Microservice Decomposition Method Through Using Distributed Representation of Source Code. In: SCALABLE COMPUTING-PRACTICE AND EXPE- RIENCE 22 (2021), Nr. 1, S. 39–52. http://dx.doi.org/10.12694/scpe.v22i1.1836. – DOI 10.12694/scpe.v22i1.1836. – ISSN 1895–1767 J9 – SCALABLE COMPUT–PRAC JI – Scalable Comput.–Pract. Exp
CLEMENTS, Paul ; BACHMANN, Felix ; BASS, Len ; GARLAN, David ; IVERS, James ; LITTLE, Reed ; MERSON, Paul ; NORD, Robert ; STAFFORD, Judith: Documenting Software Architectures: Views and Beyond. Second. Addison-Wesley Professional, 2010. – 537 S. https://martinfowler. com/articles/microservices.html. – ISBN 978–0321552686
DAOUD, M ; MEZOUARI, A E. ; FACI, N ; BENSLIMANE, D ; MAAMAR, Z ; FAZZIKI, A E. ; M., Hamlich (Hrsg.) ; L., Bellatreche (Hrsg.) ; A., Mondal (Hrsg.) ; C., Ordonez (Hrsg.): Automatic Microservices Identification from a Set of Business Processes. http://dx.doi.org/10.1007/978-3-030-45183-7_23. Version: 2020
DNA: Evolución de la Prueba de Admisión a la Universidad Nacional de Colombia. 2013
ESKI, Sinan ; BUZLUCA, Feza: An automatic extraction approach - Transition to microservices architecture from monolithic application. In: ACM International Conference Proceeding Series Bd. Part F1477, Association for Computing Machinery, 2018. – ISBN 9781450364225
EVANS, Eric: Domain-Driven Design: Tackling Complexity in the Heart of Software. Addison Wesley, 2003. – 560 S. – ISBN 0321125215
FOWLER, Martin: StranglerFigApplication. https://martinfowler.com/bliki/StranglerFigApplication.html. Version: 2004
FOWLER, Martin ; RICE, David ; FOEMMEL, Matthew ; HIEATT, Edward ; MEE, Robert ; STAFFORD, Randy: Patterns of Enterprise Application Architecture. Addison Wesley, 2002. – 560 S. – ISBN 0321127420
FREEMAN, Eric ; FREEMAN, Elisabeth ; SIERRA, Kathy ; BATES, Bert ; LOUKIDES, Mike (Hrsg.): Head First Design Patterns. 2013. – ISBN 9780596007126
FREITAS, F ; FERREIRA, A ; CUNHA, J ; MELIUZ: Refactoring Java Monoliths into Executable Microservice-Based Applications. In: 25th Brazilian Symposium on Programming Languages, SBLP 2021, held in conjunction with the Brazilian Conference on Software: Theory and Practice, CBSoft 2021, Association for Computing Machinery, 2021. – ISBN 9781450390620 (ISBN), 100–107
FRITZSCH, J ; BOGNER, J ; ZIMMERMANN, A ; WAGNER, S ; B., Meyer (Hrsg.) ; B., Meyer (Hrsg.) ; M., Mazzara (Hrsg.) ; J.-M., Bruel (Hrsg.): From monolith to microservices: A classification of refactoring approaches. http://dx.doi.org/10.1007/978-3-030-06019-0_10. Version: 2019
INTERNATIONAL ORGANIZATION OF STANDARDIZATION: Systems and software engineering — Architecture description, ISO/IEC/IEEE 42010. (2011), S. 37
KALSKE, Miika ; MÄKITALO, Niko ; MIKKONEN, Tommi: Challenges When Moving from Monolith to Microservice Architecture. Version: feb 2018. http://dx.doi.org/10.1007/978-3-319-74433-9_3. 2018. – DOI 10.1007/978–3–319–74433–9_3. – ISBN 978–3–319–74432–2, S. 32–47
KAMIMURA, Manabu ; YANO, Keisuke ; HATANO, Tomomi ; MATSUO, Akihiko: Extracting Candidates of Microservices from Monolithic Application Code. In: Proceedings - Asia-Pacific Software Engineering Conference, APSEC Bd. 2018-Decem, IEEE Computer Society, 2018. – ISBN 9781728119700, 571–580
KAPLUNOVICH, A: ToLambda - Automatic path to serverless architectures. In: 3rd IEEE/ACM International Workshop on Refactoring, IWOR 2019, Institute of Electrical and Electronics Engineers Inc., 2019. – ISBN 9781728122700 (ISBN), 1–8
KURYAZOV, Dilshodbek ; JABBOROV, Dilshod ; KHUJAMURATOV, Bekmurod: Towards Decomposing Monolithic Applications into Microservices. In: 14th IEEE International Conference on Application of Information and Communication Technologies, AICT 2020 - Proceedings, Institute of Electrical and Electronics Engineers Inc., 2020. – ISBN 9781728173856
LAPUZ, N ; CLARKE, P ; ABGAZ, Y ; M., Yilmaz (Hrsg.) ; P., Clarke (Hrsg.) ; R., Messnarz (Hrsg.) ; M., Reiner (Hrsg.): Digital Transformation and the Role of Dynamic Tooling in Extracting Microservices from Existing Software Systems. http://dx.doi.org/10.1007/978-3-030-85521-5_20. Version: 2021
LEWIS, James ; FOWLER, Martin: Microservices. https://martinfowler.com/articles/microservices.html. Version: 2014
LI, S S. ; ZHANG, H ; JIA, Z J. ; LI, Z ; ZHANG, C ; LI, J Q. ; GAO, Q Y. ; GE, J D. ; SHAN, Z H.: A dataflow-driven approach to identifying microservices from monolithic applications. In: JOURNAL OF SYSTEMS AND SOFTWARE 157 (2019). http://dx.doi.org/10.1016/j.jss. 2019.07.008. – DOI 10.1016/j.jss.2019.07.008. – ISSN 0164–1212
MAISTO, Salvatore A. ; DI MARTINO, Beniamino ; NACCHIA, Stefania: From Monolith to Cloud Architecture Using Semi-automated Microservices Modernization. Version: 2020. http://dx.doi.org/10.1007/978-3-030-33509-0_60. In: Lecture Notes in Networks and Systems Bd. 96. 2020. – DOI 10.1007/978–3–030–33509–0_60. – ISSN 23673389, S. 638–647
MALLIDI, R K. ; SHARMA, M ; SINGH, J: Legacy Digital Transformation: TCO and ROI Analysis. In: International Journal of Electrical and Computer Engineering Systems 12 (2021), Nr. 3, 163–170. http://dx.doi.org/10.32985/IJECES.12.3.5. – DOI 10.32985/IJECES.12.3.5. – ISSN 18476996 (ISSN)
MENS, T: Introduction and roadmap: History and challenges of software evolution. In: Software Evolution (2008), 1–11. http://dx.doi.org/10.1007/978-3-540-76440-3_1. – DOI 10.1007/978–3–540–76440–3_1. – ISSN 9783540764397 (ISBN)
MINISTERIO DE EDUCACIÓN NACIONAL DE COLOMBIA: Información Estadística. https://snies.mineducacion.gov.co/portal/. Version: 2021
NEWMAN, Sam ; LOUKIDES, Mike (Hrsg.) ; MACDONALD, Brian (Hrsg.): Building Microservices. O’Reilly Media, Inc., 2015. – 250 S. – ISBN 9781491950357
NEWMAN, Sam: Monolith to Microservices. O’Reilly Media, Inc., 2019. – 221 S. – ISBN 9781492047834
ORACLE: What’s New in JDK 8. https://www.oracle.com/java/technologies/javase/8-whats-new.html
PEYROTT, Sebastian: The JWT Handbook. 2018 https://auth0.com/resources/ebooks/jwt-handbook
POLÁK, Marek ; HOLUBOVÁ, Irena: Information system evolution management - A complex evaluation. In: RYSAVY, O (Hrsg.) ; VRANIC, V (Hrsg.): ACM International Conference Proceeding Series Bd. Part F1305, Association for Computing Machinery, 2017. – ISBN 9781450348430
PONCE, Francisco ; MARQUEZ, Gaston ; ASTUDILLO, Hernan: Migrating from monolithic architecture to microservices: A Rapid Review. In: Proceedings - International Conference of the Chilean Computer Science Society, SCCC Bd. 2019-Novem, 2019. – ISBN 9781728156132
REN, Zhongshan ; WANG, Wei ; WU, Guoquan ; GAO, Chushu ; CHEN, Wei ; WEI, Jun ; HUANG, Tao: Migrating web applications from monolithic structure to microservices architecture. In: ACM International Conference Proceeding Series, Association for Computing Machinery, sep 2018. – ISBN 9781450365901
RICHARDSON, Chris: Monolithic Architecture pattern. https://microservices.io/patterns/monolithic.html. Version: 2014
RICHARDSON, Chris: Decompose by subdomain. https://microservices.io/patterns/decomposition/decompose-by-subdomain.html. Version: 2017
RICHARDSON, Chris ; MICHAELS, Marina (Hrsg.) ; MENNERICH, Christian (Hrsg.) ; DRAGOSAVLJEVIÇ, Aleksandar (Hrsg.) ; WEIDERT, Lori (Hrsg.) ; COLLINS, Corbin (Hrsg.) ; BRENER, Alyson (Hrsg.) ; MILES, Andy (Hrsg.) ; DALINNIK, Dennis (Hrsg.) ; TUDOR, Marija (Hrsg.): Microservices Patterns. First Edit. Shelter Island : Manning Publications Co, 2019. – ISBN 9781617294549
RICHARDSON, Chris ; SMITH, Floyd: Microservices - From Design to Deployment. In: Nginx (2016), S. 80
ROZANSKI, Nick ; WOODS, Eoin: Software systems architecture: working with stakeholders using viewpoints and perspectives. Second. 2012. – 49–5717–49–5717 S. http://dx.doi.org/10.5860/choice.49-5717. http://dx.doi.org/10.5860/choice.49-5717. – ISBN 9780321718334
SANTIS, Sandro D. ; FLOREZ, Luis ; NGUYEN, Duy V. ; ROSA, Eduardo: Evolve the Monolith to Microservices with Java and Node. In: IBM Redbooks (2016), 125. http://www.redbooks.ibm.com/redbooks/pdfs/sg248358.pdf. ISBN 0783442119
SANTOS, N ; RITO SILVA, A: A complexity metric for microservices architecture migration. In: 17th IEEE International Conference on Software Architecture, ICSA 2020, Institute of Electrical and Electronics Engineers Inc., 2020. – ISBN 9781728146591 (ISBN), 169–178
SELMADJI, A ; SERIAI, A ; BOUZIANE, H L. ; MAHAMANE, R O. ; ZARAGOZA, P ; DONY, C: From Monolithic Architecture Style to Microservice one Based on a Semi-Automatic Approach. In: 2020 IEEE International Conference on Software Architecture (ICSA), 2020. – ISBN VO –, S.157–168
TAYLOR, Richard ; MEDVIDOVIC, Nenad ; DASHOFY, Eric: Software Architecture: Foundations, Theory, and Practice. Wiley, 2008. – ISBN 9780470167748
UNAL: Misión y Visión de la Universidad Nacional de Colombia. https://unal.edu.co/la-universidad/mision-y-vision.html
VERNON, Vaughn: Implementing Domain-Driven Design. Addison-Wesley Professional, 2013. – 656 S. – ISBN 9780321834577
ZARAGOZA, P ; SERIAI, A.-D. ; SERIAI, A ; BOUZIANE, H.-L. ; SHATNAWI, A ; DERRAS, M ; INSTITUTE FOR SYSTEMS AND TECHNOLOGIES OF INFORMATION, Control ; (INSTICC), Communication: Refactoring monolithic object-oriented source code to materialize microservice-oriented architecture. In: H.-G., Fill (Hrsg.) ; M, van S. (Hrsg.) ; MACIASZEK, L (Hrsg.) ; MACIASZEK, L (Hrsg.): 16th International Conference on Software Technologies, ICSOFT 2021, SciTePress, 2021. – ISBN 9789897585234 (ISBN), 78–89
dc.rights.coar.fl_str_mv http://purl.org/coar/access_right/c_abf2
dc.rights.license.spa.fl_str_mv Atribución-NoComercial-CompartirIgual 4.0 Internacional
dc.rights.uri.spa.fl_str_mv http://creativecommons.org/licenses/by-nc-sa/4.0/
dc.rights.accessrights.spa.fl_str_mv info:eu-repo/semantics/openAccess
rights_invalid_str_mv Atribución-NoComercial-CompartirIgual 4.0 Internacional
http://creativecommons.org/licenses/by-nc-sa/4.0/
http://purl.org/coar/access_right/c_abf2
eu_rights_str_mv openAccess
dc.format.extent.spa.fl_str_mv xv, 59 páginas
dc.format.mimetype.spa.fl_str_mv application/pdf
dc.publisher.spa.fl_str_mv Universidad Nacional de Colombia
dc.publisher.program.spa.fl_str_mv Bogotá - Ingeniería - Maestría en Ingeniería - Ingeniería de Sistemas y Computación
dc.publisher.department.spa.fl_str_mv Departamento de Ingeniería de Sistemas e Industrial
dc.publisher.faculty.spa.fl_str_mv Facultad de Ingeniería
dc.publisher.place.spa.fl_str_mv Bogotá, Colombia
dc.publisher.branch.spa.fl_str_mv Universidad Nacional de Colombia - Sede Bogotá
institution Universidad Nacional de Colombia
bitstream.url.fl_str_mv https://repositorio.unal.edu.co/bitstream/unal/81788/1/1020817052.2022.pdf
https://repositorio.unal.edu.co/bitstream/unal/81788/2/license.txt
https://repositorio.unal.edu.co/bitstream/unal/81788/3/1020817052.2022.pdf.jpg
bitstream.checksum.fl_str_mv d35fe501b12f19b4afaabc667594135c
8153f7789df02f0a4c9e079953658ab2
9d17f0728d7fd1f6a39c3e20993cd622
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
repository.name.fl_str_mv Repositorio Institucional Universidad Nacional de Colombia
repository.mail.fl_str_mv repositorio_nal@unal.edu.co
_version_ 1814089610346627072
spelling Atribución-NoComercial-CompartirIgual 4.0 Internacionalhttp://creativecommons.org/licenses/by-nc-sa/4.0/info:eu-repo/semantics/openAccesshttp://purl.org/coar/access_right/c_abf2Vergara Vargas, Jeisson Andrés8c52f6c65439bbafef22f11a880f2749Moreno Bernal, Sebastián David095638a87c95654e4915d17587d73275Colectivo de Investigación en Ingeniería de Software Colswe2022-08-04T20:56:29Z2022-08-04T20:56:29Z2022https://repositorio.unal.edu.co/handle/unal/81788Universidad Nacional de ColombiaRepositorio Institucional Universidad Nacional de Colombiahttps://repositorio.unal.edu.co/El trabajo final presenta el estudio de caso de la evolución de un sistema de información con arquitectura monolítica hacia microservicios. El trabajo realizado se basa en la creación, implementación y validación de un modelo de evolución que surge a partir del contexto del sistema identificado mediante el análisis arquitectónico detallado y en consideración a los requisitos técnicos y operativos de la Dirección Nacional de Admisiones de la Universidad Nacional de Colombia. El modelo de evolución permite priorizar los módulos del sistema mediante el análisis de dependencias ascendentes y el impacto positivo previsto de la evolución, y presenta las adaptaciones requeridas a tres patrones de arquitectura utilizados como estrategia principal para la evolución de manera iterativa e incremental, sin necesidad de interrumpir parcial o totalmente la operación del sistema o la dependencia (Texto tomado de la fuente)The final work presents the case study of the evolution of an information system with monolithic architecture towards microservices. The work done is based on the creation, implementation and validation of an evolution model that emerge from the context of the system identified through the detailed architectural analysis, and in consideration of the technical and operational requirements of Dirección Nacional de Admisiones of the Universidad Nacional de Colombia. The evolution model allows system modules to be prioritized by analyzing upstream dependencies and the expected positive impact of evolution, and presents the required adaptations to three architecture patterns used as the main strategy for evolution in an iteratively and incrementally, without need to partially or totally halt the operation of the system or dependency (text taken from the source)MaestríaMagíster en Ingeniería - Ingeniería de Sistemas y ComputaciónArquitectura de Softwarexv, 59 páginasapplication/pdfspaUniversidad Nacional de ColombiaBogotá - Ingeniería - Maestría en Ingeniería - Ingeniería de Sistemas y ComputaciónDepartamento de Ingeniería de Sistemas e IndustrialFacultad de IngenieríaBogotá, ColombiaUniversidad Nacional de Colombia - Sede Bogotá000 - Ciencias de la computación, información y obras generalesArquitectura de softwareEvolución arquitectónicaModelo de evoluciónArquitectura monolíticaMonolitoArquitectura de microserviciosVista arquitectónicaPatrónSoftware architectureArchitectural evolutionEvolution modelMonolithic architectureMonolithMicroservices architectureArchitectural viewPatternModelo de evolución arquitectónica de monolito a microservicios para el sistema de información ISys de la Dirección Nacional de Admisiones de la Universidad Nacional de ColombiaArchitectural evolution model from monolith to microservices for the ISys Information System of Dirección Nacional de Admisiones of the Universidad Nacional de ColombiaTrabajo de grado - Maestríainfo:eu-repo/semantics/masterThesisinfo:eu-repo/semantics/acceptedVersionTexthttp://purl.org/redcol/resource_type/TMABDULLAH, M ; IQBAL, W ; ERRADI, A: Unsupervised learning approach for web application auto-decomposition into microservices. In: JOURNAL OF SYSTEMS AND SOFTWARE 151 (2019), S. 243–257. http://dx.doi.org/10.1016/j.jss.2019.02.031. – DOI 10.1016/j.jss.2019.02.031. – ISSN 0164–1212AZURE, Microsoft: ¿Qué es IaaS? https://azure.microsoft.com/es-es/overview/what-is-iaas/BANDARA, C ; PERERA, I ; TECHNOLOGY, LSEG: Transforming monolithic systems to microservices - An analysis toolkit for legacy code evaluation. In: 20th International Conference on Advances in ICT for Emerging Regions, ICTer 2020, Institute of Electrical and Electronics Engineers Inc., 2020. – ISBN 9781728186535 (ISBN), 95–100BARESI, Luciano ; GARRIGA, Martin ; DE RENZIS, Alan: Microservices identification through interface analysis. In: Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) Bd. 10465 LNCS, 2017. – ISBN 9783319672618, S. 19–33BARNES, Jeffrey M. ; GARLAN, David ; SCHMERL, Bradley: Evolution styles: foundations and models for software architecture evolution. In: Software & Systems Modeling 13 (2014), Nr. 2, 649–678. http://dx.doi.org/10.1007/s10270-012-0301-9. – DOI 10.1007/s10270–012–0301–9. – ISSN 1619–1374BASS, Len ; CLEMENTS, Paul ; KAZMAN, Rick: Software Architecture in Practice. Third. Addison-Wesley Professional, 2012. – ISBN 9780321815736BRANDOLINI, Alberto: Introducing EventStorming. 2017. – 234 S. http://leanpub.com/introducing_eventstormingBROWN, Simon: Software Architecture for Developers: Technical leadership by coding, coaching, collaboration, architecture sketching and just enough up front design. Leanpub, 2015. – 275 S. http://gen.lib.rus.ec/book/index.php?md5=5EAFB7A3F234817908D3F4C9FA05551BBUSHONG, Vincent ; ABDELFATTAH, Amr S. ; MARUF, Abdullah A. ; DAS, Dipta ; LEHMAN, Austin ; JAROSZEWSKI, Eric ; COFFEY, Michael ; CERNY, Tomas ; FRAJTAK, Karel ; TISNOVSKY, Pavel ; BURES, Miroslav: On Microservice Analysis and Architecture Evolution: A Systematic Mapping StudyCERVANTES, Humberto ; KAZMAN, Rick: Designing Software Architecture: A Practical Approach. 2016. – 388 S. – ISBN 9780134390789CHRISTOFOROU, Andreas ; ODYSSEOS, Lambros ; ANDREOU, Andreas S.: Migration of software components to microservices: Matching and synthesis. In: SPANOUDAKIS, G (Hrsg.) ; DAMIANI, E (Hrsg.) ; MACIASZEK, L (Hrsg.) ; MACIASZEK, L (Hrsg.): ENASE 2019 - Proceedings of the 14th International Conference on Evaluation of Novel Approaches to Software Engineering, SciTePress, 2019. – ISBN 9789897583759, 134–146AL-DEBAGY, O ; MARTINEK, P: A Microservice Decomposition Method Through Using Distributed Representation of Source Code. In: SCALABLE COMPUTING-PRACTICE AND EXPE- RIENCE 22 (2021), Nr. 1, S. 39–52. http://dx.doi.org/10.12694/scpe.v22i1.1836. – DOI 10.12694/scpe.v22i1.1836. – ISSN 1895–1767 J9 – SCALABLE COMPUT–PRAC JI – Scalable Comput.–Pract. ExpCLEMENTS, Paul ; BACHMANN, Felix ; BASS, Len ; GARLAN, David ; IVERS, James ; LITTLE, Reed ; MERSON, Paul ; NORD, Robert ; STAFFORD, Judith: Documenting Software Architectures: Views and Beyond. Second. Addison-Wesley Professional, 2010. – 537 S. https://martinfowler. com/articles/microservices.html. – ISBN 978–0321552686DAOUD, M ; MEZOUARI, A E. ; FACI, N ; BENSLIMANE, D ; MAAMAR, Z ; FAZZIKI, A E. ; M., Hamlich (Hrsg.) ; L., Bellatreche (Hrsg.) ; A., Mondal (Hrsg.) ; C., Ordonez (Hrsg.): Automatic Microservices Identification from a Set of Business Processes. http://dx.doi.org/10.1007/978-3-030-45183-7_23. Version: 2020DNA: Evolución de la Prueba de Admisión a la Universidad Nacional de Colombia. 2013ESKI, Sinan ; BUZLUCA, Feza: An automatic extraction approach - Transition to microservices architecture from monolithic application. In: ACM International Conference Proceeding Series Bd. Part F1477, Association for Computing Machinery, 2018. – ISBN 9781450364225EVANS, Eric: Domain-Driven Design: Tackling Complexity in the Heart of Software. Addison Wesley, 2003. – 560 S. – ISBN 0321125215FOWLER, Martin: StranglerFigApplication. https://martinfowler.com/bliki/StranglerFigApplication.html. Version: 2004FOWLER, Martin ; RICE, David ; FOEMMEL, Matthew ; HIEATT, Edward ; MEE, Robert ; STAFFORD, Randy: Patterns of Enterprise Application Architecture. Addison Wesley, 2002. – 560 S. – ISBN 0321127420FREEMAN, Eric ; FREEMAN, Elisabeth ; SIERRA, Kathy ; BATES, Bert ; LOUKIDES, Mike (Hrsg.): Head First Design Patterns. 2013. – ISBN 9780596007126FREITAS, F ; FERREIRA, A ; CUNHA, J ; MELIUZ: Refactoring Java Monoliths into Executable Microservice-Based Applications. In: 25th Brazilian Symposium on Programming Languages, SBLP 2021, held in conjunction with the Brazilian Conference on Software: Theory and Practice, CBSoft 2021, Association for Computing Machinery, 2021. – ISBN 9781450390620 (ISBN), 100–107FRITZSCH, J ; BOGNER, J ; ZIMMERMANN, A ; WAGNER, S ; B., Meyer (Hrsg.) ; B., Meyer (Hrsg.) ; M., Mazzara (Hrsg.) ; J.-M., Bruel (Hrsg.): From monolith to microservices: A classification of refactoring approaches. http://dx.doi.org/10.1007/978-3-030-06019-0_10. Version: 2019INTERNATIONAL ORGANIZATION OF STANDARDIZATION: Systems and software engineering — Architecture description, ISO/IEC/IEEE 42010. (2011), S. 37KALSKE, Miika ; MÄKITALO, Niko ; MIKKONEN, Tommi: Challenges When Moving from Monolith to Microservice Architecture. Version: feb 2018. http://dx.doi.org/10.1007/978-3-319-74433-9_3. 2018. – DOI 10.1007/978–3–319–74433–9_3. – ISBN 978–3–319–74432–2, S. 32–47KAMIMURA, Manabu ; YANO, Keisuke ; HATANO, Tomomi ; MATSUO, Akihiko: Extracting Candidates of Microservices from Monolithic Application Code. In: Proceedings - Asia-Pacific Software Engineering Conference, APSEC Bd. 2018-Decem, IEEE Computer Society, 2018. – ISBN 9781728119700, 571–580KAPLUNOVICH, A: ToLambda - Automatic path to serverless architectures. In: 3rd IEEE/ACM International Workshop on Refactoring, IWOR 2019, Institute of Electrical and Electronics Engineers Inc., 2019. – ISBN 9781728122700 (ISBN), 1–8KURYAZOV, Dilshodbek ; JABBOROV, Dilshod ; KHUJAMURATOV, Bekmurod: Towards Decomposing Monolithic Applications into Microservices. In: 14th IEEE International Conference on Application of Information and Communication Technologies, AICT 2020 - Proceedings, Institute of Electrical and Electronics Engineers Inc., 2020. – ISBN 9781728173856LAPUZ, N ; CLARKE, P ; ABGAZ, Y ; M., Yilmaz (Hrsg.) ; P., Clarke (Hrsg.) ; R., Messnarz (Hrsg.) ; M., Reiner (Hrsg.): Digital Transformation and the Role of Dynamic Tooling in Extracting Microservices from Existing Software Systems. http://dx.doi.org/10.1007/978-3-030-85521-5_20. Version: 2021LEWIS, James ; FOWLER, Martin: Microservices. https://martinfowler.com/articles/microservices.html. Version: 2014LI, S S. ; ZHANG, H ; JIA, Z J. ; LI, Z ; ZHANG, C ; LI, J Q. ; GAO, Q Y. ; GE, J D. ; SHAN, Z H.: A dataflow-driven approach to identifying microservices from monolithic applications. In: JOURNAL OF SYSTEMS AND SOFTWARE 157 (2019). http://dx.doi.org/10.1016/j.jss. 2019.07.008. – DOI 10.1016/j.jss.2019.07.008. – ISSN 0164–1212MAISTO, Salvatore A. ; DI MARTINO, Beniamino ; NACCHIA, Stefania: From Monolith to Cloud Architecture Using Semi-automated Microservices Modernization. Version: 2020. http://dx.doi.org/10.1007/978-3-030-33509-0_60. In: Lecture Notes in Networks and Systems Bd. 96. 2020. – DOI 10.1007/978–3–030–33509–0_60. – ISSN 23673389, S. 638–647MALLIDI, R K. ; SHARMA, M ; SINGH, J: Legacy Digital Transformation: TCO and ROI Analysis. In: International Journal of Electrical and Computer Engineering Systems 12 (2021), Nr. 3, 163–170. http://dx.doi.org/10.32985/IJECES.12.3.5. – DOI 10.32985/IJECES.12.3.5. – ISSN 18476996 (ISSN)MENS, T: Introduction and roadmap: History and challenges of software evolution. In: Software Evolution (2008), 1–11. http://dx.doi.org/10.1007/978-3-540-76440-3_1. – DOI 10.1007/978–3–540–76440–3_1. – ISSN 9783540764397 (ISBN)MINISTERIO DE EDUCACIÓN NACIONAL DE COLOMBIA: Información Estadística. https://snies.mineducacion.gov.co/portal/. Version: 2021NEWMAN, Sam ; LOUKIDES, Mike (Hrsg.) ; MACDONALD, Brian (Hrsg.): Building Microservices. O’Reilly Media, Inc., 2015. – 250 S. – ISBN 9781491950357NEWMAN, Sam: Monolith to Microservices. O’Reilly Media, Inc., 2019. – 221 S. – ISBN 9781492047834ORACLE: What’s New in JDK 8. https://www.oracle.com/java/technologies/javase/8-whats-new.htmlPEYROTT, Sebastian: The JWT Handbook. 2018 https://auth0.com/resources/ebooks/jwt-handbookPOLÁK, Marek ; HOLUBOVÁ, Irena: Information system evolution management - A complex evaluation. In: RYSAVY, O (Hrsg.) ; VRANIC, V (Hrsg.): ACM International Conference Proceeding Series Bd. Part F1305, Association for Computing Machinery, 2017. – ISBN 9781450348430PONCE, Francisco ; MARQUEZ, Gaston ; ASTUDILLO, Hernan: Migrating from monolithic architecture to microservices: A Rapid Review. In: Proceedings - International Conference of the Chilean Computer Science Society, SCCC Bd. 2019-Novem, 2019. – ISBN 9781728156132REN, Zhongshan ; WANG, Wei ; WU, Guoquan ; GAO, Chushu ; CHEN, Wei ; WEI, Jun ; HUANG, Tao: Migrating web applications from monolithic structure to microservices architecture. In: ACM International Conference Proceeding Series, Association for Computing Machinery, sep 2018. – ISBN 9781450365901RICHARDSON, Chris: Monolithic Architecture pattern. https://microservices.io/patterns/monolithic.html. Version: 2014RICHARDSON, Chris: Decompose by subdomain. https://microservices.io/patterns/decomposition/decompose-by-subdomain.html. Version: 2017RICHARDSON, Chris ; MICHAELS, Marina (Hrsg.) ; MENNERICH, Christian (Hrsg.) ; DRAGOSAVLJEVIÇ, Aleksandar (Hrsg.) ; WEIDERT, Lori (Hrsg.) ; COLLINS, Corbin (Hrsg.) ; BRENER, Alyson (Hrsg.) ; MILES, Andy (Hrsg.) ; DALINNIK, Dennis (Hrsg.) ; TUDOR, Marija (Hrsg.): Microservices Patterns. First Edit. Shelter Island : Manning Publications Co, 2019. – ISBN 9781617294549RICHARDSON, Chris ; SMITH, Floyd: Microservices - From Design to Deployment. In: Nginx (2016), S. 80ROZANSKI, Nick ; WOODS, Eoin: Software systems architecture: working with stakeholders using viewpoints and perspectives. Second. 2012. – 49–5717–49–5717 S. http://dx.doi.org/10.5860/choice.49-5717. http://dx.doi.org/10.5860/choice.49-5717. – ISBN 9780321718334SANTIS, Sandro D. ; FLOREZ, Luis ; NGUYEN, Duy V. ; ROSA, Eduardo: Evolve the Monolith to Microservices with Java and Node. In: IBM Redbooks (2016), 125. http://www.redbooks.ibm.com/redbooks/pdfs/sg248358.pdf. ISBN 0783442119SANTOS, N ; RITO SILVA, A: A complexity metric for microservices architecture migration. In: 17th IEEE International Conference on Software Architecture, ICSA 2020, Institute of Electrical and Electronics Engineers Inc., 2020. – ISBN 9781728146591 (ISBN), 169–178SELMADJI, A ; SERIAI, A ; BOUZIANE, H L. ; MAHAMANE, R O. ; ZARAGOZA, P ; DONY, C: From Monolithic Architecture Style to Microservice one Based on a Semi-Automatic Approach. In: 2020 IEEE International Conference on Software Architecture (ICSA), 2020. – ISBN VO –, S.157–168TAYLOR, Richard ; MEDVIDOVIC, Nenad ; DASHOFY, Eric: Software Architecture: Foundations, Theory, and Practice. Wiley, 2008. – ISBN 9780470167748UNAL: Misión y Visión de la Universidad Nacional de Colombia. https://unal.edu.co/la-universidad/mision-y-vision.htmlVERNON, Vaughn: Implementing Domain-Driven Design. Addison-Wesley Professional, 2013. – 656 S. – ISBN 9780321834577ZARAGOZA, P ; SERIAI, A.-D. ; SERIAI, A ; BOUZIANE, H.-L. ; SHATNAWI, A ; DERRAS, M ; INSTITUTE FOR SYSTEMS AND TECHNOLOGIES OF INFORMATION, Control ; (INSTICC), Communication: Refactoring monolithic object-oriented source code to materialize microservice-oriented architecture. In: H.-G., Fill (Hrsg.) ; M, van S. (Hrsg.) ; MACIASZEK, L (Hrsg.) ; MACIASZEK, L (Hrsg.): 16th International Conference on Software Technologies, ICSOFT 2021, SciTePress, 2021. – ISBN 9789897585234 (ISBN), 78–89ORIGINAL1020817052.2022.pdf1020817052.2022.pdfTesis de Maestría en Ingeniería - Ingeniería de Sistemas y Computaciónapplication/pdf2057630https://repositorio.unal.edu.co/bitstream/unal/81788/1/1020817052.2022.pdfd35fe501b12f19b4afaabc667594135cMD51LICENSElicense.txtlicense.txttext/plain; charset=utf-84074https://repositorio.unal.edu.co/bitstream/unal/81788/2/license.txt8153f7789df02f0a4c9e079953658ab2MD52THUMBNAIL1020817052.2022.pdf.jpg1020817052.2022.pdf.jpgGenerated Thumbnailimage/jpeg5472https://repositorio.unal.edu.co/bitstream/unal/81788/3/1020817052.2022.pdf.jpg9d17f0728d7fd1f6a39c3e20993cd622MD53unal/81788oai:repositorio.unal.edu.co:unal/817882023-08-06 23:03:57.528Repositorio Institucional Universidad Nacional de Colombiarepositorio_nal@unal.edu.coUExBTlRJTExBIERFUMOTU0lUTwoKQ29tbyBlZGl0b3IgZGUgZXN0ZSDDrXRlbSwgdXN0ZWQgcHVlZGUgbW92ZXJsbyBhIHJldmlzacOzbiBzaW4gYW50ZXMgcmVzb2x2ZXIgbG9zIHByb2JsZW1hcyBpZGVudGlmaWNhZG9zLCBkZSBsbyBjb250cmFyaW8sIGhhZ2EgY2xpYyBlbiBHdWFyZGFyIHBhcmEgZ3VhcmRhciBlbCDDrXRlbSB5IHNvbHVjaW9uYXIgZXN0b3MgcHJvYmxlbWFzIG1hcyB0YXJkZS4KClBhcmEgdHJhYmFqb3MgZGVwb3NpdGFkb3MgcG9yIHN1IHByb3BpbyBhdXRvcjoKIApBbCBhdXRvYXJjaGl2YXIgZXN0ZSBncnVwbyBkZSBhcmNoaXZvcyBkaWdpdGFsZXMgeSBzdXMgbWV0YWRhdG9zLCB5byBnYXJhbnRpem8gYWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBVbmFsIGVsIGRlcmVjaG8gYSBhbG1hY2VuYXJsb3MgeSBtYW50ZW5lcmxvcyBkaXNwb25pYmxlcyBlbiBsw61uZWEgZGUgbWFuZXJhIGdyYXR1aXRhLiBEZWNsYXJvIHF1ZSBsYSBvYnJhIGVzIGRlIG1pIHByb3BpZWRhZCBpbnRlbGVjdHVhbCB5IHF1ZSBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIFVuYWwgbm8gYXN1bWUgbmluZ3VuYSByZXNwb25zYWJpbGlkYWQgc2kgaGF5IGFsZ3VuYSB2aW9sYWNpw7NuIGEgbG9zIGRlcmVjaG9zIGRlIGF1dG9yIGFsIGRpc3RyaWJ1aXIgZXN0b3MgYXJjaGl2b3MgeSBtZXRhZGF0b3MuIChTZSByZWNvbWllbmRhIGEgdG9kb3MgbG9zIGF1dG9yZXMgYSBpbmRpY2FyIHN1cyBkZXJlY2hvcyBkZSBhdXRvciBlbiBsYSBww6FnaW5hIGRlIHTDrXR1bG8gZGUgc3UgZG9jdW1lbnRvLikgRGUgbGEgbWlzbWEgbWFuZXJhLCBhY2VwdG8gbG9zIHTDqXJtaW5vcyBkZSBsYSBzaWd1aWVudGUgbGljZW5jaWE6IExvcyBhdXRvcmVzIG8gdGl0dWxhcmVzIGRlbCBkZXJlY2hvIGRlIGF1dG9yIGRlbCBwcmVzZW50ZSBkb2N1bWVudG8gY29uZmllcmVuIGEgbGEgVW5pdmVyc2lkYWQgTmFjaW9uYWwgZGUgQ29sb21iaWEgdW5hIGxpY2VuY2lhIG5vIGV4Y2x1c2l2YSwgbGltaXRhZGEgeSBncmF0dWl0YSBzb2JyZSBsYSBvYnJhIHF1ZSBzZSBpbnRlZ3JhIGVuIGVsIFJlcG9zaXRvcmlvIEluc3RpdHVjaW9uYWwsIHF1ZSBzZSBhanVzdGEgYSBsYXMgc2lndWllbnRlcyBjYXJhY3RlcsOtc3RpY2FzOiBhKSBFc3RhcsOhIHZpZ2VudGUgYSBwYXJ0aXIgZGUgbGEgZmVjaGEgZW4gcXVlIHNlIGluY2x1eWUgZW4gZWwgcmVwb3NpdG9yaW8sIHF1ZSBzZXLDoW4gcHJvcnJvZ2FibGVzIGluZGVmaW5pZGFtZW50ZSBwb3IgZWwgdGllbXBvIHF1ZSBkdXJlIGVsIGRlcmVjaG8gcGF0cmltb25pYWwgZGVsIGF1dG9yLiBFbCBhdXRvciBwb2Ryw6EgZGFyIHBvciB0ZXJtaW5hZGEgbGEgbGljZW5jaWEgc29saWNpdMOhbmRvbG8gYSBsYSBVbml2ZXJzaWRhZC4gYikgTG9zIGF1dG9yZXMgYXV0b3JpemFuIGEgbGEgVW5pdmVyc2lkYWQgTmFjaW9uYWwgZGUgQ29sb21iaWEgcGFyYSBwdWJsaWNhciBsYSBvYnJhIGVuIGVsIGZvcm1hdG8gcXVlIGVsIHJlcG9zaXRvcmlvIGxvIHJlcXVpZXJhIChpbXByZXNvLCBkaWdpdGFsLCBlbGVjdHLDs25pY28gbyBjdWFscXVpZXIgb3RybyBjb25vY2lkbyBvIHBvciBjb25vY2VyKSB5IGNvbm9jZW4gcXVlIGRhZG8gcXVlIHNlIHB1YmxpY2EgZW4gSW50ZXJuZXQgcG9yIGVzdGUgaGVjaG8gY2lyY3VsYSBjb24gYWxjYW5jZSBtdW5kaWFsLiBjKSBMb3MgYXV0b3JlcyBhY2VwdGFuIHF1ZSBsYSBhdXRvcml6YWNpw7NuIHNlIGhhY2UgYSB0w610dWxvIGdyYXR1aXRvLCBwb3IgbG8gdGFudG8sIHJlbnVuY2lhbiBhIHJlY2liaXIgZW1vbHVtZW50byBhbGd1bm8gcG9yIGxhIHB1YmxpY2FjacOzbiwgZGlzdHJpYnVjacOzbiwgY29tdW5pY2FjacOzbiBww7pibGljYSB5IGN1YWxxdWllciBvdHJvIHVzbyBxdWUgc2UgaGFnYSBlbiBsb3MgdMOpcm1pbm9zIGRlIGxhIHByZXNlbnRlIGxpY2VuY2lhIHkgZGUgbGEgbGljZW5jaWEgQ3JlYXRpdmUgQ29tbW9ucyBjb24gcXVlIHNlIHB1YmxpY2EuIGQpIExvcyBhdXRvcmVzIG1hbmlmaWVzdGFuIHF1ZSBzZSB0cmF0YSBkZSB1bmEgb2JyYSBvcmlnaW5hbCBzb2JyZSBsYSBxdWUgdGllbmVuIGxvcyBkZXJlY2hvcyBxdWUgYXV0b3JpemFuIHkgcXVlIHNvbiBlbGxvcyBxdWllbmVzIGFzdW1lbiB0b3RhbCByZXNwb25zYWJpbGlkYWQgcG9yIGVsIGNvbnRlbmlkbyBkZSBzdSBvYnJhIGFudGUgbGEgVW5pdmVyc2lkYWQgTmFjaW9uYWwgeSBhbnRlIHRlcmNlcm9zLiBFbiB0b2RvIGNhc28gbGEgVW5pdmVyc2lkYWQgTmFjaW9uYWwgZGUgQ29sb21iaWEgc2UgY29tcHJvbWV0ZSBhIGluZGljYXIgc2llbXByZSBsYSBhdXRvcsOtYSBpbmNsdXllbmRvIGVsIG5vbWJyZSBkZWwgYXV0b3IgeSBsYSBmZWNoYSBkZSBwdWJsaWNhY2nDs24uIGUpIExvcyBhdXRvcmVzIGF1dG9yaXphbiBhIGxhIFVuaXZlcnNpZGFkIHBhcmEgaW5jbHVpciBsYSBvYnJhIGVuIGxvcyBhZ3JlZ2Fkb3JlcywgaW5kaWNlc3MgeSBidXNjYWRvcmVzIHF1ZSBzZSBlc3RpbWVuIG5lY2VzYXJpb3MgcGFyYSBwcm9tb3ZlciBzdSBkaWZ1c2nDs24uIGYpIExvcyBhdXRvcmVzIGFjZXB0YW4gcXVlIGxhIFVuaXZlcnNpZGFkIE5hY2lvbmFsIGRlIENvbG9tYmlhIHB1ZWRhIGNvbnZlcnRpciBlbCBkb2N1bWVudG8gYSBjdWFscXVpZXIgbWVkaW8gbyBmb3JtYXRvIHBhcmEgcHJvcMOzc2l0b3MgZGUgcHJlc2VydmFjacOzbiBkaWdpdGFsLiBTSSBFTCBET0NVTUVOVE8gU0UgQkFTQSBFTiBVTiBUUkFCQUpPIFFVRSBIQSBTSURPIFBBVFJPQ0lOQURPIE8gQVBPWUFETyBQT1IgVU5BIEFHRU5DSUEgTyBVTkEgT1JHQU5JWkFDScOTTiwgQ09OIEVYQ0VQQ0nDk04gREUgTEEgVU5JVkVSU0lEQUQgTkFDSU9OQUwgREUgQ09MT01CSUEsIExPUyBBVVRPUkVTIEdBUkFOVElaQU4gUVVFIFNFIEhBIENVTVBMSURPIENPTiBMT1MgREVSRUNIT1MgWSBPQkxJR0FDSU9ORVMgUkVRVUVSSURPUyBQT1IgRUwgUkVTUEVDVElWTyBDT05UUkFUTyBPIEFDVUVSRE8uIAoKUGFyYSB0cmFiYWpvcyBkZXBvc2l0YWRvcyBwb3Igb3RyYXMgcGVyc29uYXMgZGlzdGludGFzIGEgc3UgYXV0b3I6IAoKRGVjbGFybyBxdWUgZWwgZ3J1cG8gZGUgYXJjaGl2b3MgZGlnaXRhbGVzIHkgbWV0YWRhdG9zIGFzb2NpYWRvcyBxdWUgZXN0b3kgYXJjaGl2YW5kbyBlbiBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIFVOKSBlcyBkZSBkb21pbmlvIHDDumJsaWNvLiBTaSBubyBmdWVzZSBlbCBjYXNvLCBhY2VwdG8gdG9kYSBsYSByZXNwb25zYWJpbGlkYWQgcG9yIGN1YWxxdWllciBpbmZyYWNjacOzbiBkZSBkZXJlY2hvcyBkZSBhdXRvciBxdWUgY29ubGxldmUgbGEgZGlzdHJpYnVjacOzbiBkZSBlc3RvcyBhcmNoaXZvcyB5IG1ldGFkYXRvcy4KTk9UQTogU0kgTEEgVEVTSVMgQSBQVUJMSUNBUiBBRFFVSVJJw5MgQ09NUFJPTUlTT1MgREUgQ09ORklERU5DSUFMSURBRCBFTiBFTCBERVNBUlJPTExPIE8gUEFSVEVTIERFTCBET0NVTUVOVE8uIFNJR0EgTEEgRElSRUNUUklaIERFIExBIFJFU09MVUNJw5NOIDAyMyBERSAyMDE1LCBQT1IgTEEgQ1VBTCBTRSBFU1RBQkxFQ0UgRUwgUFJPQ0VESU1JRU5UTyBQQVJBIExBIFBVQkxJQ0FDScOTTiBERSBURVNJUyBERSBNQUVTVFLDjUEgWSBET0NUT1JBRE8gREUgTE9TIEVTVFVESUFOVEVTIERFIExBIFVOSVZFUlNJREFEIE5BQ0lPTkFMIERFIENPTE9NQklBIEVOIEVMIFJFUE9TSVRPUklPIElOU1RJVFVDSU9OQUwgVU4sIEVYUEVESURBIFBPUiBMQSBTRUNSRVRBUsONQSBHRU5FUkFMLiAqTEEgVEVTSVMgQSBQVUJMSUNBUiBERUJFIFNFUiBMQSBWRVJTScOTTiBGSU5BTCBBUFJPQkFEQS4gCgpBbCBoYWNlciBjbGljIGVuIGVsIHNpZ3VpZW50ZSBib3TDs24sIHVzdGVkIGluZGljYSBxdWUgZXN0w6EgZGUgYWN1ZXJkbyBjb24gZXN0b3MgdMOpcm1pbm9zLiBTaSB0aWVuZSBhbGd1bmEgZHVkYSBzb2JyZSBsYSBsaWNlbmNpYSwgcG9yIGZhdm9yLCBjb250YWN0ZSBjb24gZWwgYWRtaW5pc3RyYWRvciBkZWwgc2lzdGVtYS4KClVOSVZFUlNJREFEIE5BQ0lPTkFMIERFIENPTE9NQklBIC0gw5psdGltYSBtb2RpZmljYWNpw7NuIDE5LzEwLzIwMjEK