SAP Commerce Cloud is a modular, cloud-native eCommerce platform designed for complex B2B and B2C scenarios, built on the Java-based SAP Commerce (formerly Hybris) platform and operating on Microsoft Azure infrastructure as part of the SAP Business Technology Platform (BTP). The system supports deep product modeling, order orchestration, and integration with SAP ERP, S/4HANA, and third-party services.
Features of SAP Commerce Cloud
Composable and Modular Architecture
Uses a layered extension system (Add-ons, Accelerators) that allows granular feature customization. Enables modular deployment of services like cart, promotions, and storefronts independently.
Cloud-Native Deployment on Kubernetes
Runs as containerized services on Kubernetes (managed via SAP"s infrastructure on Azure). Supports auto-scaling, zero-downtime updates, and blue-green deployments.
Multi-Site, Multi-Channel Capabilities
Allows deployment of multiple storefronts under a single tenant with shared or independent catalogs, currencies, and languages. Supports B2B and B2C concurrently.
Tight Integration with SAP Ecosystem
Ships with native connectors to SAP S/4HANA, SAP ERP, and Customer Data Cloud. Enables bidirectional data sync using IDocs, RFC, and SAP Integration Suite.
Product Content Management (PCM)
SAP Commerce Cloud provides a structured PCM system capable of modeling complex catalogs with multiple hierarchies, variants, and classifications. It uses the Backoffice Product Cockpit, which enables administrators to create and manage product items, assign classifications (e.g., color and size), and define variant relationships (like base and variant-product).
Product structures are extensible via custom itemtypes.xml definitions, where attributes and relations are configured. For example:
<itemtype code="ApparelProduct" extends="Product"><attributes><attribute qualifier="fit" type="java.lang.String"/><attribute qualifier="style" type="java.lang.String"/></attributes></itemtype>Explanation:
- <itemtype code="ApparelProduct" extends="Product">: Declares a new item type named ApparelProduct that inherits all fields and behavior from the base Product type.
- <attribute qualifier="fit" type="java.lang.String"/>: Adds a new string attribute named fit (e.g., "slim", "regular", "loose").
- <attribute qualifier="style" type="java.lang.String"/>: Adds another custom attribute named style (e.g., "casual", "formal").
Video Asset Support:
SAP Commerce Cloud allows product media such as videos (MP4, WebM) to be attached as MediaContainer components and referenced from the Product model via product.galleryImages or custom attributes like videoMedia. These are stored in the Media Service and delivered via dynamic URLs, often hosted through SAP's media CDN.
Example: Assigning a Video to a Product Using Impex
INSERT_UPDATE Product; code[unique=true]; catalogVersion(catalog(id), version); videoMedia(code);SKU-001; electronicsCatalog:Online; product-video-sku001Explanation:
- INSERT_UPDATE Product: Tells the system to insert a new product or update an existing one.
- code[unique=true]: Uniquely identifies the product (SKU-001).
- catalogVersion(catalog(id), version): Specifies the product's catalog and version (electronicsCatalog:Online).
- videoMedia(code): Refers to the code of a Media object containing the video file (product-video-sku001).
Headless and API-First Design (OCC Layer)
SAP Commerce Cloud exposes commerce logic via OCC REST APIs for products, carts, customers, and orders. These APIs return JSON, support OAuth2, and enable frontend teams to build fully headless apps using React or Angular, decoupling UI from backend logic.
Video Delivery via OCC APIs:
Video metadata associated with products can be exposed through customized OCC extensions. By extending the ProductWsDTO, you can include video URLs in API responses for consumption in headless storefronts.
Example: Extending OCC Product DTO with video URL
public class CustomProductWsDTO extends ProductWsDTO {private String videoUrl;// getters and setters}The videoUrl can point to the associated media"s public URL and be rendered on the frontend using HTML5 <video> elements or third-party players like Plyr or Video.js.
Order Management
Distributed Order Management (DOM) system handles sourcing, allocation, and fulfillment logic natively. Orders can be split and routed across multiple warehouses based on availability, cost, and location using configurable sourcing rules, support partial fulfillment, multi-address shipping, and return merchandise authorization (RMA).
Deployment and Architecture
SAP Commerce Cloud is deployed on a Kubernetes-based infrastructure managed via the Cloud Portal. Developers use the Portal UI, Backoffice, and `ccv2` CLI for operations. Continuous delivery is handled through Git-based pipelines, with infrastructure defined via metadata files (`manifest.json` and `deployment.yml`) using IaC principles. Custom features are deployed using the AddOn and Extension frameworks.
Extension-Based Architecture
SAP Commerce Cloud uses a modular, extension-based architecture on the Java Spring framework. Custom functionality is added via extensions registered in localextensions.xml. Services are reused or overridden through Spring Beans. Business logic resides in the service layer, and the frontend uses JSP or Angular (Spartacus) templates..
<extension name="mycustomextension"/><extension name="acceleratorstorefront"/>