Los api evangelists dividimos normalmente los tipos de apis en 3:
APIs de experiencia (interfaces). Las apis de presentación son las apis que se desarrollan para los consumidores.
APIs de proceso (core). Las apis de negocio son las que están pegadas a los dominios funcionales y son las que desarrollan la lógica de negocio.
APIs de intraestructura (infraestructure). Las APIs de infraestructura normalmente utilizan tecnología para poder disponbilizar infraestructura o sistemas externos, como puede ser un conector, una base de datos, un json..
¿Cómo podemos implementar las apis de experiencia (interface)?
– BFF: Se desarrolla un microservicio que cumpla las necesidades del front. Lo normal es hacer uno por cada consumidor.
– Graphql: Se desarrolla un microservicio que implemente interfaces graphql o utilizamos tecnología de graphql que por detrás utilice las apis de dominio.
– API: Dentro de los principales vendor se pueden implementar agrupaciones, workflows que es lo típico que se hace en este tipo de APIs.
– Productos api: Sólo si este tipo de apis lo queremos disponibilizar unos determinados «endpoints» de diferentes apis. Esta tecnología normalmente está más limitada y dentro del producto api no podemos hacer workflows, enrequicimientos de datos..