Loading Form...
Thank you! The form was submitted successfully.
Sep 18, 2020 | 8 minute read
written by Anatoli IIakimets
In a previous article, we discussed what Composable Commerce is and why it is essential for businesses to adopt. In short, brands that prioritize infusing digital throughout their entire strategy need a commerce framework that empowers them to seamlessly build, deploy, and optimize experiences. Composable Commerce is a new approach that gives digitally-driven brands back control so that they can keep up with customer needs and outpace competitors.
In this blog post, we will discuss the considerations to take when building and deploying a commerce solution and uncover the strengths and weaknesses involved when composing solutions with a rigid legacy system, a MACH-based architecture, and a true Composable Commerce framework.
To illustrate how composition works, we will use search integration as an example. For the business to increase conversion rates, it needs to ensure that customers can easily find what they are looking for. To deliver search capabilities, you can use one of the many search providers that match your business needs, including Algolia, Swiftype, Coveo, Elasticsearch, and many others. For illustration purposes, we will use Elasticsearch, a well-known player in the search engine market.
Below is the high-level outline of the use-case we will be discussing.
Now we will go in detail through all the steps required to compose a commerce solution and take a look at the questions which need to be asked at each step. After that we will discuss the composition process in the context of legacy commerce software, MACH commerce software and Elastic Path. And we will do this using real life examples and code.
This step includes the deployment of both commerce and search software, and there are several important considerations which need to be taken into account:
This step can take a lot of time and effort, depending on multiple factors:
This final step is critical because it ensures that the overall solution operates as intended and delivers business value.
The more interaction points between the two applications, the more complex the integration process will be.
Overall level of effort required to compose a commerce software depends on its capabilities, architecture, extensibility model and many other aspects.
Composing a best-of-breed solution with a legacy platform can be a challenging task due to several factors:
While the steps required to compose an end-to-end solution with a legacy commerce platform remain the same, they usually take a lot of time and effort:
If you are integrating two or legacy software applications, the challenges listed above have a multiplicative effect. On top of that, over time, custom integrations reduce the maintainability of the platform. Also, solution upgrades can become an issue requiring an implementation project.
There is a new approach to commerce software that relies on MACH architecture: Microservices, API-first, Cloud-native, and Headless. One example of MACH technology is commercetools. MACH architecture allows us to avoid many challenges associated with the legacy architecture to accelerate speed-to-market. For this blog post, we will take a look at what steps are required to do the use-case outlined above with commercetools.
CTP_PROJECT_KEY = myproject
CTP_CLIENT_ID = C0FFEEC0FFEEC0FFEEC0FFEE
CTP_CLIENT_SECRET = 133T133T133T133T133T
CTP_API_URL = https://api.{region}.{cloud}.commercetools.com
CTP_AUTH_URL = https://auth.{region}.{cloud}.commercetools.com
Using AWS in this case:
Your Lambda function should do the following:
Determine the public URL of your queue and configure CT to send product events to that queue.
You can integrate Commercetools with Elasticsearch without significant problems, but it will still require time to write all the necessary scripts and functions. More can be needed to execute this, depending on the integration complexity and the nature of integrated software.
Now we will take a look at how you can implement the same use-case with Elastic Path using a Composable Commerce framework.
Whenever a new product is configured in a product catalog or a product is changed, Elastic Path creates a business event. This event is sent to the webhook, and the event is processed by the Lambda function, which then passes the product data to Elasticsearch so that the product can be searched in the future.
The steps to compose a solution with Elastic Path and Elastic Search are straightforward and are executed using the following script:
A truly Composable Commerce provider, like Elastic Path, provides you with all the benefits associated with MACH architecture and goes beyond it by bringing:
While the overall integration process is similar for Elastic Path and commercetools there are specific differences in implementation of the use-case, which are highlighted in the table below. The most important difference comes from the fact that Elastic Path provides you with more than just microservices, that can be consumed via APIs like commercetools, but also bundles functionality into Packaged Business Capabilities and Accelerator Packages that contain all assets necessary for development.
This saves you valuable time by eliminating the need to "re-invent the wheel", simplifying development and accelerating deployment and future optimization for a composable solution.
You can check out the Accelerator Package for the search integration we walked through here.
Learn more about how Elastic Path Commerce Cloud can help you to deliver a unique experience at speed.