You are on page 1of 17

11/08/2021 How to Understand Salesforce Commerce Cloud Platform | by Oleg Sapishchuk | Medium

To make Medium work, we log user data.


Get started Open in app
By using Medium, you agree to our
Privacy Policy, including cookie policy.

Oleg Sapishchuk
277 Followers Lists New
About Follow

How to Understand Salesforce Commerce


Cloud Platform
Salesforce Commerce Cloud, formerly known as Demandware — is a cloud platform
with the primary purpose of serving B2C e-commerce solutions.

Oleg Sapishchuk Nov 23, 2020 · 13 min read

Photo by Denys Nevozhai on Unsplash

https://osapishchuk.medium.com/how-to-understand-salesforce-commerce-cloud-78d71f1016de 1/17
11/08/2021 How to Understand Salesforce Commerce Cloud Platform | by Oleg Sapishchuk | Medium

Welcome, everyone. I haveTobeen working for several years as a Salesforce Commerce


make Medium work, we log user data.
Cloud (SFCC) developer. Allow
By usingme to share
Medium, with
you agree to you
our what the SFCC is and how one
Privacy Policy, including cookie policy.
can properly navigate its systems. This article is especially directed to individuals who
will be using the platform for the first time. Employees currently working in the job
position that possess some familiarity with the technology will find this very helpful.
Also it can be useful for JavaScript developers who are going to try themselves with
SFCC.

The question you may be asking yourself is, what is expected of me? Can I really work
with this platform? The motive for writing this article is the lack of publicly available
resources. You cannot really “google” too much about it, as historically speaking, it was
a closed ecosystem. Previously, you could only learn about SFCC after a few months of
working with the platform. If what you encountered matched what you had expected,
then great! If that is not the case, then help is here. I am happy to share this article
explaining the SFCC platform with you.

My Experience Using SFCC


At one stage in my life, I questioned if I should pursue a career path connected with
SFCC. Back then, it was extremely difficult to find information about this technology. I
found the information on the web to be frustrating. I determined then that SFCC was
incompatible with different types of companies. At the time, it was called Demandware
and did not have any connection to Salesforce.

By now, you have probably figured out that I gave it a try. Recently, documentation
about the platform became public, facilitating high-level analysis of the functionalities
and capabilities of SFCC. Here is an introduction to the details of the SFCC platform.
No comparisons have been made to domain competitors such as Magento or Hybris.

Introduction to Commerce Cloud


Salesforce Commerce Cloud, formerly known as Demandware before Salesforce
acquired it, is a cloud platform for e-commerce solutions which is relatively easy to use.
It is used to drive the big business of electronic commerce. It provides useful
capabilities and experiences for sellers, as well as users. SFCC accelerator provides
capabilities for regional and cross-brand eCommerce solutions. The customer is
provided with an easy buy-in experience in a well-managed way. Orders are efficiently
managed, and the customer service tools provided support a smooth shopping
experience for the end-customer.

1.1. Salesforce Commerce Cloud Architecture


https://osapishchuk.medium.com/how-to-understand-salesforce-commerce-cloud-78d71f1016de 2/17
11/08/2021 How to Understand Salesforce Commerce Cloud Platform | by Oleg Sapishchuk | Medium

To make Medium work, we log user data.


By using Medium, you agree to our
Privacy Policy, including cookie policy.

Architecture

When customers enter a website created on SFCC — all static content (JS, CSS, and
images) is delivered from CDN. SFCC use eCDN (Embedded Content Delivery Network)
for such purposes. Also, we can configure external CDN by native platform capabilities.
This ensures that there are no resource consumptions on the platform for static
content. The rest of the information and data are covered by Salesforce servers.
Powerful data centers are distributed globally, placing them physically closer to the
end-users.

Structure-wise, in such data centers, Salesforce may keep multiple PODs (Point of
Delivery). PODs are groups of hardware shared by multiple Salesforce customers. The
PODs enable the sharing and availability of additional resources to the stakeholder
should there be a spike in demand for those resources. PODs consist of firewalls,
switches, load balancers, computing power, and a file system.

https://osapishchuk.medium.com/how-to-understand-salesforce-commerce-cloud-78d71f1016de 3/17
11/08/2021 How to Understand Salesforce Commerce Cloud Platform | by Oleg Sapishchuk | Medium

To make Medium work, we log user data.


By using Medium, you agree to our
Privacy Policy, including cookie policy.

Data Integration: Web Services

1.2. SFCC integrations on average project


