Salesforce Commerce Cloud A.K.A. Demandware
What is e-commerce? E-commerce involves commercial transactions conducted electronically through the internet, to make it simpler, let’s call it online shopping. As developers, we need to know how e-commerce works. To put it in a simple context, it's like our good old friend, client-server architecture. It is a customer-store relationship.
Customers can browse the store's online catalog using the web or a mobile app, compare prices, product variants, and sales then add products as they like to their cart and check out. In this checkout process, the customer fills out a form that tells the store which address to use for shipping and which address to bill to then make their payment using an accepted payment method. Sounds simple, doesn't it?
In the previous description there are core concepts that every developer should know when working on eCommerce:
- Products
- Prices
- Product variants
- Promotions / Sales
- Catalog
- Cart
- Address
- Checkout process
- Payment methods
Every e-commerce framework treats these concepts on its own terms, but in the end we are dealing with the same logic.
There are quite a few e-commerce frameworks to choose from, be it commercial or open-source, onsite or cloud-based. To name a few, there’s SAP Hybris, IBM Digital Commerce, Shopify and Magento, but in this article we’re going to focus on one specific framework and that is Demandware.
In 2016, Demandware, a SaaS e-commerce framework was bought by Salesforce for an impressive $2.8 billion dollars. Ever since this acquisition, Demandware goes by the name of Salesforce Commerce Cloud.
Demandware development is really simple if looked at as an MVC framework. The model, that is products, catalogs, and prices, is called System-Objects. We can also create our own called Custom-Objects by using XML and loading it onto the platform. The view is called Internet Store Markup Language (ISML), and it’s a template that is translated into HTML. The controllers are now JS controllers which in previous versions were known as pipelines, but that’s a subject we can leave for another article.
We have three core languages in this framework:
- ISML: Markup language for views.
- Digital Script (.ds): Server-side scripting language based on Javascript that is used throughout the platform.
- Javascript: In recent versions it was used for controllers.
The IDE for Demandware, or SCC going forward, is eclipse with the use of a plugin that allows us to upload our code to the cloud. The code is grouped together in cartridges that are handled as modules. A lot of integration is done via cartridges, for example, we can use a PayPal cartridge to include that payment method for our store.
The platform dashboard, known as the Business Manager, allows us to operate the site from the business and sysadmin side.
On April 28 of this year, Salesforce released the latest update on the developer certification process. Check it out here.
Right now Salesforce doesn’t provide free accounts for new developers to start working with the platform, only clients and partners have access to it. We’ll have to wait and see if there’s a change in the future so that more developers can jump into e-commerce with the Salesforce Commerce Cloud.