CNBS Software Blog

"Headed" vs. "Headless" eCommerce

Aug 11, 2020 11:47 AM / by Stefan Kyntchev
 
eCommerce platforms have a difficult task to balance 2 somewhat conflicting forces. On one side, they serve as a marketing tool to draw and keep customers engaged by providing a fresh, easy to navigate, polished and constantly evolving user experience. On the other side, eCommerce platforms have to execute complex business processes like checking availability, pricing, discounts, shipping, recommendations etc. "Mistakes" or “bugs” in any of these processes can be embarrassing (and costly). Think of a bug in the tax calculation logic that miscalculates the proper tax for the customer region, or a coupon that is supposed to give 5% off but instead gives 500% off. With tens of rules that are in play in a typical eCommerce checkout scenario, you can see the nightmare and extensive testing that each of those business rules needs to go through.

 

User facing pages of the eCommerce websites are the usually the battlefield where those 2 forces collide. Marketing department wants to experiment by making constant changes to the web page - add content, move things around in an attempt to make the web page a little bit more “sticky” or sells one more product. To engineers who are responsible for making sure all business rules on the page are always working, any page change is a nightmare – every rule that is triggered in the page has to be retested. All planning and testing takes time and effort, so engineers "push back" and try to discourage any changes. 

 

This conflict exists because historically the technologies for building web pages, often caused the code responsible for executing the business rules to be intermingled with the code that was used to control page’s presentation components (e.g. parts of the page that user sees like buttons, tables, sliders etc.). This  intermingling often caused changes to the look and feel, to also affect the logic that triggered various business rules (e.g. adding a new way to add/remove products to a shopping cart, needed also to make sure that it triggered the appropriate business logic to recalculate pricing, discounts, shipping etc.).  This dependency required the developers of the web page to be aware of what business rules are attached to what UI component and investigate how they will be affected if the element is moved, removed or redesigned.

 

 

“Headless” eCommerce is a new approach to designing eCommerce platforms that tries to eliminate the dependency between page’s “look & feel” and business logic by enforcing a clear separation between the two. The term “headless” means that the core of the eCommerce platform does not have ANY user interface (or “head”). The platform is is delivered as a collection of business rules exposed through a set of clear APIs or microservices. This separation allows the User interface to be written in any web technology (React.js Angular.JS etc.) and evolve independently from the business logic and vice versa. This provides a great flexibility to change and test the presentation logic or business logic independently of each other. An extra benefit of this separation is the ability to reuse the same business logic in a variety of (unusual) interaction scenarios including Web Pages, Voice Control, Chat Bots and IoT devices (e.g. an IoT sensor can trigger a reorder of a product using the same logic as if the order was placed by a human via a web site.).

 

In the world of Headless solutions, vendors focus primary on the back-end (business rules) and generally leave the user interfaces (the "head") to be built by 3rd parties. To encourage the adoption of this model, some vendors even provide purpose built open source web UI components that can be used to build complete web sites with their headless eCommerce solution backend.

 

Headless eCommerce is still in its early stages with two of the more popular platforms SAP Spartacus (based on Hybris) and Elastic Path being the more mature offerings at this time. Over time other eCommerce platforms will eventually start moving in this direction as it offers more flexibility and greatly simplifies the development and support. 

 

Want to learn more about SAP eCommerce? Check out our Ultimate Guide to eCommerce.

Tags: E-Commerce, SAP, SAP Solutions

Stefan Kyntchev

Written by Stefan Kyntchev