This document discusses how to build commerce connectors for Bloomreach Accelerators using their Commerce Connector SDK. It provides an overview of the SDK architecture, which includes repositories for communicating with backend APIs, models for representing backend data, and forms for submitting data. It describes how repositories, models, and forms are implemented as interfaces and gives examples. The SDK standardizes how integrations are built, allowing the frontend to work across different backends and enabling content-driven commerce experiences.
3. How to Start
a Store
The story of a front-end
developer who set up a
webshop for a prospective
customer in a short amount
of time
Agenda
Roadmap
What’s coming up next for
Bloomreach Accelerators
Accelerators
Deep Dive
A closer look at the
Bloomreach Accelerators
architecture and commerce
connectors
8. Bloomreach Commerce Accelerators: How?
.. and you can still build your own
commerce connector
Prebuilt connectors supported
out of the box.
No need to build them..
Commerce Accelerator
Cloud Instance
brXM
Commerce
Accelerator
BRIEF
Cloud OpContent editorMerchandiserMarketer
Webmaster
Developer
Visitor
enrich content
manage channels
Browse, update templates
Customize, extend
components & templates
Visit store / purchase
elasticpath
commercetools
P13n/Search
9. Commerce Connector SDK API
● SDK API drives developers through connector implementation
● Commerce Connectors mainly consist of
○ Repositories
○ Models and Forms
https://documentation.bloomreach.com/library/solutions/commerce-starterstore/connector-sdk/introducton.html
BRIEF
Repository
Form
Commerce
Accelerator
Application
Model
10. Commerce Connector SDK API: Commerce Backends
● Commerce backends can expose their services using different technologies, like REST API,
Databases or offer directly SDK to integrate with them
11. Commerce Connector SDK API: Repositories
● Connectors are composed of different repositories (e.g. ProductRepository), each one
responsible for communicating with a specific commerce backend API
Repository
REST
SDK
DBC
12. Commerce Connector SDK API: Models
● Each connector needs to implement a set of models according to the underline commerce backend
specification
Repository
REST
SDK
DBC
ModelCommerce
Accelerator
Application
13. Commerce Connector SDK API: how frontend benefits of this architecture
● Partner/Developers can reuse the same front-end layer for different integration scenarios (e.g. different
backends)
● Commerce Accelerator projects can use functionalities provided by BRIEF to realize content driven
commerce experience
Repository
REST
SDK
DBC
ModelCommerce
Accelerator
Application
Content
+
Commerce
Visitor
14. Commerce Connector SDK API: Form and Queries
● Forms contains the data pushed into commerce backends
Repository
REST
SDK
DBCForms
&
Queries
Commerce
Accelerator
ApplicationHTTP
requests
Visitor
15. Commerce Connector SDK API: How to implement repositories
● Connectors are composed of different repositories (e.g. ProductRepository), each one
responsible for communicating with a specific commerce backend API
<<Interface>>
CommerceRepository
<<Interface>>
CommerceResourceRepository
+ findOne(CommerceConnector, I, QuerySpec): M
+ findAll(CommerceConnector, QuerySpec): PageResult<M>
M extends CommerceModel,
I extends Serializable <<Interface>>
CommerceFormRepository
+ save(CommerceConnector, F): M
+ create(CommerceConnector, F): M
+ delete(CommerceConnector, I): M
+ checkIn(CommerceConnector, F): M
+ checkOut(CommerceConnector, F): M
M extends CommerceModel,
I extends Serializable
F extends CommerceForm
<<Interface>>
CategoryRepository
<<Interface>>
ProductRepository
+ findAllByCategory(
CommerceConnector,
CategoryForm,
QuerySpec)
: PageResult<ItemModel>
<<Interface>>
OrderRepository
<<Interface>>
CustomerRepository
<<Interface>>
AddressRepository
<<Interface>>
CartRepository
<ItemModel,
String>
<OrderModel,
String,
OrderForm>
<CustomerModel,
String,
CustomerForm>
<AddresModel,
String,
CustomerForm>
<CartModel,
String,
CartForm>
<CategoryModel,
String>
<OrderModel,
String>
16. Commerce Connector SDK API: How to implement models
● Each connector needs to implement a set of models according to the underline commerce
backend specification
<<Interface>>
ItemModel
+ getld(): String
+ getCode(): String
+ getDisplayName(): String
+ getDescription(): String
+ getImageSet(): ImageSetModel
+ getListPrice(): Price
+ getPurchasePrice(): Price
<<Interface>>
ImageSetModel
+ getOriginal(): ImageModel
+ getTumbnail(): ImageModel
+ getVariant(String): ImageModel
<<Interface>>
ImageModel
+ getDimension(): DimensionModel
+ getLinks(): Map<String, LinkModel>
+ getSelfLink(): LinkModel
<<Interface>>
DimensionModel
+ getWidth(): int
+ getHeight(): int
<<Interface>>
LinkModel
+ getHref(): String
+ getRef(): String