Desarrollo de API’s RESTful multiplataforma para la gestión de datos de clientes empresariales en Pragma S.A.

RESUMEN : Pragma es una empresa internacional con más de 700 empleados y presencia en 5 países, dedicada profundamente a la transformación digital de negocios y actividades organizacionales, procesos, competencias y modelos para aprovechar completamente los cambios y oportunidades de una sociedad en...

Full description

Autores:
Álvarez Pinzón, Santiago
Tipo de recurso:
Trabajo de grado de pregrado
Fecha de publicación:
2022
Institución:
Universidad de Antioquia
Repositorio:
Repositorio UdeA
Idioma:
spa
OAI Identifier:
oai:bibliotecadigital.udea.edu.co:10495/26162
Acceso en línea:
http://hdl.handle.net/10495/26162
Palabra clave:
Base de datos
Databases
Cambio tecnológico
Technological change
Programa de ordenador
Computer software
Bases de datos de imágenes
Ingeniería de software
Java (lenguaje de programación de computadores)
Gestión de datos
Microservicios
http://vocabularies.unesco.org/thesaurus/concept501
http://vocabularies.unesco.org/thesaurus/concept4566
http://vocabularies.unesco.org/thesaurus/concept6081
Rights
openAccess
License
http://creativecommons.org/licenses/by-nc-nd/2.5/co/
Description
Summary:RESUMEN : Pragma es una empresa internacional con más de 700 empleados y presencia en 5 países, dedicada profundamente a la transformación digital de negocios y actividades organizacionales, procesos, competencias y modelos para aprovechar completamente los cambios y oportunidades de una sociedad en constante cambio. Las principales áreas de trabajo de la empresa son el desarrollo de soluciones de software y la provisión de talento en las áreas de tecnología. Actualmente existe una alta demanda de API’s que permitan la administración de información de negocios en todos los ámbitos económicos, tal que permitan realizar las tareas necesarias de manera eficiente y confiable. Es así como se propuso la idea de producir dos API’s Restful que implementaran las operaciones CRUD (Create, read, update y delete), para la gestión de información de clientes y almacenamiento de imágenes: la primera, aplicación web Java que trabaje sobre 2 bases de datos locales, una relacional provista por MySQL server y otra no relacional en MongoDB Community server; y la segunda, basada en Lambdas de la plataforma Amazon Web Services, las cuales actuarían sobre una base de datos DynamoDB para datos y otra sobre S3 para gestión de imágenes. Durante el desarrollo se afrontaron diversos retos que derivaron en cambios a las ideas iniciales, de manera que el resultado fueron 2 conjuntos de API’s, el primero, una API Java MVC conformada por un servidor de gestión y 4 microservicios que implementan las funciones CRUD sobre la base de datos en el servidor MongoDB Community Server y en la nube Amazon Relational Databases (RDS), con acceso de seguridad completamente gestionado, descentralizados, administrables, con capacidad de respuesta amplia, con cobertura de pruebas de código mayor al 80% y completamente documentados. El segundo conjunto consta de 5 lambdas de AWS que implementan las funciones CRUD sobre las bases de datos en la nube DynamoDB y S3, con acceso de seguridad gestionado, ejecutadas de manera completamente remota, económica, de capacidad escalable y monitoreada. Como componente adicional a estas, se creó una API capaz de consumir los microservicios ofrecidos por las anteriormente mencionadas, logrando una integración amplia entre ambos conjuntos y dotándolos de capacidades adicionales con las que no contaban.