Headless CMS

Современный подход в корпоративном сегменте

hero img

Что такое headless CMS?

Headless CMS

Это система управления контентом (CMS), предоставляющая только back часть и API для доступа к данным.
Для создания структуры и управления данными обычно предоставляется административное приложение

Традиционная CMS

traditional cms image

Headless CMS

headless cms image

Почему традиционные CMS уходят в прошлое?

Происходит разделение на backend и frontend

В традиционных CMS административное приложение является частью самого сайта и не предоставляет разделения на backend и frontend. Как следствие и разработка дополнительных модулей не предполагает такого разделения.
Современные методы разработки предлагают разделять разработку на backend и frontend. Для разработки frontend предлагается широкий спектр фреймворков: ReactJS, Angular, Vue. Такое разделение дает определенные преимущества в процессе разработки.

Данные из cms нужно использовать в других фронтовых решениях

Использование смартфонов увеличило мобильный трафик, так что он превысил традиционный web.
Кроме сайта, компаниям требуется мобильное приложение, личный кабинет. Цифровизация всех процессов требует повторного использования данных. Это приводит к тому, что сайт не может существовать сам по себе, он отдает и получает данные из других систем. Без дополнительного API CMS уже невозможно использовать. Часть традиционных CMS пошли по пути доработки предоставления API. В большинстве случаев это или традиционное Rest API или GraphQL. При этом если система используется в режиме headless, то большинство модулей оказывается бесполезными, так как фронтовое решение строится с нуля и подключается к API. Следующим шагом на рынке появились Headless (безголовые) CMS, которые просто предоставляют API для доступа к данным и административную часть для управления данными. Часть решений были созданы с нуля и представляют собой простые и легковесные решения, где – единый backend позволяет использовать его для различных потребителей данных, в том числе и для мобильных приложений

Какие есть недостатки у Headless подхода?

Нет готовых модулей, фронт каждый раз пишется с нуля

В случае использования headless подхода фронтовая часть приложение разрабатывается каждый раз с нуля. Для небольших сайтов со стандартным функционалом это сильно увеличивает стоимость решения. Для больших же порталов отсутствие готовых модулей не существенно в силу гораздо больших требований к уникальности и дизайна и функциональностей. Кастомизировать дороже

Требуется настройка безопасности или ограничение прав, то приходится дорабатывать backend API

Если доступ к данным требует авторизации или ограничения доступа, API из коробки не обеспечит необходимую универсальность, придется разрабатывать собственные сервисы бэкенда. Некоторые западные CMS предоставляют готовое API для вертикальных решений, в основном это e-commerce системы. Но даже они не могут покрыть все запросы и больше подходят для сегмента SMB

В чем особенность корпоративного сегмента?

Готовые модули не подходят

В большинстве случаев большой бизнес требует уникальную функциональность, адаптацию под процессы, уникальный дизайн. Кастомизация готовых модулей CMS может быть довольно затратной и сравнимой со стоимостью разработки с нуля. Поэтому часть компаний предпочитает систему собственной разработки

Необходим репозиторий кода для совместной работы

Для крупных организаций очень важна надежность систем, возможность видеть историю изменений кода, откат к какой-либо предыдущей версии. При этом необходимо поддерживать одновременную работу нескольких команд. Традиционные CMS зачастую грешат отсутствием структуры хранения кода – что-то хранится в базе самой системы, что-то в репозитории. Такой подход к разработке существенно усложняет совместную работу, изолированность команд, быстрое поднятие тестовых стендов, быстрое обновление тестовых и продуктивных сред

Автоматизация с помощью CI/CD

В большой компании над системой обычно работает несколько команд, идет массовый переход на Agile методологии. В этом случае требуется поддержка совместной разработки, возможность быстро поднимать тестовые стенды, объединять код различных команд. Традиционные CMS не могут обеспечить процессы CI/CD в силу проблемы из предыдущего пункта а развертывание системы не поддерживается pipeline инструментами

Рынок западных корпоративных CMS

Чтобы понять рынок западных CMS достаточно взглянуть на квадрант Гартнера:

Gartner quadrant image

Headless api только одна из фич

Западные крупные разработчики добавили поддержку headless в свои решения. Часть вендоров опубликовала готовое API, которое заточено под вертикальные решения (в основном e-commerce)

Платформы движутся от CMS к digital experience platform

Стоит также отметить следующие тенденции в западных продуктах:

  • Переход к облачным решениям и предоставление услуг по типу Saas по подписке
  • Фокус на функционале вертикальных решений в области e-commerce
  • Переход от управления контентом к управлению клиентским опытом.

Здесь нужно остановиться поподробнее. Западные CMS предлагают сбор, хранение и анализ данных о поведении пользователей. На основе этих данных предлагается готовая базовая рекомендательная система, которая может быть полезна для сегмента SMB при минимальных затратах. В функционал DXP обычно входит управление A/B тестами, сегментирование пользователей, проведение таргетированных рекламных кампаний

CMS.QP8 – корпоративная headless CMS.
В чем преимущество?

  • Open Source, бесплатная.
  • Зарегистрирована в реестре отечественного ПО
  • Разработана на стеке .net core.
  • Система работает под Linux, может запускаться в docker контейнере и масштабироваться с помощью Kubernetes. В качестве базы данных может использоваться как MS SQL так и Postgres.
  • Система предоставляет богатый функционал по управлению контентом: произвольные структуры данных, версионирование данных, аудит, права доступа, workflow публикации, stage режим, WYSIWYG редактор, широкая настройка валидации данных.
  • Работа через API или SDK
  • Для доступа к данным QP предоставляет API на основе стандарта GraphQL, который позволяет получать связанные данные одним запросом
QP8 GraphQL image
  • Для разработки решения система предоставляет nuget пакеты с SDK для разработки сайта на asp.net core. Для доступа к данным автоматически генерируются EF core классы, - которые являются основой DAL слоя. Этот метод подходит для разработки, когда не подходит вариант с готовым API GraphQL и требуется кастомный backend.
  • Есть пакеты и библиотеки по управлению структурой и виджетами.
  • Помимо получения данных QP предоставляет библиотеки для управления структурой сайта и виджетами.

При разработке web приложения можно использовать предоставляемые классы и библиотеки таким образом, что разработчики создают определенные типы страниц и виджетов, а контент редактор или администратор собирают из них сайт. Это позволяет приложению быстро меняться и быть менее зависимым от разработчиков. Таким образом с помощью CMS можно управлять не только данными, но и структурой сайта в режиме headless

QP8 site structure image

Опыт эксплуатации

На сегодня CMS.QP8 используется на сайтах Минпромторга, в порталах МТС и Билайн.

minpromtorg logo
mts logo
beeline logo