QXchange Architecture

QXchange is architected for robustness and ease of use. The use of profiles allows the preservation of integration instructions and reuse. The user interface is largely designed to be a profile manager to manage the setup of these instructions.

The different data formats and application types are segregated from the core application and made into plug-and-play modular entities called Data Access Plug-ins (DAP). Internally the DAPs understand the unique nature and constraints of the particular application or data format, but the DAP presents a similar interface back to the engine and the user interface. This minimizes complexity for the user. It also allows the easy addition of additional DAPs to the system.
The execution engine is the controlling entity for the entire tool. It uses the profile as the instruction set and calls on appropriate modules to execute the data integration tasks. The execution engine has three sections, extraction, transformation and loading . Extraction and Loading can both call on the DAP modules to access the specific data format into consideration. The transformation module can use the Data Conversion Plug-in to do additional data conversions than were already available in the tool. An internal staging data set is used for data conversions.

A scheduling module allows the selection of a single or a set of profiles to be executed at a specific time, in addition to on-demand. Scheduling can be one-time or recurring.
Features Description

Extraction module allows the specification various data sources.

Transformation Transformation allows the conversion of various data items.

Loading module allows the creation or update of output data items.


ETL instructions are coded and saved as profiles for re-execution.

Data Access Plug-ins

QXchange supports access to many different data formats. These data formats can be types of files (fixed length, comma, semicolon, TAB delimited), type of database (Access, MySQL) or type of application (QuickBooks). For every data format supported, there is a separate component called a Data Access Plug-in (DAP).


Profiles can be established to run at specified times. Scheduled processes can be recurring. Multiple schedules such as daily/weekly can be set up. Scheduling is integrated with Windows Scheduler.

Process Logging Process execution is logged for review.
Error Logging

Errors during the ETL process are logged. At the end of the process, the errors can be reviewed.

System Variables

System variables such as $Current Date can make available system level values for the profiles. These values can be set by the user as well. These variables can be used as part of the transformation process and can affect target data items. These variables can be also used in source filter expressions.


This is an on-premises application and runs within the customer firewall.