Raul Jimenez
Experto en Drupal
© 2020 All rights reserved.
Como ya sabíamos, drupal es un gran CMS que nos permite crear una gran variedad de aplicaciones de todo tipo. Una de ellas son, sin duda, las famosas APIs.
Una Interfaz de Programación de Aplicaciones, API en inglés, no es mas que una aplicación con un conjunto de definiciones y/o protocolos los cuales se utilizan a modo de capa de abstracción para que ésta sea empleada por otra aplicación.
Para entender cómo funcionan las APIs hemos de entender varios términos:
Entendidos los puntos anteriores, ya podemos empezar a debatir que tipo de arquitectura será la mejor para nuestra API en drupal.
Antes de entrar en materia, vamos a dejar claro que ambas arquitecturas aparecen en drupal en modo de dos módulos diferentes:
Al activar estos módulos drupal ya nos va a preparar toda una funcionalidad capaz de manejar todas las peticiones y respuestas.
Si os estáis preguntando si es posible activar los dos, ya os digo que sí es posible, es más, es incluso posible crear diferentes arquitecturas en una misma API, aunque si hacéis esto documentarlo todo perfectamente, si no, será un dolor de cabeza en el futuro.
Antes de continuar os recomendaría revisar este artículo de la documentación oficial de drupal, el cual nos muestra un cuadro bastante descriptivo de las funcionalidades de ambos módulos.
Si habéis visto el cuadro, os habréis percatado, seguramente, que JSON tiene muchas mas funcionalidades y parece mucho mejor que RESTful, y eso cierto, pero sólo en parte.
JSON por la forma como gestiona la información nos provee una cantidad de funcionalidades extras que REST no es capaz por sí solo, como por ejemplo un paginador, filtrar campos…
Lo mejor y lo peor de cada uno:
Os dejo dos pequeños videos para que veais los dos ejemplos en acción.
RESTful
JSON:API
Aparentemente, después de lo que hemos visto hasta ahora (vídeos incluidos) todos, tendríamos a elegir siempre JSON, pero ojo, no caigas en la trampa de la tentación de lo «fácil», porque cada uno tiene una razón de ser.
JSON:API es sin duda un gran sistema con el cual trabajar de forma nativa en drupal, pero hemos de tener en cuenta todas las limitaciones que este sistema trae.
Desde mi punto de vista, el cuándo elegir uno u otro, se limita a cuanto custom, o cuanto escalable queréis que sea vuestra API.
Si lo que estáis buscando es un sistema rápido de acceso ÚNICAMENTE a entidades de drupal, sin extremadas customizaciones, sin duda JASON:API es vuestra solución, es rápido y prácticamente plug & play.
Pero si por lo contrario, necesitáis hacer respuestas custom, es un proyecto que puede crecer y no sabéis dónde acabará, si necesitáis hacer llamadas o cualquier tipo de integración con una API externa, entonces no os compliqueis RESTFul es vuestra elección mas fiable.
Como hemos visto es este pequeño artículo drupal tiene un gran potencial para ser usado como API y no solamente como un simple CMS y además cuenta con grandes y «simples» soluciones.
En los próximos artículos trataremos el cómo instalarlos y trabajarlos individualmente para que podáis ver todo su potencial, sobre todo el RESTFul que trae mas funcionalidad para customizar.
Si tienes experiencia con alguno de estos dos sistemas y deseas dejar tu opinión, no dudes en comentar y ayudar a otras personas que tengan dudas.