Разобрался с SAP hybris YaaS – построенное на SOA облачное решение для e-commerce. Удалось даже немного покодить и покастомизировать. На прошлой неделе вышли в Open Beta на сообщество партнеров SAP.
Очень интересная, в чем-то модная и красивая концепция.
lightweight storefront @AngularJS + API first + Scalability + EJB/COM + RAML + MQ + Pivotal Web Services / Cloud Foundry
Фронт магазина представляет собой крайне легковесное решение, в примере из коробки вообще без server-side скриптов, построен на AngularJS, это такой джаваскрипт-фреймворк. Сторона сервера – это сервис yaas.io, который является контейнером RESTful API – запросы проксирует на реальные сервисы, хостящиеся, например, на pivotal.io, пропуская через проверки у себя. Часть этих API предоставляется в виде hybris-as-a-service, ядро и екоммерс-функции.
Разработка представляет собой создание кастомных API, публикация их как сервисов в облаке, и прикручивание их друг к другу и к storefront.
Можно подписываться на чужие API, для чего есть маркетплейс. Маркет позволяет публиковать свои общественно полезные и зарабатывать на этом деньги (пока нельзя).
Например, подписываешь свой магазин на API из библиотеки Email, и ура у тебя есть облачная возможность отправлять почту, соответствующий REST-интерфейс.
Подписываешь свой магазин на API поиска – и у тебя есть облачная возможность искать по своим данным. Есть выбор между разными поисковыми движками. Тут же и фасеты.
Написал свой сервис для КЛАДР верификации адресов – и зарабатываешь на том, что другие его юзают.
Конечно, с подключением всякого нового сервиса надо конкретно так хачить storefront на AngularJS, но это документировано. Или добавлять взаимодействие в свои API.
В итоге, магазин представляет собой light storefront + набор API на разных серверах, слабо связанные друг с другом + легкая расширяемая админка на yaas, которая на получение/изменение данных работает с теми же API. Фактически нет ядра системы – система представляет группу из многих маленьких екоммерс-блоков, разбросанных по разным доменам, серверам, кластерам (правда, пока все они на одном хостинге). Прокачивать каждый можно индивидуально.
API хостятся на Pivotal.io/Cloud Foundry. Есть удобный мехнизм публикации API в облако, как и простой способ подкинуть для него ресурсы.
Для разработки API используется язык RAML, что позволяет легко расширять свои сервисы библиотечными возможностями т.н. RAML traits – “возможности”, которые можно применять к новым API, типа добавления фильтрации или пейджинга в API, возвращающие рекордсеты.
Там же есть свой облачный middleware-софт для MQ, для общения между API и внешними системами – ERP той же. Есть механизм расширения данных API фреймворка. За хранение данных за API отвечает MongoDB, но ее не видно, т.к. доступ к объектам через REST-интерфейсы.
@[658732965:2048:Andrey Tatarinov] что-то энтеровское есть) @[1431739380:2048:Grigory Bakunov] @[100001168004708:2048:Erik Babadzhanov]
Кроме плюсов (это я еще не все перечислил), знаю и минусы. У вендора модель еще не полностью проработана, как с технической, так и бизнес-стороны. Пока выясняю детали. Интересно, как скоро мы сделаем систему на этой технологии? Есть похожие темы на рынке?
