ISSN: 2754-6659 | Open Access

Journal of Artificial Intelligence & Cloud Computing

Design Approach for Highly Configurable Web Configurator & Ordering Platform

Author(s): Nilesh D Kulkarni* and Saurav Bansal

Abstract

This paper describes the creation of an online web configurator for a leading cabinet manufacturer's customizable product. It focuses on the challenges of integrating with an existing ERP system capable of handling 5 billion configurations. The project explored options between purchasing a platform and building a custom solution, eventually opting for a JSON Editor-based approach. The paper details the technical architecture, including B2B portal integration, authentication, and security protocols, highlighting the complexities of replicating an extensive ERP configurator in a web-based environment.

Introduction

One of the leading cabinet manufacturing brands wanted to evaluate, select, design and implement an online quoting and ordering system for very highly customizable product range. With below high-level requirements from the platform:

The desired user (dealer/designer/customer service/sales reps) will originate the ordering using an online portal where the user identity, specifically the email address, the account numbers and associated with the brand details against which a user can place online orders.

Brand and accounts available for enter is prepopulated for selection based on user permissions. The user will select the brand and account which the order should be placed under. In addition, the user will populate (OR in some cases will be pulled from the underlying database) information such as shipping location, Purchase Order number, contact name and information for the order. The user will then begin to enter the product information based on the brand selected by the user.

Global (sometimes referred to as product header) product information screen is presented based on the brand. This information will apply to every cabinet on the entire order, such as finish, door style, wood species, etc. The fields for selection should be presented to that user based on the information available within the ERP system supporting highly configurable product with around 5 billion possible configurations with below capabilities that should be available on the web configurator

  • Dynamically integrating with ERP to find the correct product’s global information, suggestions of products when entered partially
  • Driving the next selection of product information from the previous selection. such as Product Line = “Aurora”, therefore “Ashby” door style is not an accurate/available selection.
  • Selection of static, simple global information from database tables/ERP System based on the ERP capabilities
  • Batch updates from source system one time per day
  • Validation of selected product configuration data being entered correctly
  • Realtime validation of product configuration rules

The process for selecting line-item data will mirror the functionality used for product header data selection. Each line item, such as cabinet modifications, will offer different selectable options depending on the user's customization needs. These modifications, unique to each cabinet, may have varying availability based on prior choices. It is important that each modification is validated upon entry by integration with ERP, ensuring both accuracy and the provision of correct pricing reflective of the valid data chosen.

Upon successful entry of header and line items, the system shall provide the user with an option to generate and print a PDF quote. This PDF quote, serving as a branded marketing tool, will be available for designers to discuss with consumers. The system must save this quote indefinitely, allowing the designer to reuse it or create new quotes for different customers as needed. This feature should support both the retention and management of multiple quotes per designer

The system must allow designers the option to attach additional documents at any point before finalizing an order. This functionality should enable designers to upload attachments post-order header entry and even after line-item information entry and validation.

Attachments may include, but are not limited to, color samples and sign-off documents. The attachment feature should be flexible, accommodating attachments at various stages of the order process.

The designer should have an option to place one order directly from the tool, referred to as Kitchen-At-a-Time (KAT).

Problem Statement

The complexity of the application stemmed from the need to replicate the intricate configurator of the ERP system. This ERP configurator, highly customized and developed over three years with a 50-member team, manages over 100,000 configuration rules. Annual product updates or new launches require extensive rule revisions, making testing both new and existing configurations a time-intensive task, often stretching to three months. Creating a web equivalent of this configurator would demand considerable time for development and testing, leading to redundancy in maintaining two large, complex systems. A critical decision in this process was choosing between building or buying the solution, balancing long-term value against the risk of incurring organizational debt.

Buy a Commercial Off the Shelf Software

Option 1: Buy a platform that natively provides the configurator capabilities and work in conjunction with the legacy style ERP system. Three BPM software platforms were evaluated. A Business process management (BPM) is a discipline that uses various methods to discover, model, analyze, measure, improve, and optimize business processes. The Gartner magic quadrant from Oct 2016 shown in the Figure 1 [1].

