Traditional product configurators are client-server based applications that require a call to an application server after each user selection. The result is a slow, interrupted shopping experience – especially over slower Internet connections.
The drawback of client-side apps is that they may not be in sync with a server hosted product database. The product inventory database, for example, could constantly be updating on the back-end as consumers purchase items from a retailer. Imagine a large retailer like Amazon.com’s inventory database, for example, which changes every second as users make purchases.
To run on the client-side application, the content needs to be compiled into standalone bundles and deployed to the browser. Each time a vendor updates the product configurator data, the configurator dataset is recompiled with a corresponding bundle. Recompiling only takes seconds so the data model update process does not slow down the vendor.
Manually editing configurator data
Just as vendors update their online catalogs frequently, vendors can manually update product configurator data as frequently as they like via a data editing tool. After changes are made, the data file is uploaded into the version control system and the new build is deployed. In this case, the client-side configurator data is a stand-alone data set that is not associated with any real-time product inventory database. This approach works well for customization vendors that simply express inventory in terms of the sub-components of final product.
Automatic synchronizing with a product database
Data updates can be as simple as committing a file to the version control system and then sending an HTTP request to the server. Both of these steps can be automated. A script could be written to pull data from a database, format it as an data file conforming to the configurator’s data schema, commit it to the version control system, and then trigger the update on the server. Data could be updated automatically weekly, daily, hourly, etc. So, although there are two instances of product data, the two are easily synchronized via a script.
Historically, data maintenance of a product configurator has been a very difficult, expensive process. With a well-architected customization platform that separates data from the presentation layer and logic, data updates can be made frequently without any risk to the integrity of the application. Customization vendors need the ability to dynamically update product data frequently as they introduce new variations and phase out less popular options.