Desarrollo de Aplicaciones

Beneficios de una integración de Node.js con Drupal

Drupal es un excelente CMS pero no puede hacerlo todo. Como más grande sea el sitio web seguramente hay casos en los cuales Drupal no debe o no debería actuar, y ahí es donde reside la importancia de Node.js.

Node Js y Drupal
Guillem Vestit
Guillem Vestit

Febrero 07, 2020

¿Qué es Node.js y cómo afecta a un Drupal?

Hace un tiempo explicamos en el blog qué es Node.js y para que servía, en la cual hay explicación detallada de Node.js. Ahora vamos a ver como funcionan ambas tecnologías.

Drupal resumidamente es un sistema de gestión de contenidos, comúnmente abreviado como CMS, y está escrito con PHP.

A partir de ahora veremos varios ejemplos de cómo nos puede beneficiar hacer esta integración.

Integraciones con APIS de terceros

En un gran porcentaje de sitios hay integraciones con APIS de terceros, es una buena manera de hacer un sitio mejor sin tener que invertir muchas horas en el desarrollo de esa funcionalidad, el mayor problema que tienen estas integraciones es que son lentas y pueden llegar a ralentizar nuestro sitio web ya que Drupal funciona en un sólo hilo i este hilo estará ocupado hasta que la petición no termine.

Hay una solución con Drupal que son las colas que básicamente eliminan el transporte de la sesión del usuario y únicamente tenemos que comprobar que las llamadas a la API puedan tolerar cierto retraso. Está solución requiere tener un buen equilibrio entre los clientes y la experiencia de usuario.

Node nos permite no tener que esperar a tener el resultado de la API para dar una respuesta a Drupal, ya que utiliza el modelo de dirigido a eventos y sin bloqueos. Esto se consigue gracias a que Node cuando recibe la respuesta de la API hará una llamada a Drupal y de esta manera tan simple podremos hacer un sitio web hecho con Drupal mucho más rápido.
 
En este diagrama, se puede observar como primero Drupal hace una petición a Node y este le devuelve que la ha recibido. Una vez Node ha recibido la petición la manda hacia la API y cuando ha obtenido la respuesta de ésta hace una llamada a la API interna de Drupal.

Tareas repetitivas

La mejor forma de ocuparse de las tareas repetitivas es con Node ya que forman unas colas que con Drupal podemos completarlas, pero tendremos que pagar un precio, una alta sobrecarga, ya que iniciaremos Drupal cada vez que se necesite repetir la tarea en vez de solamente arrancar Drupal cuando sea necesario.

Comunicación en tiempo real

Drupal no es particularmente bueno en las comunicaciones en tiempo real, al contrario que Node. Gracias a hacer una integración con Node podremos añadir más características en nuestro sitio web, como pueden ser notificaciones, chat, actualizar datos, y muchas más funcionalidades. El usuario podrá ver si le ha llegado una notificación sin tener que volver a cargar la página refrescando el navegador.

A parte también podremos mandar notificaciones “push” en los smartphones, los cuales son los claros dominadores en el tráfico d’internet y esa funcionalidad es un gran handicap para atraer la atención de los usuarios.
 

Podemos ayudarte con tu proyecto web

¿Necesitas ayuda con un proyecto Drupal? Somos un equipo con una larga experiencia en diseño y desarrollo web. Contacta con nosotros sin compromiso.

Comparte este artículo

Artículos Relacionados