img

Three platforms that can potentially allow to build such configurator were considered and compared

Pega

Pega 7 is a rules-driven “Digital Process Automation” platform that combines a patented enterprise rules and process engine with tools for developing, deploying and evolving enterprise-wide business process applications addressing the CRM, BPM, Analytics, AI and Case Management needs of the enterprise through its core offerings.

Appian

Is an industry leading “Digital Process Automation” platform that can drive faster development of customer-focused data and process management, analytics, mobility, social collaboration, and cloud-based applications. Appian can deliver a modern, powerful, yet business-friendly platform with its BPM & Case Management driven low-code capability for accelerated transformation combined with its other digital capabilities including an enterprise grade cloud offering.

K2 Blackpearl

Is a business process application platform helps transform businesses by boosting productivity and increasing operational efficiency-from anywhere, at any time. K2 workflow software provides business process management and automation through digital forms, workflow and reports, along with its integration technology.

img

Build a Custom Application

Building a new system on a custom web platform was one of the option, but still it will take longer and can be cost prohibitive as well. The building completely custom configurator should provide business a competitive advantage [2].

Salesforce & Cloud Craze Based Architecture

Salesforce based system by using a native salesforce recently acquired product called Cloud Craze. Salesforce B2B Commerce, commonly known as Cloud Craze, is essentially a branch of Salesforce Commerce Cloud that helps businesses following the B2B marketing approach in recording, storing, tracking and analyzing valuable data. It facilitates an array of e-commerce activities and facilitates smooth and systematic order management. Cloud craze can configured to meet the complexity of the order management.

Comparative analysis of the two architecture was done and level & degree of customization was identified as shown in Figure 3

img

Salesforce Based Application Architecture

Defining an architecture which is completely native to Salesforce and provide a capability to offload the data handling using Heroku in memory data caching.

Salesforce Communities Cloud offers an interface for external customers and partners to engage with business processes. It provides easy-to-use, out-of-the-box functionality, enabling access to a subset of features from the organization's Salesforce environment. This solution is a cost-effective licensing option, allowing customers to utilize limited Salesforce capabilities, streamlining the customer experience within the Salesforce ecosystem.

Heroku serves as a cloud-based data hub, primarily using Postgres, for storing, retrieving, and sharing data and objects between Salesforce and internal systems. It's also a platform for developing new applications, enabling database sharing between internal systems and Salesforce. Additionally, Heroku facilitates the storage of organizational data in the cloud, making it accessible for integration with Azure Data Lake.

ESB

Enterprise Service Bus; Oracle SOA to integrate with internal systems to exchange data between salesforce.

ERP eWebService

Exposes the Frontier production configuration in JSON format to allow Quote tool to interface with Frontier > 3.3 systems. The figure 4, shows the various components with the description below:

  • Seamless Integration for Web portal User(s) to use configurator tool build on Salesforce-communities.
  • Customer Service and Sales team access Salesforce Service cloud to see 3600 view of customers.

Heroku Connect

Connector utility to bidirectional sync the data between Salesforce and Heroku data store.

To pull the data from Heroku data store and make it available to Salesforce as external objects.

ESB

  • SOA Connector to pull the legacy style data (ERPs) to be pulled inside Heroku Postgres.
  • Connector between Internal systems and SOA to pull data from Internal systems (ERPs).
  • Connector to allow data pull/push data from/to ERP Systems to Heroku Postgres.

Future State

Web portal pulling data directly from Heroku data Hub, replacing current On-Premise SQL Server Integration database.

img

Composite Design Approach

One of another major consideration was available skill set within the organization as well as the application was required to be integrated with Salesforce service CRM to ensure the seamless order management by the customer support teams. The ERP was able to provide the configurations in the form of a complex JSON, for every configuration request based on the previous change ERP was able to send the product configuration using JSON data structure. These few new understanding led to the further research on a web framework that can build a web page based on the JSON. After various research on the custom framework was conducted and one of such promising frameworks was identified.

