Comparativa del paradigma de programación reactiva frente al paradigma síncrono

Cabrero Fernández, Sergio (2021). Comparativa del paradigma de programación reactiva frente al paradigma síncrono. Thesis (Master thesis), E.T.S.I. de Sistemas Informáticos (UPM).

Description

Title: Comparativa del paradigma de programación reactiva frente al paradigma síncrono
Author/s:
  • Cabrero Fernández, Sergio
Contributor/s:
  • Bernal Bermúdez, Jesús
Item Type: Thesis (Master thesis)
Masters title: Ingeniería Web
Date: January 2021
Subjects:
Freetext Keywords: RUP (Rational Unified Process); Programación reactiva; Aplicación web
Faculty: E.T.S.I. de Sistemas Informáticos (UPM)
Department: Sistemas Informáticos
Creative Commons Licenses: Recognition - No derivative works - Non commercial

Full text

[img] PDF - Users in campus UPM only - Requires a PDF viewer, such as GSview, Xpdf or Adobe Acrobat Reader
Download (1MB)

Abstract

En los últimos años ha aparecido un nuevo paradigma de programación que cambia la manera de pensar de los desarrolladores y que en principio parece ser más rápido y eficiente que el paradigma actual síncrono que utilizan la mayoría de sistemas. Por esto, y dado que hay muy poca información sobre la programación asíncrona en internet, he decidido realizar un estudio sobre ambos tipos de programación para averiguar sus diferencias y dar luz a un asunto que, si no me equivoco, irá cogiendo más fuerza a medida que pasen los años. Para realizar este estudio se han desarrollado dos APIs con Spring-Boot, una reactiva y otra síncrona. Estos dos desarrollos son prácticamente iguales, mismos endpoints, entidades y tecnologías utilizadas (MongoDB y Spring). Además, se ha intentado abarcar el máximo número posible de situaciones que acostumbra a enfrentar una aplicación real, es decir, relaciones entre entidades, endpoints con varias operaciones CRUD, etc. Tras realizar el desarrollo de las APIs se ha procedido a poner a prueba mediante pruebas de carga, de estrés, de concurrencia y de eficiencia ambos sistemas. De esta manera lo que se intenta es realizar una comparativa, lo más independientemente posible de factores externos, de estos sistemas idénticos, salvo por el paradigma de programación utilizado. Por último, se han estudiado y comparado las pruebas recogidas para ambos sistemas y se ha hecho un estudio sacando posibles beneficios que puede tener la programación reactiva frente a la programación síncrona. Al final del estudio se hará una conclusión del trabajo realizado y una opinión subjetiva sobre si merece la pena implementar este nuevo paradigma en vez de utilizar la programación síncrona tradicional. Abstract: In recent years a new programming paradigm has appeared that changes the way developers think and that in principle seems to be faster and more efficient than the current synchronous paradigm used by most systems. For this reason, and given that there is very little information about asynchronous programming on the Internet, I have decided to perform a study on both types of programming to find out their differences and give light to an issue that, if I am not wrong, it will take more strength as the years go by. To carry out this study, two APIs have been developed with Spring-Boot, one reactive and one synchronous. These two developments are practically the same, same endpoints, entities and technologies used (MongoDB and Spring). In addition, an attempt has been made to cover the maximum possible number of situations that a real application usually faces, i.e., relationships between entities, endpoints with various CRUD operations, etc. After developing the APIs, both systems have been tested for load, stress, concurrency and efficiency. In this way, the aim is to compare, as independently as possible from other external factors, these identical systems, except for the programming paradigm used. Finally, the evidence collected for both systems has been studied and compared, and a study has been made of the possible benefits that reactive programming can have compared to synchronous programming. At the end of the study will be a conclusion of the work done and a subjective opinion on whether it is worth implementing this new paradigm instead of using traditional synchronous programming.

More information

Item ID: 68027
DC Identifier: https://oa.upm.es/68027/
OAI Identifier: oai:oa.upm.es:68027
Deposited by: Biblioteca Universitaria Campus Sur
Deposited on: 09 Aug 2021 06:19
Last Modified: 09 Aug 2021 06:19
  • Logo InvestigaM (UPM)
  • Logo GEOUP4
  • Logo Open Access
  • Open Access
  • Logo Sherpa/Romeo
    Check whether the anglo-saxon journal in which you have published an article allows you to also publish it under open access.
  • Logo Dulcinea
    Check whether the spanish journal in which you have published an article allows you to also publish it under open access.
  • Logo de Recolecta
  • Logo del Observatorio I+D+i UPM
  • Logo de OpenCourseWare UPM