Каталог решений - Безголовая (Headless) архитектура построения eCommerce

Безголовая (Headless) архитектура построения eCommerce

Безголовая (Headless) архитектура построения eCommerce

В наличии

Обобщение материалов по безголовой архитектуре построения eCommerce.

Категория:

Описание

Мне самому интересна модульная архитектура в e-commerce. По большей частью сталкиваюсь с обменом с Битрикс в формате CML с ограничением по однопоточности, приделывание к нему REST API, навешиванием модулей общую ситуацию по сложности доработок и отставанием в технологиях не компенсируют.

При чем здесь 1С? В моем понимании 1С это back-backend, от развития его инструментария API есть больше шансов получить синергию при использовании его в связке с современным стеком технологий.

К информации пришел через анализ решения Vue Storefront, который в v1 был как обертка для magento, в текущей v2 позиционирует себя как headless (безголовое) и не зависящее от бэкенда прогрессивное веб-приложение для электронной коммерции (PWA).

 

Про headless архитектуру

Выдержки из статьи "Что такое безголовая электронная коммерция? Умное руководство по безголовому переходу" (ссылка).

Определение безголовой электронной коммерции

Безголовая электронная коммерция — это архитектура программного обеспечения, которая отделяет интерфейсный уровень от остальной части вашего интернет-магазина.

 

 

Внешний интерфейс, конечно, — это в основном все, что вы видите при входе на веб-сайт. Серверная часть — это ваша платформа для обработки электронной коммерции, которая хранит данные и управляет ими за кулисами.

И вот тебе загадка: Если вы разделите голову и тело, какая часть будет отвечать за мышление? 

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

 

Отличия от монолитного подхода

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

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

Если ваше решение состоит из одного "блока программного обеспечения", вам скоро будет трудно тестировать свою систему изнутри каждый раз, когда вы запускаете новую функцию.

Архитектура безголовой торговли решает эту проблему, разделяя монолиты на более мелкие и гибкие части, которые взаимодействуют друг с другом через API.

Примечание: Система построенная на микросервисах имеет свои архитектурные плюсы и минусы. В контексте eCommerce при относительно слабой связанности (сервисы синхронно не обслуживают одну транзакцию) часть минусов нивелируется.

 

Формат обмена

В архитектуре электронной коммерции без головы интерфейс и серверная часть взаимодействуют через интерфейс прикладного программирования (API). Это набор кодифицированных команд. Если вы помните звуковые сигналы R2-D2, это эквивалент этого. API является точным и простым для понимания машиной.

“Некоторые из наших клиентов просто делают заказ от машины к машине для случаев использования В2В, и им даже не нужен интерфейс, потому что это робот, размещающий заказ с завода”

Конечно, как человек, вы можете взаимодействовать с ним напрямую, отправляя команды через командную строку. Это все равно что свистеть R2-D2 на его собственном роботизированном языке.

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

 

 

Преимущества безголовой архитектуры

Доступ к различным интерфейсам

Продолжая тему общения, давайте еще раз подчеркнем тот факт, что безголовая электронная коммерция отделяет интерфейс от остальной части приложения.

На переднем конце находится почти весь пользовательский опыт. Опыт работы с клиентами-это то, где вы создаете свое конкурентное преимущество.

Это нечто большее, чем просто изменение внешнего вида вашего интернет-магазина. Разделение серверной части означает, что к сердцу вашего приложения, которое обрабатывает заказы, можно получить доступ с множества новых точек зрения.

Например, с отделенным задним концом вы можете:

  • Включите покупки с помощью домашних помощников, таких как Google Home.
  • Разверните несколько магазинов, подключенных к одной и той же серверной части.
  • Обеспечьте доступ к устройствам интернета вещей, таким как умные часы, умные холодильники и так далее.
  • Легко подключайтесь к внешним рынкам, таким как Amazon.

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

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

 

 

Простой способ замены элементов

Использование API для подключения внешнего интерфейса означает, что вы можете легко заменить его. Безголовый подход обычно обеспечивает более широкую открытость для микросервисов. Это означает, что вы можете подключить дополнительные службы и функции к своей архитектуре.

