It seems like you're using an older browser. Things might not work as expected.

Storefront Dynamics online channel publishing

Storefront Dynamics is an e-commerce solution that moves Dynamics 365 for Finance and Operations, Dynamics 365 for Retail, Dynamics AX 2012 R3, or Dynamics NAV 2018 with LS NAV into the web sites of Episerver CMS and makes for using features configured in Dynamics ERP on the web shops. All business logic configured in Dynamics ERP is available in the web sites using Dynamics Retail Server, Commerce Runtime or LS Omni server depending on ERP version. Dynamics handles all business logic regarding customers, assortments, catalogs, prices and discounts.

Dynamics business logic is used during the shopping experience in several cases. When an article is displayed on a product page, the business logic calculates the price. When the visitor adds articles to the shopping cart, price and discounts are calculated, and the cart itself is entirely managed by Dynamics business logic.

Finally, when the visitor creates an order, the Dynamics business logic is used to manage the checkout flow. The checkout includes cart editing, selection of delivery methods, selection of payment methods and the payment transactions created, and the last step of creating an order. The new order is created by Retail Server and is ready to be converted to a sales order.

Storefront Dynamics imports the products and navigation defined in Dynamics ERP for an online retail channel into Episerver catalog and loads the search engine used by Episerver with the information. The web site then uses Episerver and the search engine for instant access to the information, optimized for high performance, and renders the web site on demand. The navigation and the pages are filtered and loaded with information.

Storefront 365 - Avensia Storefront Connector, Overview.png
Using Storefront Dynamics Integration Framework means using a solution that uses the features of Dynamics ERP for both integration and e-commerce publishing and uses all business logic from Dynamics ERP in the online retail channels. The solution does not require any customizations and has no limitations of any of the platforms to publish the online retail channel information defined in Dynamics ERP.

Storefront Dynamics uses the Dynamics Retail Server, Commerce Runtime or LS Omni server depending ERP version to read and act on the channel publishing. Storefront Dynamics is using the standard services of Episerver to import the channels. Storefront Dynamics doesn’t impact any of the installation or the business logic. Storefront Dynamics Integration Framework uses Microsoft Dynamics business logic and Episerver Commerce to manage all integration and publishing.

The requirements of the channel to be published are defined by Dynamics ERP. Storefront Dynamics has no requirements on the rules to publish channels.

Dynamics 365 for Finance and Operations and Dynamics 365 for Retail

In Dynamics 365 for Finance and Operations and Dynamics 365 for Retail is the channel database hidden behind the Retail Server. Synchronization between the headquarter and channel database is an internal task of Dynamics 365. All publishing logic in Storefront Dynamics Integration Framework uses the Retail Server for publishing the online channel.

Dynamics AX 2012 R3

In Dynamics AX 2012 R3 the channel database is accessed by the Dynamics Commerce Runtime library. Synchronization between the headquarter and channel database is a task of Dynamics ASynch Service. All publishing logic in Storefront Dynamics Integration Framework uses the Commerce Runtime for publishing the online channel.

Dynamics NAV

In Dynamics NAV with LS NAV the channel is accessed by the LS Omnie Server from LS Retail. Synchronization between the headquarter and channel is a task of LS Omni server. All publishing logic in Storefront Dynamics Integration Framework uses the LS Omni server for publishing the online channel.

Storefront Dynamics Integration Framework

The integration framework shipped with Storefront Dynamics is a generic integration engine created for high-performance integration between one data source and one destination. The connector is fully customizable if any special requirements need to be added to the integration workflow. The connector architecture uses well-documented interfaces to let any developer add, remove or change the connector. The connector is executed as two jobs in Episerver and is always running in the Episerver context.

Storefront Dynamics Integration Framework is by default configured to publish an online retail channel defined in Dynamics ERP and import the channel and product catalog information into Episerver to be used by the extensive CMS and commerce features of Episerver.

The integration components

Storefront Dynamics is executed as two jobs in Episerver context. A job executes a module. A module is created for an overall purpose, like “Publishing an online retail channel to Episerver”. Developers can create new modules to extend the integration functionality.

A module executes one or more task. Tasks are executed as a sequence. A task performs one or more step. Steps are also sequentially executed. The Storefront Dynamics integration framework is shipped with two predefined task types; the Pipeline-task and the Step-task. Developers can use the framework supplied with the connector to develop tasks of their own.