All new projects based on SFCC are directed towards established, large-scale clients
with a revenue of 10–50 million dollars or more per year. This means that such
customers will have a relatively equal load of expectations on the website with
hundreds of thousands of visitors. On the peak load time frames, such load might reach
millions of users, for example, on “Black Friday” or “Cyber Monday” events. Almost on
each project, there is a list of services and systems with which we should integrate:

payment system providers, including fraud management engine (PSP)

taxation providers

order management systems (OMS)

customer relationship management systems (CRM)

address validation systems

rating and review solutions

analytical systems and tools

https://osapishchuk.medium.com/how-to-understand-salesforce-commerce-cloud-78d71f1016de 4/17
11/08/2021 How to Understand Salesforce Commerce Cloud Platform | by Oleg Sapishchuk | Medium

Most of such integrations To


aremake
based on plug-and-play solutions (integration cartridges),
Medium work, we log user data.
required to modify each customer’s requirements
By using Medium, and business needs. Usually, the
you agree to our
Privacy Policy, including cookie policy.
complexity of client-business processes and requirements for global support (for
example, multi-brand solutions in Europe, APAC, and the Americas) will require a lot of
additional functionality beyond standard integrations. In such cases, we need to
produce many custom functionalities via coding activities, making design and planning
interfaces, as we would do with any other technology.

1.3. Demo-shop
Like other eCommerce solutions, SFCC has its own demo shop. The demo shop starts
with the development of projects. SFCC demo shop includes:

Home Page

Categories (Category Landing Page, Product Listing Page, Product Detail Page)

Promotional banners

Store locator

Promotions

Checkout

My accounts and others.

https://osapishchuk.medium.com/how-to-understand-salesforce-commerce-cloud-78d71f1016de 5/17
11/08/2021 How to Understand Salesforce Commerce Cloud Platform | by Oleg Sapishchuk | Medium

To make Medium work, we log user data.


By using Medium, you agree to our
Privacy Policy, including cookie policy.

https://production-sitegenesis-dw.demandware.net/s/RefArchGlobal

Delivery of eCommerce solutions begins with customizations of the demo-shop.


Salesforce calls it; Storefront Reference Architecture, Reference Application or SFRA.
Traditionally on SFCC, our clients organize their B2C business model solutions while
there are also cases for B2B, B2B2C, and even D2C.

In one of my recent projects on SFCC, we developed a B2B solution for an international


company in the pharmaceutical industry, making sales in all major markets throughout
the world. After more than a year of work and significant customizations per customer
needs from the standard SFRA, the client is doing exceptionally well. We were able to
achieve extraordinary results. All features provided by the Reference Application were
completely redrafted for this unique project in order to achieve the best-customized
solution for the company. We adjusted the defined solutions and best practices to the
customer’s unique situation. Of course, this type of project is an exception.

For customizations with demo-shop, a highly engaged delivery team consisting of UX &
UI designers, Business Analysts, and other professionals are deployed to support the
client during the development phase

The SFCC eCommerce business model works. I was supporting a B2B solution less than
a year ago. We saw the client increase revenues to several billion, or ⅓. more than

https://osapishchuk.medium.com/how-to-understand-salesforce-commerce-cloud-78d71f1016de 6/17
11/08/2021 How to Understand Salesforce Commerce Cloud Platform | by Oleg Sapishchuk | Medium

revenue performance on the legacy ecosystem. That is phenomenal growth.


To make Medium work, we log user data.
By using Medium, you agree to our
1.4. Business Manager
Privacy Policy, including cookie policy.

Salesforce provides an administrative feature called Business Manager (BM). It is used


for the administration of the platform. In BM, we can control different aspects of the
website. Also, some modules are directly related to selling products and services.
Products and services sold include catalogs of products, price books, inventories,
content, etc.

Business Manager: Merchant Tools

In BM, there are capabilities directly linked to developmental and IT operations. Such
capabilities include Jobs that are similar to Cron Job Software Utility, web services, and
others.

https://osapishchuk.medium.com/how-to-understand-salesforce-commerce-cloud-78d71f1016de 7/17
11/08/2021 How to Understand Salesforce Commerce Cloud Platform | by Oleg Sapishchuk | Medium

To make Medium work, we log user data.


By using Medium, you agree to our
Privacy Policy, including cookie policy.

Business Manager: Administration

Business Manager allows the user to control the creation of the code and data
replications between different environments. It also facilitates the scheduling of
backups. In addition to those features, the admin with responsibility for the BM can
allow other users to access the system, assign roles, and grant permission for users to
utilize various aspects of the BM.