Самый простой способ представить это-кусочки головоломки, которые вы можете вставлять или вынимать в зависимости от ваших потребностей:

  • Нужен быстрый фронт PWA? Повесьте на него Vue Storefront.
  • Нужна программа лояльности? Подключите Open Loyalty platform.
  • Вам нужно уточнить информацию о вашем продукте? Подключите Pimcore или Akeneo.
  • Нужна поисковая система? Просто добавьте Algolia или Constructor.io.
  • Опыт работы с клиентами в вашем магазине нуждается в завершающем штрихе? Добавьте такие решения, как Contentful или Contentstack.

Выдержка из статьи "Архитектура без головы: Краткое иллюстрированное руководство от Divante" (ссылка)

 

Различные способы достижения безголовой архитектуры

  • commercetools (ссылка) — это платформа, которая была создана как решение только для API. Это делает его безголовым по определению.
  • Spryker (ссылка) добавил API в какой-то момент во время своей разработки для поддержки безголового подхода.

В конце концов, платформы, построенные с использованием только API или подходов, основанных на API, лучше подходят для безголовых решений, потому что:

  • Все их функции доступны через API.
  • API обычно работает лучше.
  • API получают более широкую поддержку, включая REST API и GraphQL.
  • Структура API лучше продумана и свободна от ограничений, которые появляются, когда мы впоследствии добавляем функциональные возможности API.
  • Эти решения обычно имеют лучшую политику управления версиями API и обратную совместимость.
    • commercetools не создает новые версии API. Он обещает не изменять и не удалять существующие интерфейсы API. Каждое изменение вносится путем создания нового. Благодаря этому безголовый передний конец всегда будет оставаться совместимым.
    • Spryker предлагает классическое семантическое управление версиями, поэтому при обновлении нам может потребоваться изменить интерфейс.

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

 

Варианты реализации

Видение со стороны commercetools

Позиционируют себя в качестве ядра системы электронной коммерции и на его основе (на снаружи относительно него) создаются составные сервисы и пользовательские приложения.

 

 

Продвигают MACH архитектуру microservices-based, API-first, cloud-native, and headless — микросервисы, сначала API, в облаке и без головы. Из полезного продуманное и описанное API https://docs.commercetools.com/api/. Предоставляют службы только как сервис. У конкурентов (будут на следующем слайде) так же присутствует современный API.

Отдельно смотрел Shopware https://www.shopware.com/en/, искал eCommerce на Symfony (PHP), код открыт https://github.com/shopware/platform, есть вариант сервиса с абонентской платой "от 0" и Self-hosted Community Edition.

Общая проблема в том что продвинутым платформам российский рынок неинтересен и местные студии не особо двигают данные технологии/продукты.

 

Видение со стороны Vue Storefront

 

 

Меня на данный момент интересует левый блок eCommerce Platforms.

Представим что хотим использовать 1С как eCommerce платформу.

Для этого нужно написать компонент на js, который умеет взаимодействовать с API предоставляемый 1С.

 

 

Выдержки из документации

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

Тема по умолчанию в Vue Storefront поставляется с поддержкой многих функций из коробки, что отлично подходит, если вы не хотите иметь дело с пользовательским интерфейсом или стилем. Однако за это приходится платить. Чем меньше функциональных возможностей поддерживает ваша платформа, тем больше она требует переопределения.

Трудно перечислить все функции, которые должна поддерживать ваша платформа. Тем не менее, вы можете получить общее представление, просмотрев отдельные составные файлы "composables".

API вашей платформы должен иметь конечные точки для большинства из этих операций, если только некоторые из них не могут быть выполнены на интерфейсе. Одним из таких примеров может быть isInCart, который принимает currentCartи productв качестве параметров. В большинстве случаев этой информации достаточно, чтобы проверить, есть ли товар уже в корзине, не вызывая API.

В качестве альтернативы можно реализовать API совместимый интерфейс на уровне API и подключать уже разработанный модуль. Примеры такого подхода gogatekeeper — форк форка gatekeeper и redpanda (A Kafka® API compatible streaming platform).

 

Итог

На данный момент на US-EU рынке есть интересные eCommerce продукты и описание их работы, в RU тем более около 1С сообществе только унылый CML или "сайт из 1С" которые не соответствуют актуальным требованиям web.

Буду рад ссылкам на продукты или наработки по теме в RU сегменте.

Благодарю за внимание.

has been added to your cart:
Оформление заказа