dc.contributorBenavides Navarro, Luis Daniel (dir)
dc.creatorBeltrán Franco, Daniel Eduardo
dc.date.accessioned2019-08-01T19:58:08Z
dc.date.accessioned2021-10-01T16:03:45Z
dc.date.accessioned2022-09-29T14:34:57Z
dc.date.available2019-08-01T19:58:08Z
dc.date.available2021-10-01T16:03:45Z
dc.date.available2022-09-29T14:34:57Z
dc.date.created2019-08-01T19:58:08Z
dc.date.created2021-10-01T16:03:45Z
dc.date.issued2019
dc.identifierhttps://catalogo.escuelaing.edu.co/cgi-bin/koha/opac-detail.pl?biblionumber=22039
dc.identifierhttps://repositorio.escuelaing.edu.co/handle/001/973
dc.identifier.urihttp://repositorioslatinoamericanos.uchile.cl/handle/2250/3775576
dc.description.abstractLas aplicaciones reactivas exigen la detección de los cambios que se producen en un dominio de interés y, para que las reacciones sean oportunas, los ejemplos van desde simples aplicaciones interactivas hasta complejas tareas de monitoreo que implican sistemas distribuidos y heterogéneos. En los últimos años, se han propuesto diferentes paradigmas y soluciones de programación para apoyar estas aplicaciones. La Programación Reactiva ha sido el paradigma que provee soluciones a largo plazo para las organizaciones en la Era del Internet donde se producen datos en casi cualquier máquina, conexión, aplicación, etc. Teniendo en cuenta que actualmente las aplicaciones web requieren mucho más dinamismo, es vital que éstas se actualicen sin utilizar dependencias externas o internas. Se espera entonces que un sistema interactúe con su entorno, intercalando temporalmente entradas y salidas, lo que significa que dentro de un tiempo adecuado (dependiendo de la aplicación) el sistema devuelva una respuesta en función de las entradas recibidas y continúa con el ciclo de ejecución, esto es, ser un cliente asíncrono. Los sistemas de programación basados en eventos (específicamente el Procesamiento de Eventos Complejos) permiten la definición de situaciones de alto nivel de interés, desde eventos primitivos de bajo nivel detectados en el entorno hasta la producción y consumo de grandes cantidades de datos. En este trabajo, nos centramos en mostrar un lenguaje reactivo enfocado a la distribución adoptando principios reactivos como: arquitectura basada en mensajes, capacidad de respuesta, elasticidad y resiliencia. También presentamos el estado del arte de la programación reactiva y la forma en que el lenguaje reactivo soporta los valores que cambian con el tiempo y su composición como abstracciones de lenguaje dedicado con reconocimiento de ciertos patrones que se comportan de acuerdo a un contexto dado. El estado del arte expone las investigaciones de diferentes comunidades, pertenecientes a las áreas de bases de datos, sistemas distribuidos y lenguajes de programación. Creemos que una comprensión más profunda de estos campos de investigación, incluyendo sus beneficios y limitaciones, sus similitudes y diferencias, podría impulsar nuevos desarrollos en el apoyo a las aplicaciones reactivas. A pesar de algunas diferencias entre las implementaciones, creemos que tal comparación puede desencadenar una discusión interesante entre las comunidades, favorecer el intercambio de conocimientos y dejar que surjan nuevas ideas.
dc.description.abstractReactive applications demand detection of the changes that occur in a domain of interest and for timely reactions, examples rang from simple interactive applications to complex monitoring tasks involving distributed and heterogeneous systems. Over the last years, different programming paradigms and solutions have been proposed to support such applications. Reactive Programming has been the paradigm provided for long time solutions to the organizations in the Internet Era where data is produced in almost any machine, connection, application, etc. Taking into account that currently web applications require much more dynamism, it is vital that they update without using external or internal dependencies. It is expected then, that a system interacts with its environment, interspersing inputs and outputs temporarily, which means that within an adequate amount of time (depending on the application) the system returns a response depending on the received inputs and continues with the cycle of execution, that is, being an asynchronous client. Event-based programming (specifically Complex Event Processing) systems enable the definition of high level situations of interest from low level primitive events detected in the environment to big data production and consumption. In this paper, we focus on showing a distributed reactive focused language adopting reactive principles like: message-driven architecture, responsiveness, elasticity and resiliency. We also present the reactive programming state of the art and the form the reactive language supports time-changing values and their composition as dedicated language abstractions with recognition of certain patterns that behave accordingly to a given context. The state of the art exposes the investigations by different communities, belonging to the databases, distributed systems, and programming languages areas. It is our belief that a deeper understanding of these research fields including their benefits and limitations their similarities and differences, could drive further developments in supporting reactive applications. Despite some differences between the implementations, we believe that such comparison can trigger an interesting discussion across the communities, favor knowledge sharing, and let new ideas emerge.
dc.languagespa
dc.publisherEscuela Colombiana de Ingeniería Julio Garavito
dc.publisherIngeniería de Sistemas
dc.rightshttps://creativecommons.org/licenses/by-nc/4.0/
dc.rightsinfo:eu-repo/semantics/openAccess
dc.rightsAtribución-NoComercial 4.0 Internacional (CC BY-NC 4.0)
dc.rightsDerechos Reservados - Escuela Colombiana de Ingeniería Julio Garavito
dc.subjectLenguaje de Programación
dc.subjectProcesamiento de Eventos
dc.subjectFlujo de Datos
dc.subjectProgramación reactiva
dc.titleReactive Systems: Arquitectura y desempeño de middleware reactivo para el procesamiento de grandes volúmenes de datos (BigData)
dc.typeTrabajo de grado - Pregrado


Este ítem pertenece a la siguiente institución