Plataforma de Integración basada en Microservicios
Supervisor(es): González, Laura - Llambías, Guzmán
Resumen:
En los nuevos contextos en los que operan las organizaciones, los procesos de negocio se llevan a cabo integrando servicios ofrecidos por cada una de ellas. Las Plataformas de Integración consisten en infraestructuras especializadas que brindan mecanismos que facilitan la integración de estos servicios, resolviendo incompatibilidades entre sistemas heterogéneos con el fin de posibilitar su comunicación. Por otra parte, la arquitectura de microservicios se enfoca en desarrollar una aplicación como un conjunto de pequeños servicios y brinda ventajas en aspectos de alta disponibilidad y tolerancia a fallos. Estas ventajas podrían beneficiar a las Plataformas de Integración, que tradicionalmente poseen arquitecturas monolíticas. En este sentido, en un trabajo previo se estudió la aplicabilidad de la arquitectura de microservicios para la construcción de Plataformas de Integración. Se propusieron alternativas de arquitectura y diseño, cuya factibilidad técnica fue validada realizando pruebas de concepto. Sin embargo, en dicho trabajo no se realizó la implementación de la Plataforma de Integración. En este proyecto se realiza una implementación de la Plataforma de Integración propuesta en el trabajo previo mencionado, para algunos escenarios específicos. Se comienza identificando los requerimientos que esta plataforma debe cumplir. Luego, se realiza un refinamiento de estos y se define el alcance final del proyecto. Se determina que la plataforma cubra los escenarios de Transformación y Enriquecimiento de mensajes. También se desea realizar un seguimiento de manera centralizada de los registros de eventos o acciones de los microservicios y se quiere que la plataforma sea escalable. Posteriormente se da paso a diseñar la plataforma, enfocándose en los componentes disponibles en la misma y en la forma de comunicación entre ellos. Se define que los estilos de coordinación de los componentes de integración presentes en las soluciones sean coreografía u orquestación. Finalmente, se implementa la plataforma de integración, elaborando un caso de estudio para evaluar la factibilidad técnica de la propuesta. Respecto a las tecnologías utilizadas, se destaca el stack tecnológico de Spring Cloud para la implementación de los microservicios, que se despliegan sobre el gestor de contenedores Docker. Para el registro de eventos centralizado se opta por Graylog, y se elige RabbitMQ como middleware orientado a mensajes para la comunicación de estilo coreográfico en la plataforma.
2019 | |
Plataforma de integración Arquitectura de microservicios Coreografía Orquestación Contenedores |
|
Español | |
Universidad de la República | |
COLIBRI | |
https://hdl.handle.net/20.500.12008/23941 | |
Acceso abierto | |
Licencia Creative Commons Atribución - No Comercial - Sin Derivadas (CC - By-NC-ND 4.0) |
Sumario: | En los nuevos contextos en los que operan las organizaciones, los procesos de negocio se llevan a cabo integrando servicios ofrecidos por cada una de ellas. Las Plataformas de Integración consisten en infraestructuras especializadas que brindan mecanismos que facilitan la integración de estos servicios, resolviendo incompatibilidades entre sistemas heterogéneos con el fin de posibilitar su comunicación. Por otra parte, la arquitectura de microservicios se enfoca en desarrollar una aplicación como un conjunto de pequeños servicios y brinda ventajas en aspectos de alta disponibilidad y tolerancia a fallos. Estas ventajas podrían beneficiar a las Plataformas de Integración, que tradicionalmente poseen arquitecturas monolíticas. En este sentido, en un trabajo previo se estudió la aplicabilidad de la arquitectura de microservicios para la construcción de Plataformas de Integración. Se propusieron alternativas de arquitectura y diseño, cuya factibilidad técnica fue validada realizando pruebas de concepto. Sin embargo, en dicho trabajo no se realizó la implementación de la Plataforma de Integración. En este proyecto se realiza una implementación de la Plataforma de Integración propuesta en el trabajo previo mencionado, para algunos escenarios específicos. Se comienza identificando los requerimientos que esta plataforma debe cumplir. Luego, se realiza un refinamiento de estos y se define el alcance final del proyecto. Se determina que la plataforma cubra los escenarios de Transformación y Enriquecimiento de mensajes. También se desea realizar un seguimiento de manera centralizada de los registros de eventos o acciones de los microservicios y se quiere que la plataforma sea escalable. Posteriormente se da paso a diseñar la plataforma, enfocándose en los componentes disponibles en la misma y en la forma de comunicación entre ellos. Se define que los estilos de coordinación de los componentes de integración presentes en las soluciones sean coreografía u orquestación. Finalmente, se implementa la plataforma de integración, elaborando un caso de estudio para evaluar la factibilidad técnica de la propuesta. Respecto a las tecnologías utilizadas, se destaca el stack tecnológico de Spring Cloud para la implementación de los microservicios, que se despliegan sobre el gestor de contenedores Docker. Para el registro de eventos centralizado se opta por Graylog, y se elige RabbitMQ como middleware orientado a mensajes para la comunicación de estilo coreográfico en la plataforma. |
---|