14.2 APIs

14.2.1 ¿Qué es una API?

API - Application Programming Interface

Es la definición o contrato que el dueño de un software o sistema promete a los usuarios de éste Especifica con claridad qué servicios se ofrecen y cómo se puede hacer uso de ellos Aplica para data y procesos. En este contexto, se refiere a un punto de acceso remoto, a través del Internet *Aísla los detalles de implementación (versión de software, lenguaje, base de datos, etc)

En los mismos equipos de Formen equipos de 3 revisar las siguientes APIs y discutir qué consideran que es una API, redactar un párrafo plasmando esto: iNaturalist Google geocoding Comisión nacional de energía (Chile) INEGI (México)

14.2.2 ¿Qué es un archivo JSON?

JSON es el acrónimo para JavaScript Object Notation, y aunque su nombre lo diga, no es necesariamente parte de JavaScript, de hecho es un estándar basado en texto plano para el intercambio de información, por lo que se usa en muchos sistemas que requieren mostrar o enviar información para ser interpretada por otros sistemas, la ventaja de JSON al ser un formato que es independiente de cualquier lenguaje de programación, es que los servicios que comparten información por éste método, no necesitan hablar el mismo idioma, es decir, el emisor puede ser Java y el receptor PHP, cada lenguaje tiene su propia librería para codificar y decodificar cadenas de JSON.

En los mismos equipos de 3 y retomando su pipeline propuesto, indicar qué partes se podrían solucionar con una API.

14.2.3 Organizando organizaciones con APIs

API Gateway - Pasarela a otras APIs

  • La idea central es que en la dirección de internet que se promociona, no residen datos o se ejecutan procesos
  • Todos están en otros servidores y lugares diferentes
  • Pero se puede acceder a todos desde la misma pasarela (Gateway)

Gobierno de datos

  • Es mucho más amplio que sólo un sistema
  • Relación estrecha con el modelo organizacional, tanto del proyecto como de las instituciones involucradas
  • Relación estrecha con las fuentes, destino y uso de los datos y procesos
  • La configuración del sistema de API Management puede (y debe) evolucionar conforme vaya evolucionando el modelo del gobierno de datos.

Ventajas * La data y procesos siempre está a cargo de cada institución. * Los consumidores utilizan un sólo punto de acceso. * Características técnicas predecibles para el consumidor. Retos * Cada institución debe mantener sus procesos y data. * El contrato del API no debe romperse. * El nivel de servicio (SLA) debe cumplirse. * TODOS los APIs deben gestionarse de forma central

Acceso y seguridad

Acceso: * Todos los consumidores se registran para poder usar la API. * Todos los accesos se registran y se pueden auditar. * El punto de acceso está disponible en el Internet público. * Es HTTP! * Protocolo con amplio soporte para aplicaciones de escritorio, servidor, navegador, etc. * Acceso programático garantizado.

Una sola puerta para todo el edificio. Ahí se registran y pueden acceder a las oficinas.

Seguridad: * El punto de acceso utiliza SSL * No se pueden consultar data o procesos sin llave (API KEY) * Definición granular: Grupos de usuarios Llaves de API pertenecen a grupos APIs remotas se asignan a grupos * Se pueden replicar políticas complejas de acceso, se requiere analizar con detalle.

De forma central se asigna el gafete de visitante sólo al piso 4 y 7