Integrating SAP with a commerce website
For a business to have a successful commerce website, the website needs to be responsive, accurate and reliable. The goal is to have all pages display in one second, adding a product to the cart should only take 1 to 3 seconds and submitting the cart and displaying the confirmation number should take less the 5 seconds. Ideally everything should take less than a second.
When a company wants to sell products online, the company will want to calculate the order price, validate the order, submit orders and track the order status. The company will want to have this done using the company ERP. A large percentage of clients are currently using SAP as the company ERP.
When grabbing pricing data from SAP the page should be displayed without the pricing data. The browse will initiate a request after the page is loaded to pull the pricing data. This is because on average the SAP will be able to return pricing data in a few seconds for about 200-300 products per customer. By having a separate request the pricing data will not slow down how fast the page loads. The pricing data will automatically display after it is generated. The pricing should be cached for each product and customer. Also, the pricing data should be cached for at least a hour. Ideally the pricing data for each customer is generated and cached during the users login process.
During the checkout process the cart should be validated. During the validation the selected products will be checked to make sure the products are in stock. In addition, during the validation process SAP will verify if customer is allowed to purchase the product. Ideally to validate the cart the order will be sent to SAP and simulate the order. The validation of the cart is time intensive and should be completed only a few times while completing the order. It is best to validate the cart when adding a product to the basket, in the checkout flow, and during the final submit of the order.
If a company sells more than 10 products it is very important to have a well designed product search. The product data should be pulled from SAP and stored in the commerce database. Additional marketing content should be entered into the commerce database. The data should indexed in a search engine like ElasticSearch. The search engine stores the data to allow the ability to quickly filter and search for products. If you require to restrict products you can use a blacklist of product ids when querying the search engine. When pulling the product data from SAP it is a good idea to try to pull the product attributes and include them in the search indexes, this will allow you to create facets search. Facets search allows you to search against specific product attributes. An example of facet search is the ability to search for all bolts that have a length between 2" to 4".
The above practices explain why SAP integration with a commerce website is beneficial. With proper planning the integration will allow the website to be responsive, stable and accurate.