Programación funcional y reactiva en Java sobre los desarrollos en Latinoamérica

Autores/as

  • Fabiany Madrigal Salazar Corporación Tecnología Industrial Colombiana (TEINCO) Autor/a
  • Omar Madrigal Salazar Corporación Tecnología Industrial Colombiana (TEINCO) Autor/a

DOI:

https://doi.org/10.64351/rteincoscholar.N3.art3

Palabras clave:

arquitectura, concurrencia, desarrollador, funcional, hilos, java, micro servicios, reactiva, RxJava

Resumen

El constante cambio en los modelos de arquitectura de software ha generado la necesidad de soluciones ágiles, escalables y seguras que permitan a las empresas aumentar su rentabilidad. Para lograrlo, es esencial que todos los niveles del equipo, desde desarrolladores junior hasta arquitectos, conozcan los nuevos modelos, sus ventajas, desventajas y cómo implementarlos de forma que aporten valor al negocio. Los procesos de cambio de arquitectura suelen requerir la creación de un comité organizacional encargado de evaluar patrones, modelos y procesos adecuados a la estructura empresarial. Este enfoque facilita la incorporación de nuevas tecnologías y fomenta el aprendizaje continuo de los equipos de desarrollo. Entre los enfoques emergentes destacan la programación funcional y reactiva, que optimizan la ejecución de procesos por hilos, de manera síncrona o asíncrona, asegurando la continuidad de los flujos, la preservación de información y la consistencia en la definición de procesos. En Latinoamérica, la adopción de estos modelos evidencia un proceso de transformación tecnológica que impacta directamente en la eficiencia y competitividad de las organizaciones, mostrando cómo la apropiación y adaptación de nuevas arquitecturas son clave para enfrentar los retos del desarrollo de software contemporáneo.

Referencias

Al Mamun, A., Khanam, A., Grahan, H., & Feldt, R. (2010). Comparing four static analysis tools for Java concurrency bugs [PDF]. http://www.robertfeldt.net/publications/grahn_2010_comparing_static_analysis_tools_for_concurrency_bugs.pdf

Caroline. (2021). La lista completa de las ventajas y desventajas de los cursos online. Easy LMS. https://www.easy-lms.com/es/centro-de-conocimiento/cursos/ventajas-y-desventajas-de-los-cursos-online/item10402

CampusMVP. (2018). El estado del ecosistema Java en 2018. https://www.campusmvp.es/recursos/post/el-estado-del-ecosistema-java-en-2018.aspx

Castillo, J. (2019). Procesador multinúcleo: Qué es y para qué sirve. Profesional Review. https://www.profesionalreview.com/2019/07/14/procesador-multinucleo/

Casey, K. (2021). Comparación de 6 de los principales lenguajes de programación. https://www.computerweekly.com/es/consejo/Comparacion-de-6-de-los-principales-lenguajes-de-programacion

CodeGuru Staff. (2007). Why too many threads hurts performance and what to do about it. https://www.codeguru.com/cplusplus/why-too-many-threads-hurts-performance-and-what-to-do-about-it/

Diagonal English. (s.f.). ¿En cuánto tiempo se aprende inglés? [Imagen]. https://diagonalenglish.com/en-cuanto-tiempo-se-aprende-ingles/

EvaluandoSoftware. (2021). La arquitectura empresarial prepara a la compañía para los cambios del mercado. https://www.evaluandosoftware.com/la-arquitectura-empresarial-prepara-la-compania-los-cambios-del-mercado/

Garcia, M. (2022). Implementación de una arquitectura micro-frontend para optimizar el desarrollo y despliegue de la aplicación web del sistema de información universitaria de la SUNEDU. http://cybertesis.unmsm.edu.pe/bitstream/handle/20.500.12672/17887/Garcia_chm.pdf?sequence=1&isAllowed=y

Gonzales, E., Lopez, A., Trujillo, V., & Rojas, R. (2017). Estrategia didáctica de enseñanza y aprendizaje para programadores de software. https://www.ride.org.mx/index.php/RIDE/article/view/402/2079#info

Hernández, S. (2021). Estrategias para afrontar la resistencia al cambio en las organizaciones. https://repository.unimilitar.edu.co/bitstream/handle/10654/39044/HernándezGamboaSandraLiliana2021.pdf?sequence=2&isAllowed=y

Herranz, X. (2020). 20 años después quiero volver a programar: Qué grandes cambios ha habido y por dónde empezar. https://www.xataka.com/otros/20-anos-despues-quiero-volver-a-programar-que-grandes-cambios-ha-habido-donde-empezar

