The lifeblood of DemandCaster is data. To that end, DemandCaster is built with an integrated data management service that securely extracts, transforms, and loads data from your ERP system or data source to the DemandCaster application located on our secure servers.
There are two components to the DemandCaster Data Management process:
- Data Connector: Connects to any application or data source.
- Data Hub: Data transformation and load into DemandCaster and when applicable load data back to on-premise or cloud application.
Most on-premise applications are typically kept behind a firewall, with no direct access via the Internet. To handle this requirement, the DemandCaster Data Connector is a lightweight 75 MB platform independent package, which consists of a Java Virtual Machine, various JDBC drivers, a JDBC-ODBC bridge driver, and the Java based Data Connector application. It runs as a Windows service on a workstation or your server and serves as the communication link between your application and DemandCaster. No changes to the firewall are required. The Data Connector supports a full bi-directional (if selected) movement of data in a normalized XML format via HTTPS between your data sources and DemandCaster.
An administrator account is assigned to your database administrator to allow access to the Data Hub where the Data Connector credentials are located.
Prior to installing the Data Connector, the following information is entered into the DemandCaster Data Hub:
Connection string (IP, database instance name, database name) and database account credentials (username and password). The password is encrypted and not available to view by any DemandCaster personnel. The Data Connector is then downloaded to the location where it will reside, installed, and started.
Upon completion of the Data Connector installation, we are only able to work through the data connector via SQL queries that are written and stored in the Data Hub. We are not able to log into your server or gain access to your network without you working with us. The only way we would be able to get access independently is if we were provided a remote desktop connection.
As a further security measure, you can limit the Data Connector to read only and provide it access to only certain data tables. This can be controlled via the database login credentials you provide. Blackout periods may also be included to prevent the Data Connector from communicating with the Data Hub during certain times when maintenance processes are running for example.
Additional detailed information related to the data connector is covered in the article Setting Up the Data Connector
As stated above, the Data Hub contains all the SQL queries necessary to extract and transform your data into a format that may be analyzed by DemandCaster. All data formats are supported, including XML, EDI, flat file, and varying database formats i.e. MS SQL, MySQL, Pervasive, Oracle, or Access to name a few.
The Data Hub may be scheduled to run an extract per a schedule or on demand as needed.
The Data Connector pings the Data Hub periodically i.e. every 300 seconds to know if there is a new data extraction scheduled. If a new extraction is scheduled, the Data Connector grabs the SQL queries from the Data Hub and starts extracting the required data and sending the data in chunks via https back to the Data Hub for transformation. It is important to note that the Data Connector will always initiate the connection and there is never 'pushing' of data from the Data Hub to the Data Connector unless otherwise specified i.e. reverse ETL.
The Data Hub has the option to also send analyzed data to another application or back to your ERP for purchase order or job processing. If required, DemandCaster may also send calculated forecasting, safety stock, and reorder point data back to your ERP to run MRP directly in the ERP as opposed to DemandCaster.
After the Data Connector is deployed behind the firewall, the Data Connector will continuously be in contact with the Data Hub for 'tracking' and 'status' information. No inbound firewall ports need to be opened in order for the Data Connector to communicate with the Data Hub as all communication is initiated by the Data Connector to the Data Hub. The following communication information is recorded in the Data Hub:
- Online Status - the Data Connector will communicate on an ongoing basis with the DemandCaster Data Hub to indicate its status. The Data Hub will know in near real-time if the Data Connector goes offline for any reason.
- Data Connector Updates - the Data Connector is automatically updated as new versions are released.
- Error Details We log the communication between the Data Connector and Data Hub. If there are communication issues a detailed error message explaining what the error was and what caused it to fail.
When the Data Connector initiates the connection to the Data Hub, the Data Connector uses a GUID which authenticates the Data Connector to the Data Hub. At the beginning of an SSL session, an SSL handshake is performed using DemandCaster SSL Certificate. This handshake produces the cryptographic parameters of the session. All communication from the Data Connector to Data Hub uses SSL 128 bit encryption. All outbound communication from the Data Connector to Data Hub is HTTPS, port 443.
In case there is Windows Authentication used for the SQL Server then there is no account credentials stored in the Data Hub and transferred over internet. Only the Data Connector is authenticated by the SQL Server based on the windows account the Data Connector is installed / setup with as Windows Service.
In case there is SQL Login – it is stored in Data Hub’s database encrypted via AES algorithm in the .NET Framework (http://msdn.microsoft.com/en-us/library/system.security.cryptography.rijndaelmanaged.aspx). At run time it is decrypted and passed via HTTPS to the Data Connector.
Additional information related to the data hub is covered in the article Uploading Data Using the Data Hub
Data Hub and Data Connector Information Flow
The image below describes the flow of information between the DemandCaster Data Hub on the DemandCaster server and the Data Connector on the client server.