Arquitectura de APIs

Contenido

La arquitectura de referencia de APIs está relacionada de alguna manera con una arquitectura de interoperabilidad. En nuestro caso, se ha decidido mantenerla independiente para garantizar una correcta separación de capas y evolución futura del modelo, aunque a nivel técnico una misma plataforma software pueda dar cobertura a la arquitectura de APIs y a la arquitectura de interoperabilidad.

Fundamentalmente está compuesta por una pieza central que actúa de API Manager o API Management, permitiendo publicar un catálogo de APIs que otros sistemas o clientes consumen. Para esto existen muchas posibilidades en la configuración de la publicación de APIs: para gestionar el rate limit, si es necesario un cliente para la subscripción, autenticación, autorización, etc... Además, debe ser posible aplicar políticas que den soporte a garantizar la trazabilidad y la seguridad.

Existen otras piezas adicionales en la arquitectura de APIs, que apoyan al API Manager para facilitar la publicación de APIs (Portal del desarrollador, o API Publisher), componente para gestionar claves y certificados, componentes de identidad y conectores o colectores para observabilidad.

Necesidad

Permitir la publicación de APIs en un componente centralizado que permita realizar el gobierno de APIs de la organización, definir mecanismos de acceso por cada API y aplicar las políticas definidas en cada caso de uso. Además, debe ofrecer un catálogo de APIs de la organización a la comunidad de desarrolladores y entidades que consuman servicios publicados en el catálogo.

Características principales

  • API Gateway como punto de entrada único para el consumo de APIs
  • Gestor de APIs o API Manager como catálogo de APIs existentes
  • Gestión de nivel de visibilidad, versionado, métricas de uso, definición de políticas de consumo de las APIs
  • Autenticación, autorización y gestión de suscripciones a APIs para un control exhaustivo de su uso
  • Portal del desarrollador, como interfaz a través de la cual los desarrolladores acceden a las APIs así como también a la documentación de las mismas
  • Posibilidad de balanceo de carga.
  • Uso de códigos de respuesta estándar
  • Nomenclatura de APIs semánticamente entendibles
  • Posibilidad de versionado
  • Administración del ciclo de vida de las APIs
  • Sistema de caché para evitar llamadas innecesarias a los servicios

Relaciones

  • Consumida por:
    • Arquitectura de gestores de contenidos.
    • Arquitectura de MicroFrontEnds.
    • Arquitectura de Movilidad.
    • Arquitectura de realidad aumentada.
    • Clientes.
  • Accede a:
    • Arquitectura de microservicios.
    • Arquitectura de funciones.
    • Arquitectura de interoperabilidad. (APIs Síncronas)
    • Arquitectura de eventos. (APIs Asíncronas)