Веб-сервіси в Drupal 8 та чудові можливості з інтеграції сторонніх систем

02.05.2018
Веб-сервіси в Drupal 8 та чудові можливості з інтеграції сторонніх систем
Автор:

Сайти на Drupal 8 мають по-справжньому необмежені можливості — вони навіть не обмежуються самим поняттям «сайт»! Натомість, вони виходять далеко за ці «рамки» і легко обмінюються даними з будь-якими додатками. Особливі можливості для цього з’явились завдяки вбудованим веб-сервісам, які називають одним з головних покращень Drupal 8. Давайте подивимось, що веб-сервіси можуть вам дати, як вони працюють та які додаткові опції існують завдяки іншим модулям в Drupal 8.

Веб-сервіси: переваги та суть роботи

Основна роль веб-сервісів — бути «комунікатором» між Drupal-сайтом і стороннім додатком. Це може означати як отримання даних з Drupal-сайту, так і надсилання їх.

Чи можете ви уявити можливі прибутки від того, що контент сайту відображатиметься на iOS чи Android-додатках? Крім того, платіжні сервіси, CRM-ки, системи інвентаризації, розумні годинники і безліч інших додатків готові «грати в одній команді» з вашим Drupal 8 сайтом. І це лише початок того, що можливо в руках хороших Drupal-розробників!

Веб-сервіси допомагають сайтам і додаткам знаходити «спільну мову» — HTML-дані Drupal’а магічно конвертуються в формати, які добре розуміють додатки (JSON, XML, HAL+JSON і так далі). З

авдяки веб-сервісам, на сайті можна створити API, до якого інші додатки можуть під’єднуватись, а ви надаватимете їм для цього дозволи. Ваш сайт зможе передавати Drupal-ноди, таксономію, колекції контенту (в’юшки) та іншу інформацію.

Згадка про “headless Drupal”

Говорячи про веб-сервіси, неможливо оминути увагою підхід “headless” або “decoupled” Drupal. Сьогодні його запроваджують все більше сайтів. Drupal-бекенд, як джерело даних, поєднується з фронтендом на базі JavaScript-фреймворка (React, Vue, Angular, Node, Ember і так далі).

Таким чином, JavaScript-фреймворки дарують Drupal-сайту свої найкращі якості! Ви можете максимально залучати користувачів за допомогою динамічного функціоналу. Інтерактивні дашборди, швидкі чати, пуш-нотіфікейшени — це лише початок списку. А швидкість може бути просто космічною!

Веб-сервіси в Drupal 8

В Drupal 7 і навіть Drupal 6 була певна підтримка веб-сервісів, але в формі контрібних модулів. Завдяки ініціативі “Web Services and Context Core Initiative” (WSCCI), Drupal 8 містить веб-сервіси у складі ядра, і, до того ж, дуже вдосконалені.

Вбудовані модулі Drupal 8 для веб-сервісів

Отже, велика історія інтеграції починається з увімкнення чотирьох модулів ядра Drupal 8, що відповідають за веб-сервіси.

  • Модуль Serialization серіалізує і десеріалізує дані вашого Drupal-сайту з/в формати на кшталт JSON, XML і HAL+JSON, нормалізуючи та шифруючи їх.
  • Модуль HAL додає нормалізацію даних за допомогою Hypertext Application Language.
  • Модуль RESTful Web Services постачає дані сайту в конкретні API-ендпойнти.
  • Модуль HTTP Basic Authentication (Basic Auth) аутентифікує логін і пароль із запитів.

Деякі контрібні модулі Drupal 8 для веб-сервісів

Крім того, є додаткові можливості, принесені корисними контрібними Drupal-модулями.

REST UI

Цей контрібний модуль пропонує зручний інтерфейс для користування вбудованими веб-сервісами. Коли він встановлений і увімкнений, інтерфейс з’являється за адресою Configuration — Web services — REST.

GraphQL

А ось модуль, який дозволяє «будівникам» API використовувати GraphQL — сучасну мову запитів. Це чудова альтернатива архітектурі REST, яка традиційно використовується для API. Запити формуються стороною клієнта з високою точністю, аби вмістити все необхідне в єдиний запит. Отримання структурованих даних (в тому числі зі складною ієрархією) відбувається на основі схеми.

JSON API

Контрібний модуль JSON API також пропонує альтернативу REST. Він генерує API-сервер зі специфікацією JSON API. За словами засновника Drupal’а Дріса Байтаерта, JSON API і GraphQL колись можуть стати дуже перспективними модулями у складі ядра Drupal.

Services

Найпопулярніший модуль для веб-сервісів у Drupal 7, модуль Services суттєво змінився для 8-ї версії. Його переваги включають хороші можливості з кастомізації API, підтримку конфігураційних сутностей, складні формати відповідей і так далі.

RELAXed Web Services

Надаючи RESTful API, цей модуль пропонує вдосконалену підтримку перекладів, прикріплених файлів, ревізій, зв’язків по UUID, можливість для клієнтів підписатися сповіщення про зміни в реальному часі і так далі.

Subrequests

Модуль Subrequests, який ми описували більш детально, — це новий та цікавий модуль виключно для Drupal 8. Subrequests групує будь-які запити разом з метою підвищення швидкодії. JSON-документ під назвою “blueprint” містить усі необхідні дані.

Наостанок

Всі ці вбудовані модулі, а також ці та інші контрібні модулі роблять чудову роботу! Однак, на відміну від простих випадків створення API, більш складні вимагають написання кастомного коду.

Які б не були ваші ідеї з інтеграції зі сторонніми системами, можете сміливо звертатись до наших Drupal-розробників. Вони зможуть впоратися з найскладнішими проектами, в яких задіяні веб-сервіси Drupal 8.

Дозвольте вашому сайту вийти за «рамки» і дати вам більше!

Голосів: 1 Рейтинг: 5

Також по темі

1

Такі чудові інструменти для просування вашого бізнесу, як соцмережі, можуть бути з легкістю інтегровані на ваш Drupal-сайт. Не так давно ми пропонували вам гарну колекцію...

2

Можна обрати одну із готових безкоштовних тем для Drupal 8 на основі Bootstrap. Ви їх також зможете потім кастомізувати на свій смак — самостійно або з допомогою...

3

Щоб відcвяткувати реліз Drupal 8.5.0, ми не обмежимося простим розглядом його новинок. У Drupal 8 вже було 5 прекрасних «мінорних» релізів: Drupal 8.1.0, Drupal 8.2.0,...

4

Тож, розгляньмо детальніше, як восьма версія Друпалу може спростити процес роботи з контентом веб-сайту.

5

Чудові можливості з налаштування товарів — одна з ...

Subscribe to our blog updates