talón Graphql: cambiar y mejorar la forma en que se comunican las aplicaciones - Unite.AI
Contáctanos

Líderes del pensamiento

Graphql: cambiar y mejorar la forma en que se comunican las aplicaciones

mm

Publicado

 on

No pasará mucho tiempo antes de que la próxima generación compre criptomonedas y verifique el saldo de su unidad de confianza en el vestíbulo fortnite entre juegos. Esto será posible a través de muchos avances tecnológicos.

El que estamos discutiendo hoy es la forma en que se transfieren los datos (leer, actualizar, agregar/eliminar) entre las aplicaciones y las empresas que las poseen. Las interfaces de programación de aplicaciones (API) son la arquitectura que define esta comunicación de datos y, a medida que se han desarrollado estos estándares, los requisitos de procesamiento y almacenamiento de datos se han vuelto menos arduos.

El líder en el paquete en términos de uso de recursos "ligeros" es GraphQL, un lenguaje de consulta y manipulación de datos de fuente abierta. La base de su ecosistema es su especificación y una colección de herramientas que se ha creado a su alrededor.

No es nuevo, el tiempo pasa rápido. Facebook lo desarrolló en 2012 y lo usó solo internamente para el desarrollo de aplicaciones móviles. En 2015 era de 'código abierto' y hoy lo cuida la Fundación GraphQL (https://graphql.org/foundation/) que supervisa su desarrollo posterior.

Entonces, ¿por qué estoy escribiendo sobre eso ahora? Una hoja de ruta típica para una adopción tecnológica seguirá los siguientes enfoques: 1) aficionados/proyectos personales, 2) implementación en varios idiomas, 3) implementaciones en empresas emergentes y pequeñas, 4) empresas medianas y utilizadas en el desarrollo de productos, 5 ) grandes corporaciones y gigantes tecnológicos.

GraphQL ha alcanzado el nivel 5. Actualmente lo utilizan GitHub, Pinterest, Shopify, Microsoft, por nombrar solo algunos, y más recientemente, a partir de marzo de 2022, Salesforce.

Al buscar una forma de obtener datos de Salesforce de manera más eficiente, encontré su documentación de GraphQL y comencé a leer y buscar formas de implementarla.

¿En qué se diferencia de una API REST tradicional?

  • Una de las principales ventajas es que con GraphQL puede consultar y solo devolver esos datos específicos. Si solo desea dos campos relacionados con un incidente de cliente específico, eso es lo que obtiene. Una API REST tradicional le devolvería TODOS los campos asociados con el incidente. Eso podría ser más de 100 campos. Ahora debes hacer algo con todos esos datos con los que no querías empezar. Esto se conoce como sobre obtención de datos (la recuperación también es un problema).
  • Lo anterior hace que GraphQL sea más rápido que otras metodologías API al devolver datos.
  • GraphQL es un lenguaje fuertemente tipado que, entre otras cosas, significa que los errores de código se detectan antes de que se ejecute el programa y no durante el mismo.
  • Se ha creado un gran conjunto de herramientas en torno a GraphQL, lo que lo ha hecho muy fácil de usar para los desarrolladores.
  • GraphQL tiene un punto final único en comparación con la API REST que tiene varios puntos finales. Esto significa que todos sus datos se pueden obtener en una sola solicitud.

Dos caras de la moneda: solicitante (cliente) y proveedor (host GraphQL)

He mirado GraphQL hasta ahora desde la perspectiva de "solicitud" de datos. Donde una empresa como Salesforce o Microsoft ha configurado una API GraphQL que puede usar para consultar y manipular datos (leer, actualizar, agregar).

Como ejemplo, si quisiéramos incluir datos de incidentes de clientes relacionados con Salesforce en un portal de clientes, la forma más eficiente de hacerlo sería solicitar los datos exactos que buscamos a través de una consulta de GraphQL desde el portal al servidor de Salesforce GraphQL. Obtendrá exactamente los datos que desea, sin subestimación o sobreexplotación y, como resultado, no se requerirá ningún procesamiento o almacenamiento de datos adicional.

La otra cara de la moneda es la organización que configura la arquitectura GraphQL para que sus clientes también puedan tener un método eficiente para acceder a los datos que desean.

Al construir la API de GraphQL, una organización está creando un modelo que integra todos sus sistemas en un solo modelo. Unifica estos sistemas y, una vez hecho, elimina la complejidad del sistema subyacente. Una vez que se completa el trabajo, la consulta de datos se realiza sin problemas a través de la API.

Al comparar aplicaciones o proveedores, miro qué funciones me ofrecen para recuperar mis datos. No quiero tener que enviarles un correo electrónico ni depender de rígidos informes predefinidos. Quiero poder "conectarme" a mis datos consultándolos de manera flexible y oportuna. Si se trata de dos aplicaciones/proveedores y coinciden de manera similar en otros puntos de comparación, y uno ofrece una API REST o una API GraphQL, sin duda elegiré la que tenga la API.

Marcus Loveland, desarrollador analista de RP PA en Servicios del Fondo Maitland, escribe para el 'grupo de TI', mirando hacia adelante en las interfaces de programación de aplicaciones (API) y perfeccionando la arquitectura de la API de GraphQL.