What is behind the scenes in the SFCC?


On the server-side, we have B2C Commerce JavaScript (Demandware Script) — A
rhino-based JavaScript engine, which includes ECMAScript 5, Mozilla extensions,
JavaScript 1.8, and E4X. Behind the scenes, you will also find server codes that have
been organized with the help of CommonJS compatible B2C Commerce script modules.
Moreover, SFCC provides API capabilities to work directly with the platform:

B2C Commerce API;

Open Commerce API.

B2C Commerce API includes inside B2C Commerce Script API and B2C Commerce
Pipelets API (legacy).

The B2C Commerce Script API provides a mature structure of the classes that work
seamlessly with the platform and realization standard eCommerce flow. Features, such
as orders, baskets, customers, catalogs, and others each have their specific classes; with
which to work. SFCC does not have the capability to allow you to interact directly with

https://osapishchuk.medium.com/how-to-understand-salesforce-commerce-cloud-78d71f1016de 8/17
11/08/2021 How to Understand Salesforce Commerce Cloud Platform | by Oleg Sapishchuk | Medium

their Database (DB). Access to the DB is solely via the API of SFCC; the same goes for
To make Medium work, we log user data.
core platform logic. By using Medium, you agree to our
Privacy Policy, including cookie policy.

The reason for this is the permission to access and change how the core platform
functions operate, which is not available to you. All customizations must be done in
collaboration with what is already in place, as with any other SaaS solution. This
feature saves the developer the trouble of designing databases, creating relationships
between tables, and so forth because the platform does it all for you. However, the
platform will permit the expansion of the existing system objects; and the
implementation of new custom data features if necessary. The platform handles a wide
range of tasks, which provides you with the time to focus on delivering efficient
business solutions.

Below is an example of an extension suitable for the Basket system class with a newly
customized feature.

Object Type ‘Basket’ — Attribute Definition Details

In order to get the current customer basket via B2C Commerce Script API, you are
required to write only two (2) lines of code:

var BasketMgr = require('dw/order/BasketMgr');

var basket = BasketMgr.getCurrentBasket();


https://osapishchuk.medium.com/how-to-understand-salesforce-commerce-cloud-78d71f1016de 9/17
11/08/2021 How to Understand Salesforce Commerce Cloud Platform | by Oleg Sapishchuk | Medium

To make Medium work, we log user data.


By using Medium, you agree to our
Open Commerce API (OCAPI) — is aincluding
Privacy Policy, RESTful (Representational
cookie policy. State Transfer) API,
and is a software architecture that brings to action (employs) user-friendly web-based
services. It consists of three (3) main parts:

1. Shop API (more information at Shop API resources and Shop API documents) —
provides access to Commerce Cloud Digital storefront functionality. The primary
role of a shop API is to assist with the customer journey to buy products. It helps
with access to products, baskets, the creation of orders, and other customer-related
features.

2. Data API (more information at Data API resources and Data API documents) —
provides access to Commerce Cloud Digital configurations and integration
functionality for the related projects.

3. Meta API (more information at Meta API) — provides access to resources and
document descriptions, which are available in Open Commerce API.

The existing version of the SFRA server-side JavaScript might remind us of the Express
Node.js framework. For example, this is how it is written out if we are using
SomeController.js as the controller that we are adding data structures/parsing logic to
for a GET-request under SomeController-SomeEndpointAction :

var server = require('server');

