Elastic Path Production Tools

Architecture

Architecture

This section provides details about the catalog syndication architecture and describes the end-to-end data flow, showing how catalog synchronization is initiated and sent to a Content Management System (CMS).

Architecture and Data Flow

Administrators use Syndication API for catalog synchronization. Syndication consumer receives event messages from Java Messaging Service (JMS) and fetches the changes using Syndication API and the data received in the catalog event message. The following diagram illustrates the data flow for:

  • Domain event channel messaging (shown in red)
  • Batch projection builder (shown in green)
Figure 1. Architecture Diagram of Catalog Syndication

Domain Event Messaging Data Flow

  1. Store administrator updates the store catalog in Elastic Path Commerce Manager.
  2. Elastic Path Commerce Manager sends a message to the Domain Event Channel to notify the change.
  3. Integration server consumes the message from the Domain Event Channel and runs an appropriate action.
  4. Integration server builds the projection and saves it to the Elastic Path Commerce database. Integration server sends the catalog event message to Catalog Event Channel.
  5. Syndication consumer processes the catalog event message from the VirtualTopic.ep.catalog topic in JMS consisting of a Global Unique Identifier (GUID). The GUID is used to fetch data using Syndication API.
  6. CMS fetches the latest catalog representation using Syndication API and the GUID.

Batch Projection Builder Data Flow

  1. CMS administrator initiate a batch projection builder job in the batch integration server.
  2. Elastic Path batch server builds projections for all entities of a certain type, such as brand, SKUs, or attributes.
  3. Batch projection builder sends the message to Catalog Event Channel.
  4. CMS consumes the catalog event message from the `VirtualTopic.ep.catalog` topic in JMS consisting of a Global Unique Identifier (GUID). The GUID is used to fetch data using Syndication API.
  5. Syndication consumer fetches the latest catalog representation using `Syndication API` and the GUID.