Proceso de APIficación con metodología API First

Caso de éxito

Introducción

Una de las principales empresas del sector energético, se encontraba en la necesidad de optimizar la gestión de sus ofertas de placas solares, un proceso que hasta el momento se realizaba de manera manual mediante hojas de cálculo en Excel. Este método resultaba ineficiente, propenso a errores y difícil de escalar, lo que impactaba negativamente tanto en la eficiencia operativa como en la experiencia del cliente.

Para abordar este desafío, se desarrolló un conjunto de APIs, permitiendo automatizar el cálculo y la generación de ofertas. Este proyecto fue crucial para avanzar en el proceso de digitalización y modernización del departamento, respondiendo a la necesidad de mejorar la precisión y agilidad en un sector en constante evolución. Como resultado, se logró una operativa más eficiente, redujo errores y mejoró la satisfacción del cliente al ofrecer una gestión de ofertas más ágil y precisa.

Adicionalmente, el número de clientes interesados en realizar simulaciones creció de forma considerable, permitiendo mejorar de forma notable la adquisición de leads y por consiguiente el número de clientes.

Punto de partida

Antes del inicio de este proyecto, la empresa tenía una serie de desafíos relacionados con la gestión y simulación de ofertas comerciales. Los procesos de simulación y generación de ofertas se realizaban mediante documentos Excel, requiriendo una intervención manual continua. Este enfoque no solo era ineficiente, sino que también imposibilitaba la integración con otros sistemas y plataformas de la empresa, afectando la agilidad y la capacidad de respuesta ante las demandas del mercado.

Objetivo
del Proyecto

El objetivo principal del proyecto era diseñar y desarrollar una solución que permitiera la gestión de simulaciones y ofertas comerciales, permitiendo a la empresa operar de manera más ágil y eficiente. Para ello, se decidió adoptar una arquitectura basada en microservicios, implementada siguiendo la metodología API First, lo que permitiría crear servicios desacoplados, reutilizables y fácilmente integrables por terceros.

Metodología de desarrollo

El proyecto fue abordado mediante un enfoque ágil (Agile), con un equipo de trabajo multidisciplinario compuesto por desarrolladores, arquitectos de software y expertos en DevOps. La metodología API First fue fundamental, ya que permitió definir y diseñar las APIs desde el inicio, asegurando que todos los módulos desarrollados fueran consistentes y estuvieran alineados con los requisitos del negocio.

Solución: desarrollo de módulos

Módulo de Cálculo

Este módulo concentra toda la lógica de cálculo relacionada con las simulaciones y las ofertas. Su propósito es realizar cálculos complejos necesarios para generar simulaciones precisas y ofertas competitivas.

Módulo de Simulaciones

Encargado de permitir la simulación de ofertas en tiempo real. Este módulo interactúa estrechamente con el módulo de cálculo para generar simulaciones basadas en diferentes escenarios y parámetros.

Módulo de Ofertas

Responsable de la generación y gestión de ofertas comerciales. Este módulo se asegura de que las ofertas cumplan con los criterios definidos y estén listas para ser presentadas a los clientes.

Módulo de Documentos

Gestiona toda la documentación relacionada con las ofertas, incluyendo la generación, almacenamiento y recuperación de documentos.

Tecnologías y herramientas usadas

Los microservicios fueron desarrollados utilizando Spring Boot y montados en contenedores mediante Docker. Como plataforma de despliegue se utilizó ECS de AWS, en donde adicionalmente se utilizaron otros servicios como SES para mensajería, S3 para gestión documental y Cognito como IdP. La integración y el despliegue fueron automatizadas mediante pipelines de Jenkins así como el aprovisionamiento de la infraestructura mediante el uso de Terraform (infraestructura como código).

Resultados

El resultado final del proyecto fue el desarrollo de una serie de APIs desacopladas, cada una correspondiente a un módulo específico. Estas APIs son altamente integrables y pueden ser consumidas desde diversos puntos de entrada, lo que proporciona flexibilidad y escalabilidad a la solución. La nueva infraestructura permite una mejor gestión de las simulaciones y ofertas, optimizando el proceso de generación y asegurando una mayor precisión y rapidez en la respuesta a los clientes.

Además, la adopción de una metodología ágil y el uso de tecnologías modernas han mejorado significativamente el ciclo de desarrollo, permitiendo al equipo responder de manera más efectiva a los cambios en los requisitos y a las demandas del mercado. La integración con AWS ha garantizado la escalabilidad y seguridad de la solución, mientras que la arquitectura de microservicios ha facilitado el mantenimiento y la evolución del sistema a futuro.

En resumen, el proyecto no solo resolvió los problemas iniciales, sino que también sentó las bases para un desarrollo continuo y adaptable.

Ámbitos de aplicación

A partir del proyecto descrito, se pueden abstraer varios patrones y metodologías altamente reutilizables en otros proyectos, que no sólo resuelven problemas específicos, sino que también establecen una base sólida para el desarrollo de soluciones escalables, mantenibles y adaptables

La arquitectura de microservicios es un enfoque clave que divide una aplicación en un conjunto de servicios pequeños, autónomos y especializados, lo que facilita el mantenimiento, la evolución y la escalabilidad independiente de cada componente. Junto con la metodología API First, que asegura la coherencia y alineación de las APIs con los requisitos del negocio, estos enfoques permiten una interacción fluida y consistente entre los distintos módulos y sistemas.

La infraestructura como código (IaC) es otro patrón fundamental que automatiza la gestión y aprovisionamiento de la infraestructura, garantizando la consistencia, minimizando errores humanos y permitiendo escalar de manera automatizada. En este contexto, el despliegue en la nube utilizando servicios como AWS proporciona escalabilidad, seguridad y flexibilidad, permitiendo a las empresas adaptarse rápidamente a las demandas cambiantes. Además, la integración y despliegue continuo (CI/CD), implementado mediante pipelines automatizados, mejora la rapidez y calidad en la entrega del software, reduciendo errores y facilitando la adopción de cambios.

La contenedorización con Docker asegura la portabilidad y consistencia de las aplicaciones a través de diferentes entornos.

Todos estos elementos, combinados con una metodología ágil, que promueve la adaptabilidad, la colaboración y la mejora continua, forman un conjunto de prácticas y herramientas que pueden ser aplicadas en una amplia variedad de proyectos para crear sistemas modernos, flexibles y preparados para el futuro.

¿Quieres ser nuestro próximo caso de éxito?

Contacta con nosotros y cuéntanos qué necesitas para potenciar tu empresa

Scroll al inicio
Desarrollamos tu imaginación
Resumen de privacidad

Esta web utiliza cookies para que podamos ofrecerte la mejor experiencia de usuario posible. La información de las cookies se almacena en tu navegador y realiza funciones tales como reconocerte cuando vuelves a nuestra web o ayudar a nuestro equipo a comprender qué secciones de la web encuentras más interesantes y útiles.