Author(s): Nilesh D Kulkarni* and Saurav Bansal
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.
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
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).
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.
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].
Three platforms that can potentially allow to build such configurator were considered and compared
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.
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.
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.
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 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
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.
Enterprise Service Bus; Oracle SOA to integrate with internal systems to exchange data between salesforce.
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:
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.
Web portal pulling data directly from Heroku data Hub, replacing current On-Premise SQL Server Integration database.
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 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
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.
A B2B portal acting as a broker to allow access into the custom application built on the salesforce
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
This layer hosts the canvas app within the salesforce with the wrapper of a web application built using ASP.NET MVC.
User Record level permission, profile, sharing settings, record level permissions to ensure the access to the appropriate user group.
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.
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.
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
Holds the key information like products, pricing, configuration rules etc.
Customer Service Reps uses AD Federation via Okta to connect into Salesforce
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].