Технические преимущества Drupal по сравнению с другими CMS для B2B-проектов

Главные вкладки

Drupal Coder 15 мая 2019 в 14:31
1

Большое количество технических преимуществ Drupal обусловлено двумя основными факторами:

Drupal — это Content Management Framework, построенный на зрелом, популярном и качественно спроектированном фреймворке Symfony, и CMS, разработанная на этом фундаменте. Прочие популярные CMS разрабатывается эволюционно без фреймворка, или на фреймворке, используемом только в этой CMS.

Drupal — это международный проект с открытым исходным кодом, развитием которого занимаются сотни ИТ-компаний по всему миру, в том числе из России (как ядро Linux). Другие популярные в России CMS разрабатывает одна из российских компаний, код распространяется, как правило, под закрытой лицензией.

Преимущества Drupal

Веб-сервисы и интеграция, Headless Drupal

Drupal, в отличие от других CMS, благодаря передовой архитектуре на уровне ядра поддерживает CRUD-операции над всеми ресурсами с помощью RESTful веб-сервисов. Поддерживает стандарты HAL и JSON API.

Drupal 8 спроектирован и сразу готов для работы в Headless режиме. Всем контентом и всей конфигурацией (!) сайта можно управлять и получать их с помощью веб-сервисов, а не только с помощью HTML-страниц пользовательского интерфейса. Это позволяет интегрировать Drupal с любыми веб-сервисами организации с помощью настройки Enterprise Service Bus (например, Apache ServiceMix) для гарантированной доставки сообщений и событий.

Данный пункт является определяющим при выборе в пользу Drupal для создания B2B-решений с высокой степенью интеграции с веб-сервисами организации.

Криптография

Полная поддержка Public key infrastructure (PKI, X.509), включая certificate authority (CA) и возможность генерации сертификатов на сайте для пользователей, логин без пароля по сертификату, загруженному в браузер, позволяют реализовать цифровую подпись документов и организовать безопасное взаимодействие с любым количеством поставщиков по всему миру без значительных затрат. Не имеет аналогов в других CMS.

Производительность и масштабируемость

Загрузку страниц Drupal ускоряет поддержка Facebook BigPipe. В других CMS такая технология либо вообще не поддерживается, либо ее использование без ссылки на сайт разработчика стоит 300 тыс. руб.

Drupal поддерживает все типовые способы масштабирования веб-приложений, такие как чтение из Slave-серверов баз данных для снятия нагрузки с Master-серверов, кеширование в памяти с помощью Memcached. Также в Drupal реализованы возможности (отсутствующие в большинстве других CMS), упрощающие горизонтальное масштабирование:

  1. Поддержка очередей RabbitMQ. Все затратные по времени операции, которые могут возникнуть при обмене и обработке больших объемов данных, Drupal выполняет с помощью очередей. Гибкий механизм настройки очередей позволяет подключить распределенную очередь гарантированной доставки сообщений RabbitMQ, обрабатывать задания в очереди параллельно с помощью необходимого числа серверов, обеспечивает гарантированное выполнение заданий на одном из серверов, позволяет снять нагрузку на обработку заданий с основных веб-серверов.
  2. Поддержка кеширующих прокси, например Varnish. Позволяет при изменении данных на сайте корректно сбрасывать кеш.
  3. Поддержка Elasticsearch. Ускоряет и горизонтально масштабирует работу сайта, фасетного поиска, логирования событий. Позволяет работать с большими данными (BigData).

Безопасность

Во многих других популярных CMS принято запускать обновления по кнопке в админке, т.е. веб-сервер имеет права на запись в файловую систему ядра. Это не является безопасным. Drupal работает и обновляется без прав на запись в ядро Drupal со стороны веб-сервера.

Качество кода и документации

Только ядро Drupal покрывают 23 тысячи тестов, которые распространяются открыто, вместе с Drupal. Важные дополнительные модули также, как правило, покрыты дополнительными тестами. Другие CMS поставляются, как правило, без покрытия тестами вообще.

Ядро и модули Drupal 8 заново переписаны за последние несколько лет с использованием новых возможностей PHP, полностью очищены от Legacy-кода, подчиняются строгим стандартам кодирования. Система имеет грамотную, годами проработанную архитектуру и опирается на архитектуру фреймворка Symfony. Другие CMS имеют прослойку обратной совместимости со старыми версиями и большое количество Legacy-кода. Многие модули других CMS опираются на устаревший код, хранят данные в не нормализованном виде (например, хранят значения полей всех типов как строки), имеют устаревшую архитектуру.

Semantic Web и онтологии OWL

Drupal является самой передовой в мире платформой поддержки технологий Semantic Web: имеет поддержку RDF в ядре, поддерживает аннотации schema.org, поддерживает хранение контента в хранилищах троек RDF с поддержкой запросов SPARQL (разрабатывается при поддержке Еврокомиссии), экспортирует структуру всех данных сайта в машинно-читаемом виде OWL (разрабатывается Инитлаб). Поддержка этих технологий существенно упрощает интеграцию с любыми существующими информационными системами и позволяет частично автоматизировать интеграцию с веб-сервисами организации, упростить дальнейшую поддержку интеграции. В других CMS нет аналогов данных технологий.

Инструменты разработки, Поддержка и обновления

Благодаря большему количеству разработчиков и поддержке международного сообщества Drupal имеет поддержку во всех современных IDE, например PhpStorm, имеет генераторы кода, инструменты автоматической проверки стандартов кодирования и безопасности кода.

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

Квалифицированные специалисты и рынок труда

Благодаря возможности участвовать в разработке ядра Drupal, в отличии от разрабатываемых одной компанией CMS, на рынке труда имеются специалисты мирового уровня, непосредственно участвующие в разработке Drupal.

Крупный международный бизнес и целые государства доверяют Drupal

PayPal, FedEx, ebay, General Electric, Pfizer, Qualcomm, Time Warner, Puma, Weather.com, BBC, Societe Generale, Royal Mail, Джонсон и Джонсон ведут свой бизнес, используя Drupal. Procter & Gamble около 150 сайтов для своих продуктов разработали на Drupal.

Газпром, Forbes Россия используют Drupal.

Сайты Министерства Юстиции Российской Федерации, Белого Дома США, Министерства Торговли США работают на Drupal.

Правительство Австралии выбрало Drupal в качестве платформы для всех государственных сайтов страны.
Всемирный Банк, UNESCO, Unicef доверяют Drupal.

33 сайта компаний из Fortune ТОП 500 сделаны на Drupal.

Автор

Комментарии