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...
- 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
- 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 |