Sitecore Experience Commerce (XC) 9 — A Powerful E-Commerce Solution
Sitecore has worked hard to deliver a robust, flexible, and feature rich component to their Sitecore solution suite: Sitecore Experience Commerce (XC). Their latest release of XC has much to offer in the e-commerce realm. In this article, we will discuss a high-level overview of some of the out of the box architectural features in Sitecore XC 9.3: advanced technology, plugin architecture, and the rich set of business tools to manage your business.
Advanced Technology for the Future:
One of the greatest aspects of Sitecore XC 9.3 is how Sitecore has built the solution overall. With the rapid migration of monolithic architecture to micro services, Sitecore built XC with just this in mind. It uses Microsoft’s latest and greatest framework, ASP.NET Core. ASP.NET Core is Microsoft’s new open-source framework that features tremendous support from the Microsoft community to provide stability, support for a micro service architecture, and portability/containerization. Sitecore XC 9.3 has introduced an array of benefits from just ASP.NET Core, including:
- Does not need to be hosted in IIS
- Utilizes microservice based architecture (more on that later)
- A loosely coupled implementation that’s easy to debug as a console application
- Supports dependency injection, .json file configuration, and configuration caching
- Prepares for the future as .NET migrates to .NET Core
The second piece of technology that XC uses is Open Data Protocol (ODATA) messages. ODATA is an ISO/IEC approved OASIS standard which defines best practices for building and consuming RESTful APIs. Sitecore XC uses ODATA for all of its data exchanges. This means less focus on the architectural approach of the API’s and more focus on actual implementation of your business logic.
As defined by Sitecore, “plugin is a custom extension module used to modify or augment the standard behavior of a platform.” Sitecore XC 9.3 comes out of the box with numerous plugins for functionality of your business. What makes plugin architecture great is that rather than having tightly coupled, heavily dependent components, you are left with self-contained components that work asynchronously to complete the job. Some plugin benefits include:
- Loose coupling and self-contained code
- Speed: enables rapid development
- Isolation: plugins coexist without conflict following the Helix principles
- Flexibility: if your business needs a custom plugin, one can be built or use 3rd party ones
- Highly testable code
- Integration with current ERP/PIM systems
- Simpler debugging due to good code isolation
- Parallel development: features can be implemented in parallel amongst different development teams
Some plugins, that ship out of the box, include catalog, carts, coupons, orders, and fulfillment. Each of these plugins handle one responsibility, are easily extensible to cover any use case, and communicates with the commerce engine independently: rapid and controlled execution. However, the beauty of plugin architecture in Sitecore XC is the ability to create your own custom plugin or find one premade on the various 3rd party sources. For example, you can have your own custom plugin that calculates taxes if your business requires it. Or if you need a specific payment provider, you can build one to manage payments respectively and securely (payment plugins are not meant to persist data collection, don’t worry, Sitecore kept security in mind). All plugins connect to what is known as the Sitecore Commerce functionality, shown here:
Photo Source: www.doc.sitecore.com
A Rich Set of Business Tools to Manage Your Business:
Out of the box, Sitecore Experience Commerce provides eight unique business tools which are a business user’s interface for Sitecore XC’s primary components. Each consisting of its own unique dashboard to allow management of your business.
- Merchandising: This dashboard allows you to create and manage catalogs, categories, and sellable items — including product bundles. Catalogs are typically imported from an ERP or PIM but manual creation is also available.
- Inventory: This tool allows you to distribute sellable items that are independent from catalogs or categories. You can control all available inventory according to your business needs.
- Pricing: This business tool allows you to manage price book, price card, snapshots and tags for a sellable item. The list price of an item is set at the catalog level, and the sell price is what is shown on a web shop (what customer expects to pay for an item). This is also typically imported from an ERP but can be created manually.
- Promotion: With the use of this business tool, you are able to centrally define, approve, and apply a set of criterions to obtain benefits on the purchase of a sellable item.
- Orders: This business tool gives informative insight into all the existing orders in the Sitecore XC system. It can be used by customer service reps to cancel an order, place an order on hold, or release from hold. Orders are connected with customer information, allowing you to see order information from the Customer business tool defined below.
- Customers: You can use this business tool to add, search, or edit a customer’s details.
- Relationship Definitions: This business tool is only accessible by users with role of Relationship Administrator (a predefined role in Sitecore XC) and contains an area where upsell and cross sell relationships can be mapped from a higher level.
- Composer: This is also another feature only accessible to users with the Commerce Server Admin role. It allows you to create an entity view; which is then used to add custom property field(s) to a commerce entity (i.e. sellable item, catalog, etc.).
There you have it, some of the major upgrades and high-level highlights of advances Sitecore has made to deliver a one stop shop commerce solution. It is built to be fast and flexible due to ASP.NET Core, extensible and rapid development with plugin architecture, and equipped with a set of business tools out of the box to immediately provide usability for any business.
Sitecore Certified Developer