Pipeline task

The default pipeline-task is a task with five predefined steps that are executed synchronized. The pipeline task is used to read information from a source, validate and patch the information, and then write it to a destination. In Storefront Dynamics integration framework, the pipeline task is used to read staged information and write the result to Episerver Commerce. The interfaces used in a pipeline task are defined to send information from one step to the next.

Step task

The step task is used to perform one or more steps in a predefined order. The main difference between the pipeline task and the step task is that the step task does not deliver any data to the next step. Every step in a step task is executed without any data transfer between the steps.

The Integration Framework jobs

The two jobs that make up the integration framework of Storefront Dynamics are:

  • Staging. The staging job queries Dynamics business logic for changes in the online channel. The changes are read and staged as generic JSON objects in a SQL database. The staging also sets the online retail channel Publishing Status to Published in Dynamics ERP.
  • Catalog Import. The catalog import reads the staging database and imports the objects into Episerver as objects matching the data model used in Episerver.

With two separate jobs, the integration framework is prepared for:

  • Dynamics Version. The staging decouples the catalog import from the version of Dynamics ERP.
  • External assortments and PIM. The staging database decouples Dynamics ERP from the catalog import. The Staging Database is available for 3rd party software to add and extend the information that has been fetched from Dynamics ERP before it is imported into Episerver.

Tasks of success

The Storefront Dynamics Catalog Import Module is divided into five tasks where a well-documented interface defines each task.
By customizing the five steps in the integration workflow, the connector is used for any integration tasks. Every step is defined by a well-documented interface that a developer can implement into assemblies that can be hooked into the connector to extend or replace the workflow delivered as a standard workflow.

The tasks are Pipeline task where information flows from the reader through the data validation and manipulation steps to the writer. Each step adds, removes or changes information depending on the system requirements. Storefront Dynamics is shipped with an integrated workflow that reads from one published retail online channel in the staging database and writes the information to corresponding components in Episerver so that the online retail channel defined and administered in Dynamics ERP is published in Episerver. The connector uses components supplied by Dynamics Retail Server and Episerver and adds the three steps between reading and writing for system specific mappings needed.

Business processes - Avensia Storefront Staging.png

Business processes - Avensia Storefront Catalog Import.png

Read

The reader reads information from the stage model that is used in the rest of the steps. The stage model ensures that an import to Episerver can be performed and repeated to all instances without requiring any efforts in Dynamics ERP nor affecting the channel database.
The publishing event triggered by Dynamics ERP is completed before the integration steps are started, to ensure short response time when publishing a channel, and to ensure no impact on Dynamics ERP. The reader may be customized to read from another data source or to read from more than one data source if data aggregation between several systems is necessary.

Validate

In the validation step, all information read for a channel is validated. The validation includes validation of mandatory data, data type validation and cross-reference validation. It includes product information, navigation, pricing and customers. This step is a candidate for customization where business specific validation is needed.

Transform

Transforming information means that the information read for a channel is converted into another format or adjusted to fit any specialized requirements. Transformation also includes the mapping of data between the systems.
In the default installation of the integration framework, the information is transformed from the product data model with dynamic attributes into the data model of Episerver. Product information includes navigation hierarchies, metadata and assets.

Patch

Information often needs to be extended with related information and information references. In the patch step of integration, the information is extended to add feature-specific information. It includes operations such as the generation of identities, URL for images and resources maintained in external systems, extending the search index used by the search engine to enable fast lookups, filtering, and merchandising.

Write

The next step is to write the result to a data target. The default installation of Storefront Dynamics writes the result to one Episerver instance. The writer uses the standard integration API provided by Episerver to create the navigation and assortment of the channel in the Catalog hierarchy of Episerver.

Report

The last step of the catalog import is the reporter task. The reporter updates the stage objects and reports the result of the import. The reporter can be extended to include any customized destination.
Every step uses trace listeners that are fully configurable. New listeners can be added, and existing listeners can be configured or removed. A listener listens to a certain level of logging – errors, warnings and verbose. Verbose is used when tracing execution and data transfer and is also used when debugging. Each listener has a log destination. Listeners are configurable to use Azure Application Insights.