Installing the Dynamicweb B2B Solution for Dynamics Business Central

If you want to set up the integration on an existing Dynamicweb solution, chances are that you just need to install the Dynamicweb Live Integration Framework. Otherwise, follow these steps.

Dynamicweb can be hosted on-prem, in the Dynamicweb Cloud or other cloud providers like Microsoft Azure. The starting point for this guide will be an on-prem installation, as this is also very suitable for a local development environment. The value of being able to run Dynamicweb on a local development environment can only be underestimated, as it allows you to use your personal tooling for development and debugging etc., and you and your colleagues are not interfering with each other’s work. Also, this guide assumes that the solution will be using the Rapido frontend engine, for which we need to deploy a database as well as some files, that are not included in the Dynamicweb Installer. At a later point you can always deploy your application to a cloud hosted environment.

For hosting the solution in the Dynamicweb Cloud, you can order a solution through the Dynamicweb Service Desk https://doc.dynamicweb.com/service-desk.

Most modern workstations will be able to host a local development environment with reasonable performance, but if you choose to host the production environment on-prem, please make sure that you server complies with the hosting requirements listed on this page:

https://doc.dynamicweb.com/get-started/introduction/requirements/requirements-dw9#2171

For the installation we need to download the following files:

Download and unblock these files and unzip them to a directory of choice.

On this website there is a very extensive guide for configuring the hosting environment and installing the Dynamicweb platform covering the installation of the Microsoft SQL Server, IIS and of cause the Dynamicweb All-In-One platform. If you have never completed an installation of Dynamicweb, we encourage you to read this guide carefully to ensure that your environment is configured correctly.

https://doc.dynamicweb.com/get-started/introduction/installation/installing-dynamicweb

Otherwise you can skip down to the section about installing Dynamicweb. In this guide, we’re installing the application from the zip-file we downloaded earlier, but there is an option to install the Dynamicweb application from a nuget packet, which you may find more convenient if setting up a development environment. Otherwise, the steps for setting the solution up on the Internet Information Services (IIS) Manager in this paragraph will be adequate:

https://doc.dynamicweb.com/get-started/introduction/installation/installing-rapido

This will basically install an empty Dynamicweb solution with no database or templates, but for us to run the B2B web shop, we need to install Rapido 3.3. Installing Rapido requires the following tasks to be carried out:

  • Installing the database
  • Configuring a SQL login
  • Installing the Rapido files and templates
  • Configuring the database connection

The entire process of installing Rapido on a Dynamicweb application is described in detail in this article:

https://doc.dynamicweb.com/get-started/introduction/installation/installing-rapido

If all went well, you should now be able to access this beautifully looking web site, which is the Rapido Bike Shop demo:

This comes with a full dataset and fully configured web shop and checkout functionalities, which is ready for launch. Feel free to click around and have a look, because this is the last chance to see this product catalogue before we purge the product database and fill it with data from Business Central.

We want to clear all the tables in the database containing demo PIM and product data. We want to keep one shop, to which we will synchronize the data from Business Central:

  1. Right click on the database where you imported the Rapido database and select “New Query”
  2. Paste in the following SQL statement and hit the Execute button or Ctrl+Enter.
-- Products delete from EcomProducts -- Details, i.e. links and attachments delete from EcomDetails -- Hierarchy of shops, groups and products delete from EcomGroups delete from EcomGroupProductRelation delete from EcomShopGroupRelation delete from EcomShops where ShopId != 'SHOP1' delete from EcomGroupRelations -- Variant settings delete from EcomVariantGroups delete from EcomVariantsOptions delete from EcomVariantGroupProductRelation delete from EcomVariantOptionsProductRelation delete from EcomVariantGroupOptionPropertyValue delete from EcomVariantGroupProperty -- Category and property fields and values delete from EcomProductCategory delete from EcomProductCategoryField delete from EcomProductCategoryFieldGroupValue delete from EcomProductCategoryFieldTranslation delete from EcomProductCategoryFieldValue delete from EcomProductCategoryTranslation -- Product field options delete from EcomFieldOptionTranslation delete from EcomFieldOption -- Assortments delete from EcomAssortmentShopRelations delete from EcomAssortmentGroupRelations delete from EcomAssortmentProductRelations delete from EcomAssortmentPermissions delete from EcomAssortmentItems delete from EcomAssortments -- Orders delete from EcomOrders delete from EcomOrderLines

Dynamicweb will maintain an in-memory cache with a lot of data to increase the runtime performance both in frontend and backend. When we delete data in the database, the cache will remain. This will be flushed when recycling the application pool. If you already have the Live Integration Framework installed, please do so, otherwise it will happen when we deploy the Live integration Framework in the next step.

By now, we should have a Dynamicweb All-In-One platform with Rapido ready to receive some data and a Business Central ready to deliver some data. Next step is to bind the two together, which is the responsibility of the Live Integration Framework. This Dynamicweb add-on is the catalyst of the integration both in terms of scheduling batch synchronizations and managing live look-ups in Business Central. Currently, it is not shipped with Dynamicweb core, so it needs to be deployed separately. This is done simply by copying the Dynamicweb.Ecommerce.LiveIntegration.dll we downloaded earlier to the /bin directory of the Dynamicweb application. This will trigger a recycle of the application pool.