En el último post comentábamos sobre la necesidad de combinar diferentes enfoques o arquitecturas para tu CMS en tus proyectos de desarrollo web. Nos centramos en las plataformas Headless CMS como alternativa al CMS acoplado. Hoy quiero centrarme en las plataformas Decoupled CMS, que, por sus características, muchas veces generan confusión con las plataformas Headless.

¡Pero antes de seguir, te animo a leer los siguientes artículos:

Si te has saltado a los artículos anteriores, repasemos muy brevemente sobre “CMS acoplado” y Headless CMS.

¿Qué es un CMS acoplado?

Un CMS acoplado es todo aquél en que la aplicación de gestión de contenidos y la aplicación de entrega de contenidos son una sola aplicación.

¿Qué es un Headless CMS?

Un Headless CMS es un sistema de gestión de contenidos que contiene solamente el backend y se puede utilizar como repositorio de contenidos disponible vía  API RESTful.

¿Y, qué es decoupled CMS?

Un decoupled (desacoplado) CMS, al contrario del CMS acoplado, separa los entornos de gestión de contenidos y la aplicación de entrega de contenidos. Normalmente, el contenido es creado detrás del firewall y después se sincroniza, y se envía al entorno de entrega.

¿En qué se diferencia de las plataformas Headless?

Como en las plataformas Headless, la arquitectura decoupled - también conocida como CMS headless híbrida - permite mejor escalabilidad y mejor seguridad que la arquitectura acoplada.  Como característica “negativa”, hay que decir que también requiere la gestión de múltiples entornos.

Una de las principales características que diferencian un CMS desacoplado de un CMS “sin cabeza” es que la arquitectura desacoplada es activa - o debería serlo-, pues prepara el contenido para su presentación y después lo envía al entorno de entrega.  La arquitectura de un CMS headless es reactiva, ya que permanece inactiva hasta que se envíe una solicitud de contenido. Otra diferencia es que el CMS headless puro no tiene un sistema frontend, o una capa de presentación.

¿Cuál es la idea?

La idea es poder realizar cambios en la capa de presentación - el formato - y en la capa de comportamiento - la programación -  sin tocar el contenido de tu sitio web. De esta forma, para no quedarse detrás, algunos CMSs que conoces, como Wordpress o Drupal, están realizando un esfuerzo creando versiones desacopladas de su CMSs, mediante extensiones, módulos y plugins que te permiten desacoplar el backend del frontend.

¿Qué ventajas tiene Decoupled CMS?

Además de las que ya conoces, las siguientes son algunas características que hacen de Decoupled CMS un enfoque interesante.

Ayuda a tus desarrolladores a sobresalir.

Con las nuevas tecnologías de frontend creciendo cada día, un enfoque desacoplado permite que tus desarrolladores tengan la libertad de seguir a las mejores tendencias del mercado, y probar nuevos frameworks y herramientas como Angular, Vue.js, o React.

Plantillas opcionales para el frontend

Un CMS desacoplado te proporciona plantillas que te permiten desplegar de forma rápida tu sitio web. Tus desarrolladores tienen una forma de empezar a desarrollar en la capa de presentación de frontend que deseen.

Entrega omnicanal

Tal como en la arquitectura Headless, con un CMS desacoplado también puedes conectar con tu contenido mediante una API a los diferentes canales. Puedes conectar por ejemplo con aplicaciones nativas iOS, aplicaciones de Android, con los dispositivos de asistente virtual activados por voz, como Echo o Google Home, realidad virtual y aumentada, o el Internet of Things (IoT).

Mejora la fiabilidad y el rendimiento.

Las características de un CMS tradicional hacen que sea posible utilizar tu contenido existente en otros “frontends”, pero si el tráfico de tu sitio web aumenta, lo que haces normalmente es añadir más servidores para mejorar la experiencia de usuario.

En una arquitectura desacoplada ya se contempla la mejora en la velocidad de entrega, pues se elimina la sobrecarga del servidor por parte de la aplicación del CMS. El CMS desacoplado también te permite escalar y evitar cuellos de botella en la base de datos. Algunos sistemas te permiten por ejemplo, ajustar automáticamente tu infraestructura de la nube y usar CDNs para mejorar el rendimiento.

Mejora la seguridad

Una vulnerabilidad en tu Wordpress puede comprometer todo el sistema. El CMS desacoplado quiere reducir y minimizar este problema porque, en principio, no tienes que basar todo tu sistema en plugins y themes desarrollados por terceros. Entre tú y yo, acoplada o desacoplada, siempre es buena idea tener un ojo en tus instraestrufuras.

Herramientas para el equipo de marketing

El enfoque desacoplado proporciona las plantillas, la edición con WYSIWYG, vistas previas del contenido, y herramientas extras para la publicación de contenido.

Ahorrar tiempo

En un CMS desacoplado tienes el contenido separado de la capa de presentación. De esta forma tus desarrolladores podrán aplicar actualizaciones en tu sitio web, mientras tus editores de contenido seguirán trabajando en sus contenidos. ¡Ya sabes como es este proceso en un CMS tradicional! De la misma manera, creo que puedes entender lo que esto significa en términos de ahorro de tiempo y dinero.

¿Qué desventajas tiene Decoupled CMS?

Obviamente que no todo son buenas notícias. La mayoría de las  desventajas son parecidas a las de Headless CMS, pero creo que vale la pena referir que te podrás encontrar con una limitación del frontend, o sea, una vez hayas escogido el frontend te tienes que adaptar a las limitaciones del mismo.

¿Cuál es la mejor opción de las tres?

¿Coupled, decoupled, o headless? Como has podido ver, un CMS desacoplado separa los entornos de CMA (creación) y CDA (entrega), y tiene una arquitectura activa, mientras que el headless CMS es reactivo. El sistema acoplado es un “todo en uno” que normalmente te obliga a adaptarte a lo que hay, lo necesites o no. Un CMS decoupled proporciona todo lo que proporciona un headless CMS, y además te dota de herramientas de plantillas para que no tengas que trabajar desde zero. Pienso que debes tener esto en mente antes de empezar el proyecto.

Conclusión

Como siempre, creo que no todas las soluciones deben ser implementadas en todos los tipos de proyectos. Lo mismo se aplica a la arquitectura decoupled. Es cierto que sus benefícios son interesantes a nivel estratégico, pero su utilización puede significar también “costes añadidos”.

Un proyecto con presupuesto limitado necesita una solución rentable que puede ser proporcionada por un CMS monolítico. Pero si sabes que tu proyecto, o producto será innovador, y quieres que sea seguro, escalable y flexible, necesitas un CMS o un enfoque que te permita integrar de forma fácil con las tecnologías y aplicaciones del futuro, headless es una opción, y una solución decoupled también.

¿De qué forma utilizas el decoupled CMS en tus proyectos? ¿Cómo es la experiencia en tu organización?

Si aún tienes alguna pregunta sobre decoupled CMS, o headless CMS, o te estás planteando cambiar de sistemas tradicionales basados en base de datos a sistemas headless o desacoplados basados en APIs, no dudes en contactarnos. ¡Pulsa en la burbuja abajo y lo hablamos! ;)

Fotografía: Pexels en Pixabay  

Fuentes: