Modelo orientado a APIs
Los Sujetos Obligados, de forma clara, precisa y de acuerdo a estándares abiertos, administrarán interfaces programación de aplicaciones (APIs) que permitan interactuar con sus datos correspondientes a través de las plataformas digitales del municipio. Estas interfaces llamadas API permiten generar una comunicación y conexión entre dos o más softwares. Las APIs deberán utilizar principalmente las tecnologías REST y GraphQL; las cuales son arquitecturas utilizadas para microservicios. Estos microservicios funcionan como bloques de creación para aplicaciones más completas, por sí mismos no se considerarían un producto completo, sino que necesitan relacionarse con otros microservicios para lograr el objetivo deseado. Esto como se mencionó anteriormente se logra a través del uso de APIs.
¿Qué es una API?
Las Interfaces de Programación de Aplicaciones (API) permiten a las aplicaciones intercambiar datos y funcionalidades entre si, lo que simplifica el desarrollo y la innovación de software. Una API funciona como un punto intermediario entre dos sistemas que comunicandose con otra aplicación permite pedir acciones específicas y datos. Mientras que un interfaz de usuario está diseñada para ser utilizada por personas, las API están diseñadas para ser utilizadas por un equipo o una aplicación.
Una API funciona normalmente de la siguiente manera [IBM].
- Una aplicación cliente inicia una llamada a la API para recuperar información, un proceso también conocido como solicitud. Esta solicitud se procesa desde una aplicación al servidor web a través del identificador uniforme de recursos (URI) de la API e incluye un verbo de solicitud, encabezados y, a veces, un cuerpo de solicitud.
- Después de recibir una solicitud válida, la API realiza una llamada al programa externo o al servidor web.
- El servidor envía una respuesta a la API con la información solicitada.
- La API transfiere los datos a la aplicación que realiza la solicitud inicial.
REST
La transferencia de estado representacional (en inglés representational state transfer) o REST es un estilo de arquitectura software para sistemas hipermedia distribuidos como la World Wide Web.
Si bien el término REST se refería originalmente a un conjunto de principios de arquitectura, en la actualidad se usa en el sentido más amplio para describir cualquier interfaz entre sistemas que utilice directamente HTTP para obtener datos o indicar la ejecución de operaciones sobre los datos, en cualquier formato.
API REST
Una API REST es una API en la que los recursos o datos son expuestos a través de URLs (Uniform Resource Locators) únicas, y se accede a ellos mediante los métodos estándar de HTTP, como GET, POST, PUT y DELETE. Cada recurso tiene una representación en formato de datos, como JSON (JavaScript Object Notation) o XML (eXtensible Markup Language), que se transmite en respuesta a las solicitudes realizadas a través de la API.
Las API REST sigue el modelo cliente-servidor, donde el cliente (aplicación o usuario) realiza solicitudes a través de URLs para obtener o manipular datos, y el servidor proporciona las respuestas correspondientes. Las operaciones sobre los recursos se realizan utilizando los métodos estándar de HTTP. Por ejemplo, GET se utiliza para obtener datos, POST para enviar datos, PUT para actualizar datos y DELETE para eliminar datos. También son ampliamente utilizadas ya que proporcionan una forma eficiente y flexible de comunicarse entre sistemas, al utilizar estándares y principios simples, facilitan la integración de sistemas y la creación de servicios web interoperables y escalables.
Averigua mas sobre API REST y como utlizarlas en la sección ¿Cómo utilizar una API? de la Escuela de Datos.
GraphQL
GraphQL es un lenguaje de consulta y una especificación de runtime para solicitar y entregar datos en aplicaciones web y móviles. A diferencia de las API REST tradicionales, donde se obtienen datos predefinidos a través de diferentes puntos finales (endpoints), GraphQL permite a los clientes especificar exactamente los datos que necesitan y obtenerlos en una única solicitud.
No Comments