An integration project is a fairly complex operation, which requires a dedicated effort to be kept on track and on time – and constant cooperation between the Dynamicweb-side and the remote side of the project.
As outlined in the Intro & Features article, the integration data-flow can be boiled down to the following:
- The Dynamicweb solution makes a request for data in XML format
- The request is relayed to the remote system by the Dynamicweb Connector service
- The plugin/code unit reacts by extracting data from the remote system
- The data is wrapped in an XML format understood by Dynamicweb (or - for passive plugins - returned as is, and transformed using XSLT on the Dynamicweb side)
- The XML is returned via the Dynamicweb Connector service to the Dynamicweb solution as a response
To make that process possible, three things need to be in order:
- The Dynamicweb solution must be configured to request and receive the right data
- The Dynamicweb Connector service must be able to reach both the remote system and the Dynamicweb solution, and must relay the requests and responses correctly
- The remote system must be able to react to the requests, and must return the data in the correct XML format
The order of operations when it comes to configuring the three components can vary on a project to project basis, depending on who has access to which environment, how complicated the data architecture is, how much customization is required, and so on.
In general, however, the following approach is recommended:
- Phase 1: Installing the Plugin
The first step of any integration project is to install and configure the plugin or code unit in the remote system, so it can be queried and return data.
- Phase 2: Install TestTool & Connector Service
The second step of an integration project is to query the remote plugin using the Dynamicweb Connector TestTool. The product of this will be a set of XML files and requests, which the Dynamicweb side needs to get to work. Once the XML data has been delivered to the Dynamicweb side, the Dynamicweb Connector service must be installed and configured. It acts as a bridge between the Dynamicweb solution and the remote system.
- Phase 3: Configure the Dynamicweb solution
As soon as the XML files and requests from phase 2 are ready, the Dynamicweb side can use the sample data to create the initial import jobs, and develop against real data – which is a critical component for delivering the project on time and on target.
Completing phase 1 to 3 is only a part of the project, however. Once the connection has been established you may have to devote significant resources to tweaking the integration – almost enough to call it phase 4.
This typically involves reviewing the quality of the data returned, handling custom data on both sides of the integration, and cleaning up dirty data.
Once you have the basic connections set up, it’s time to think about which features to import first – this is a necessary step since some features are dependent on each other.
This is the recommended order:
- (Step 1: Languages)
- (Step 2: Countries)
- Step 3: Product Groups
- Step 4: Products
- Step 5: Product stock
- (Step 6: Currencies)
- (Step 7: Manufacturers)
- (Step 8: Units)
The bracketed steps – 1, 2, 7 & 8 – can often be left out, either because it’s easier to e.g. manually create languages directly in Dynamicweb instead of importing 200+ from the ERP system, or because they are not used everywhere (7 & 8).