Introduction to brX GraphQL Service
Info: The brX GraphQL Service requires a standard or premium Bloomreach Content license. Contact Bloomreach for licensing details.
Overview
GraphQL is widely adopted in modern application development to address diverse data requirements and manage complex state across different front-end clients. Its declarative approach enables developers to define consistent and predictable APIs for various platforms.
Starting with version 14.3, the Bloomreach Commerce Accelerator includes an optional GraphQL API for commerce features. This API is designed for developers who want to use GraphQL technologies. The GraphQL API provides the same functionality as the Commerce Connector SDK and Commerce Connector Modules. The GraphQL API is compatible with any GraphQL client, while the Commerce Connector Modules are Java-based and intended for Java applications.
Architecture Overview
The following diagram shows a high-level architecture of the brX GraphQL Service:

Diagram: The diagram illustrates the brX GraphQL Service architecture. A single-page application (SPA) communicates with an Apollo Server, which uses resolvers and data sources such as ItemsDataSource and CartDataSource. These data sources connect to backend-specific implementations like BrItemsDataSource, :ItemsDataSource, and :CartDataSource. The service integrates with brSM and a Commerce Backend through extension points. Bloomreach Content is shown separately, with a Delivery tier providing the Page Model API to the SPA, and an Authoring tier offering Open UI Product Picker, Open UI Category Picker, and Open UI Account Picker for authors and editors.
A SPA or any GraphQL client can retrieve or update data in commerce backend platforms using the brX GraphQL Service. The SPA obtains the page model from the Bloomreach Content Delivery API to render pages and components. For commerce-related components (such as Product Grid, Product Detail, or Cart), the SPA interacts with the brX GraphQL Service to read or update commerce data.
The Bloomreach Commerce Accelerator also provides Open UI-based picker plugins. These plugins allow users to select related products or categories in documents. The Open UI pickers use the GraphQL API, while the legacy Wicket-based pickers use the Java API.
The brX GraphQL Service consists of several internal layers built on Apollo Server:
- Server and Resolvers: The Apollo Server and GraphQL resource resolvers, which call the appropriate DataSource operations.
- DataSource interfaces: Abstractions for commerce operations, such as
CategoryDataSource,ItemsDataSource,CustomerDataSource,CartDataSource, andOrderDataSource. - Commerce backend-specific DataSource implementations: Implementations for each commerce backend platform, provided in separate packages.
For more details, refer to the Further Reading section.
Demo Connector Module
A demo connector module is available to demonstrate how to implement DataSource components for a specific commerce backend. This module integrates with Shopizer, an open source commerce platform.
Warning: The Shopizer connector module is intended for demonstration only. Do not use this module in production environments.
For configuration details, see Shopizer Connector Configuration.
Further Reading
- Install brX GraphQL Service
- Configure brX GraphQL Service
- Commerce Connector Configuration for brX GraphQL Service
- GraphQL Schema of brX GraphQL Service
- Configure Open UI Pickers
- Dockerizing brX GraphQL Service
- Extend the brX GraphQL Service using Apollo Federation
- FAQ about brX GraphQL Service
- Download the Source of the brX GraphQL Service