Lores, M. (2018). El síndrome de "Burnout" o el desgaste profesional del programador. https://www.campusmvp.es/recursos/post/el-sindrome-de-burnout-o-el-desgaste-profesional-del-programador.aspx

López, D., & Maya, E. (2017). Arquitectura de software basada en microservicios para desarrollo de aplicaciones web. http://138.59.12.47/bitstream/10786/1277/1/93%20Arquitectura%20de%20Software%20basada%20en%20Microservicios%20para%20Desarrollo%20de%20Aplicaciones%20Web.pdf

Mamani, Z., Pino, L., & Gonzalez, C. (2020). Arquitectura basada en microservicios y DevOps para una ingeniería de software continua. https://www.redalyc.org/journal/816/81665362014/html/

Martelo, R., Franco, D., & Oyala, P. (2020). Factores que influyen en la calidad de la educación virtual. http://www.revistaespacios.com/a20v41n46/a20v41n46p29.pdf

Méndez, P. (2020). Senior vs Junior! (Niveles de programadores). https://ed.team/blog/senior-vs-junior-niveles-de-programadores

Naciones Unidas. (2016a). Clasificación de actividades de uso del tiempo para América Latina y el Caribe. https://repositorio.cepal.org/bitstream/handle/11362/39624/4/S1600508_es.pdf

Naciones Unidas. (2016b). Diagrama de formas del trabajo [Imagen]. https://www.un.org/es/sections/issues-depth/work/index.html

Norén, A. (2019). Un poco de historia sobre Spring. https://javadesde0.com/un-poco-de-historia-sobre-spring/

Nurkiewicz, T., & Christensen, B. (2017). Reactive programming with RxJava: Creating asynchronous, event-based. https://books.google.es/books?hl=es&lr=&id=y4Y1DQAAQBAJ&oi=fnd&pg=PR4&dq=rxjava+programming+paradigm&ots=Di9YY-X5Rh&sig=fFE3UwM1dbi2irII45n_I0aPQIo#v=onepage&q&f=false

Otero, E., & Alma, D. (2017). Plataformas virtuales de aprendizaje en la educación superior. https://is.uv.mx/index.php/IS/article/view/2545/4454

Patrick. (2022). Sleep more, code more. https://patrickgod.com/sleep-more-code-more

Pinterest. (s.f.). Hola mundo en diversos lenguajes [Imagen]. https://www.pinterest.com.mx/pin/857091372823715133/

Prince, A. (2020). El autoaprendizaje como proceso para la construcción de conocimientos en tiempos de pandemia. http://portal.amelica.org/ameli/jatsRepo/400/4001720008/4001720008.pdf

Rincón Rodríguez, O. O., & Aldana Bautista, L. (2021). Cultura organizacional y su relación con los sistemas de gestión: Una revisión bibliográfica. Signos, Investigación en Sistemas de Gestión, 13(2). https://doi.org/10.15332/24631140.6675

solobenja. (2009). Novedades en Java 6. https://solobenja.wordpress.com/2009/12/09/novedades-en-java-6-i/

Torres, Y., Camacho, J., Solano, J., & León, L. (2020). Migración de un monolito a una arquitectura basada en microservicios, caso de estudio sistema “kbus”. https://www.dominiodelasciencias.com/ojs/index.php/es/article/view/1193/1886

Vasilliy. (2020). What can we learn from the demise of RxJava? https://www.techyourchance.com/rxjava-lessons-learned/

Velázquez, P., Flores, B., Ibarra, J., Astorga, M., Aguilar, R., Ramírez, E., & López, G. (2021). Identificación de áreas de aplicación de arquitecturas de software basadas en modelos, técnicas y herramientas de social media. https://scielo.pt/pdf/rist/n42/1646-9895-rist-42-12.pdf

Vita, M. (2021). Plataformas educativas y herramientas digitales para el aprendizaje. https://repository.uaeh.edu.mx/revistas/index.php/prepa4/article/view/7593/8211

Vives, L. (2021). Estrategia de autoaprendizaje de programación, sustentada en un modelo de gamificación integral contextualizado. https://repositorio.uss.edu.pe/bitstream/handle/20.500.12802/9053/Vives%20Garnique%20Luis%20Alberto.pdf?sequence=1&isAllowed=y

Warburton, R. (2015). Java 8 Lambdas: Pragmatic functional programming: Why did they need to change Java again. https://books.google.es/books?hl=es&lr=&id=FKUdAwAAQBAJ&oi=fnd&pg=PR2&dq=functional+programming+java+&ots=5k-Nd6EcVc&sig=rJ4P4NlV9OwWoBMNn3kveommjHo#v=onepage&q=functional%20programming%20java&f=false

Descargas

Publicado

2023-12-01