JSON Editor

JSON Editor takes a JSON Schema and uses it to generate an HTML form. It has full support for JSON Schema version 3 and 4 and can integrate with several popular CSS frameworks (bootstrap, foundation, and jQueryUI).

To experiment with the JSON editor basic capabilities an JSON mapping between each field and associated hierarchy within the JSON was very carefully identified as shown in figure 5. Many modifications was done in the JSON editor to fulfill the need of the web configurator. After few iteration, the custom JSON editor was able to consume the JSON input from ERP and build a web configurator screen on the fly

img

Technical Architecture

The figure 6 shows the technical architecture with the inbuilt security, interfacing applications and how the data between the systems was moving. The detail explanation of the architecture as below.

img

Web Portal

A B2B portal acting as a broker to allow access into the custom application built on the salesforce

OKTA

Allows Salesforce to authenticate a Web portal user using Okta as a IDP. The Trusted application authentication broker with OAuth 2.0 Security FW in use with user email acting as a Federation ID

Salesforce

This layer hosts the canvas app within the salesforce with the wrapper of a web application built using ASP.NET MVC.

Salesforce Data Security

User Record level permission, profile, sharing settings, record level permissions to ensure the access to the appropriate user group.

Canvas App Web Component

A hosted .NET wrapper ASP.NET application, with the embedded custom JSON editor within the web app. This layer is behind firewall & Barracuda NLB. URL exposed within public network with SSL bases security, SHA2 Encrypted User Id and Password for authentication and protected to be accessible to Salesforce community using a Signed Request. This component is also designed to support REST oData exchange between Salesforce - ERP Web Services.

Web API Server Component

This component is responsible to call ERP Web Services hosted within the data center, and act as a secondary protection against the publicly open web component. This wrapper server component is interfaces with the ERP system and perform the GET/PUT/POST operations by calling the ERP APIs. In response to the REST requests the ERP returns 1.2 million lines of the JSON, which is then rendered by the custom JSON editor to show the various web elements on the web form.

ERP Web Services

Hosted within private data center and accessible to organization internal IPs; and Salesforce Whitelisted IPs. This resource is also protected using ERP Authentication and SSL (Cert) based security on Barracuda NLB

On Premise ERP Systems

Holds the key information like products, pricing, configuration rules etc.

Okta AD Federation

Customer Service Reps uses AD Federation via Okta to connect into Salesforce

Conclusion

The paper discusses the development of an online web configurator and ordering platform for a leading cabinet manufacturer's highly customizable product. It outlines the requirements for integrating with an existing Enterprise Resource Planning (ERP) system, capable of supporting around 5 billion configurations. The platform needed to offer dynamic ERP integration, product suggestions, and real-time validation of product configurations. The complexity of replicating the ERP's configurator, which took over 3 years and a large team to implement, posed a significant challenge.

The paper explores various options, including buying a platform or building a custom solution, and Technical solutions included using a JSON Editor for dynamic webpage creation and a comprehensive architecture involving Salesforce, Heroku, and various security protocols. The eventual decision to use a JSON Editor for building a web page based on JSON inputs from the ERP. The technical architecture is detailed, involving components like a B2B portal, Okta for authentication, Salesforce, and various security and data exchange protocols.

The final system design approach streamlines order management and enhanced customer service capabilities, showcasing an effective blend of existing ERP functionalities with modern web technologies [3].

References

  1. Dunie R , J Hill (2016) Magic Quadrant for BPM-PlatformBased Case Management Frameworks. Gartner https:// www.gartner.com/document/code/276724?ref=ddisp&refv al=276724.
  2. Chieruzzi, May (2021) Build vs Buy: The 6 steps framework to avoid disasters. Divbyzero https://divbyzero.com/blog/build-vs-buy.
  3. JSON Editor (2018) Git Libraray https://github.com/jdorn/json-editor.
View PDF