server.get('SomeEndpointAction',

someMiddleware1,

someMiddleware2,

someMiddleware3,

function (req, res, next) {

var someResult = {};

res.json(someResult);

next();

);

The current version of the demo-site of the SFRA does not have JavaScript optimally
organized. In my opinion, the architecture of the storefront JavaScript doesn’t exist.
While I do not think it is the worst code, it still is certainly not one that I would ever
include in my portfolio. The issue with JavaScript is one of the key reasons why quite
https://osapishchuk.medium.com/how-to-understand-salesforce-commerce-cloud-78d71f1016de 10/17
11/08/2021 How to Understand Salesforce Commerce Cloud Platform | by Oleg Sapishchuk | Medium

often; developers tend to have their own custom solutions (micro-frameworks) for the
To make Medium work, we log user data.
client-side JavaScript architecture whenyou
By using Medium, they are
agree managing the customizations of the
to our
Privacy Policy, including cookie policy.
demo-site. Currently, Salesforce is working on the standardization of the approaches
for the architecture of the client-side JavaScript. For this development, they intend to
use Lightning Component Framework. This framework is widely used and known in the
core products of Salesforce and various domains.

Before SFRA came into the picture, SFCC had a few other major solutions. Their
previous solution was implemented on “pipelines”. The development of pipeline
architecture is a form of visual programming. You can find an example of such a
development approach below:

Product.xml pipeline which is analog of new SFRA Product.js controller

Modern developers do not enjoy working with pipelines. Solution Integrators always
encountered challenges in solving control version conflicts. Performance improvements
were also difficult to execute using pipeline technology. That is why SFCC decided to
move away from using pipelines and did JavaScript-based technology and architectural
approach. The JavaScript-based versions are similar to Express Node.js. Clearly, each
version of the SFCC Reference Application is an improvement on the previous one.

https://osapishchuk.medium.com/how-to-understand-salesforce-commerce-cloud-78d71f1016de 11/17
11/08/2021 How to Understand Salesforce Commerce Cloud Platform | by Oleg Sapishchuk | Medium

Currently, Salesforce is actively working on Headless Commerce, which sounds


To make Medium work, we log user data.
promising for the NextGenBytechnology
using Medium,approach.
you agree to our
Privacy Policy, including cookie policy.

Commerce API

In Headless Commerce, we have a complete separation between server logic and the
presentation layer. The back-end only provides API, which is hosted somewhere else
(another domain) and does not have any default front-end implementation. “Head”
terminology means “front-end” which is closely (monolith-like) connected to the back-
end. There are a lot of variations in visualizing the presentation layer from mobile
application to the complex web application. These frontend implementations are
hosted separately from API.

For those working with the frontend using such a backend, API would make it look like
they are working with any other 3rd party integration. Headless Commerce provides
API to operate with products, catalogs, baskets, inventory, pricebook, and many others.
Various solutions to the experience layer are using the same server-side API. To add a
new front-end solution, we do not need to rewrite all business logic on the server-side.
You can read this in more depth about Headless Commerce in the article from
Stanislav Publika.
https://osapishchuk.medium.com/how-to-understand-salesforce-commerce-cloud-78d71f1016de 12/17
11/08/2021 How to Understand Salesforce Commerce Cloud Platform | by Oleg Sapishchuk | Medium

How COVID-19 influenced the SFCC


To make Medium work, we platform?
log user data.

With the beginning of the By using Medium, you agree to our


global lockdown, most countries went online, and the
Privacy Policy, including cookie policy.
internet became a life-savior for many people and businesses. The Salesforce report of
April 2020 indicated that the number of unique online buyers nearly doubled
compared to the previous year. Revenues of online-shops, allowing customers to buy
goods on their websites and pick up in the store, BOPIS (buy online, pick-up in-store),
increased by 27% in the first quarter.

The process and nature of buying behavior are changing. In July 2020, Salesforce
published a Shopping Index for the second quarter. It showed that the number of
online shoppers did not reduce even though many physical stores reopened. Salesforce
has predicted that eCommerce will continue to grow, even if all physical shops reopen
and the pandemic is stabilized.

Online shopping is increasing. With this expansion, expectations for eCommerce


solutions are increasing for business stakeholders and customers. Demand for high
quality and reliable eCommerce solutions (online-shops, applications, etc.) are also
rising. Considering the scale of Salesforce and the vast package of services offered,
there will certainly be numerous career opportunities for SFCC experts. During the
pandemic, industries like tourism and the transport sectors have struggled.
Contrastingly, online shopping or eCommerce has boomed during the pandemic.

How to start a career in SFCC?


To start a relatively easy career with the SFCC platform:

you should know Javascript

you would require some experience working with backend systems in any
technology

you need to be familiar with what eCommerce is and its common business
functionalities.

you also need to understand the inflow of revenue and what are the main user
scenarios encountered in eCommerce

Even if you did not have a chance to get familiar with the above elements, you could
search for learning programs, special courses, and student academies that are teaching
JS or even SFCC. For example, Astound occasionally offers a JS Boot Camp. If you were

https://osapishchuk.medium.com/how-to-understand-salesforce-commerce-cloud-78d71f1016de 13/17
11/08/2021 How to Understand Salesforce Commerce Cloud Platform | by Oleg Sapishchuk | Medium

successful with a similar course, you are qualified to become a Trainee SFCC Developer.
To make Medium work, we log user data.
Currently, the industry hasByausing
limited number
Medium, of to
you agree SFCC
our experts.
Privacy Policy, including cookie policy.

Furthermore, the future looks bright for the global development of eCommerce. These
factors indicate that the demand for SFCC experts is only set to increase. These factors
also explain why a lot of Consultancy and Solution Integrator companies are ready to
invest heavily to train novices all the way up to outstanding SFCC experts. Companies
have been providing SFCC novices with a lot of time (up to several months) for
onboarding to build familiarity with the platform. They only send that trainee for
“combat” missions after they have been properly upskilled.

Here are some extra resources:


1. SFCC documentation
documentation.b2c.commercecloud.salesforce.com/DOC1/index.jsp

2. Salesforce Trailhead (choose «Commerce Cloud» section) —


trailhead.salesforce.com/trails

3. Developer center — developer.commercecloud.com/s

4. Github (some repositories are public) — github.com/SalesforceCommerceCloud

5. Salesforce AppExchange — appexchange.salesforce.com

6. Channel on Youtube — www.youtube.com/c/commercecloud/videos

7. A relatively good video to understand the platform — youtu.be/U_aoTXkwgmA

In Summary
Salesforce Commerce Cloud — is a cloud platform with the main purpose of providing
B2C e-commerce solutions. Because this SaaS solution is cloud-based, the technical
team does not need to worry about supporting the hardware parts. Scaling challenges
or the threat of the site crashing on “Black Friday” are also removed by the cloud
technology.

This platform is usually used by clients with high revenues. This is because SFCC makes
part of their revenue by negotiating and collecting a predetermined percentage of gross
merchandise (volume-based) of the total sales on the eCommerce site. It is, therefore,
unprofitable for Salesforce to support small businesses.

https://osapishchuk.medium.com/how-to-understand-salesforce-commerce-cloud-78d71f1016de 14/17
11/08/2021 How to Understand Salesforce Commerce Cloud Platform | by Oleg Sapishchuk | Medium

SFCC, like most eCommerce solutions, has its own demo shop (or reference
To make Medium work, we log user data.
application) from which all
Byprojects are you
using Medium, developed.
agree to ourThe nature of development consists
Privacy Policy, including cookie policy.
of customization and extension of the demo shop capabilities, adding new integrations
for payments, taxation providers, and so forth. Technology-wise, the server code of the
SFRA is similar to a well-known Express Node, JS framework. Client JS needs
improvement, and users must exercise caution if using Client JS until it is fixed. We
expect that SFCC will refactor client-side JS in the nearest future. Probably new JS
architecture will be based on the Lighting Component Framework.

SFCC is growing rapidly. A lot of positive changes have been happening each quarter.
Soon, we will be able to implement projects based on Salesforce Headless Commerce.

https://osapishchuk.medium.com/how-to-understand-salesforce-commerce-cloud-78d71f1016de 15/17
11/08/2021 How to Understand Salesforce Commerce Cloud Platform | by Oleg Sapishchuk | Medium

To make Medium work, we log user data.


By using Medium, you agree to our
Privacy Policy, including cookie policy.

Photo by Austin Kehmeier on Unsplash

This blog post is a contribution to the Commerce


Cloud Community and is based on my partnership
with Ostap Spilchuk. Ostap is the Principal Web
Developer at Astound Commerce and an active
contributor to the Commerce Cloud Community. His
initial article posted on DOU is published in
Ukrainian. He kindly agreed to allow me to present
this article for the benefit of the English-speaking
audience. I wish to thank Ostap for this most
generous contribution.

My name is Oleg Sapishchuk, and I’m an experienced Solution Architect providing


digital transformation with unified commerce solutions for some of the world’s best
known and most influential brands. Salesforce B2C Commerce is the topic that I write
about most frequently. If you are interested in new or previously written material, I
invite you to follow my Medium profile.

Get an email whenever Oleg Sapishchuk publishes.

Your email

Subscribe

https://osapishchuk.medium.com/how-to-understand-salesforce-commerce-cloud-78d71f1016de 16/17
11/08/2021 How to Understand Salesforce Commerce Cloud Platform | by Oleg Sapishchuk | Medium
By signing up, you will create a Medium account if you don’t already have one. Review our Privacy Policy for more information
about our privacy practices. To make Medium work, we log user data.
By using Medium, you agree to our
Privacy Policy, including cookie policy.

Covid-19 Online Shopping Career Opportunities Ecommerce Careers

About Write Help Legal

Get the Medium app

https://osapishchuk.medium.com/how-to-understand-salesforce-commerce-cloud-78d71f1016de 17/17

You might also like