What motivated us to develop FlowHeater?
We thought that all the existing tools and products available on the market by the major software suppliers are far too complicated, requiring a plethora of configuration settings and are far too ponderous to quickly transport data from one place to another and easily perform conversions on the fly.
With FlowHeater you only have to download the ZIP archive and unzip it, no installation is necessary. FlowHeater is completely usable without a setup, however an optional setup is provided in the unzipped folder if you wish to use it. After a short induction, and with the guidance of some comprehensive examples, you will soon be able to perform complex transformations as you run imports and exports of your data.
In order to avoid the pitfall of producing just as ponderous a tool as all the others, when we were initially developing FlowHeater we decided to avoid the complexities of XML / XSD / XSLT / XPath and similar techniques. In FlowHeater, XML is solely used for storage of the transformation definition. The aim of FlowHeater is to offer a simple and uniform way to transfer data from one place to another, providing a simple graphical user interface to define the modifications specific to each data target. No programming knowledge is required to use FlowHeater.
When a Definition set is run, the Adapter exports the data from a data source in a specific format on the READ (left hand) side and stores it temporarily internally. Once the input is complete the Fitter comes into play and transforms the data according to the Definition through Pipes and Heaters (transformation functions) to the Adapter on the WRITE (right hand) side. Finally, the Adapter on the WRITE side imports the result into the data target in its own specific format.
That may not sound very simple on first reading, but in practice there is nothing more to it. A simple example will make it much clearer.
The Fitter automatically undertakes many necessary modifications according to changes of data environment and there is no need to worry about such conversions, this is especially useful when the data source and target are for different locales. (e.g. German date formats are converted to American date formats).
Of course, FlowHeater can also cope with the most diverse conversions of character encoding, which can also be combined in any way desired.
e.g. the TextFileAdapter reads codepage 10000 (Macintosh, western European) and everything must be converted to codepage 20773 (IBM mainframe EBCDIC) . Admittedly such a requirement might only arise on rare occasions, but FlowHeater makes this really simple to achieve. Naturally FlowHeater supports all the more commonly encountered codepage groups, including those for MS-DOS, UNIX, Unicode (utf7, utf8, utf16, utf32), and so on.
Why call the software FlowHeater?
The term “flow heater” is extremely descriptive for the functioning of the software. While flowing through the program, the data is continuously converted and transformed, so you can imagine the individual bytes in memory being heated by the friction of the conversion process.
Even during the simplest possible conversion, seven individual transforms are performed on each field. Despite this relatively extensive degree of processing, an astonishingly fast throughput is achieved. The terminology we employ is analogous with continuous flow water heaters, plumbers and gas fitters. The terms for functional elements of FlowHeater are capitalized to avoid confusion.
|Adapter||By Adapters we refer to interfaces to the data source and target respectively. An Adapter is solely responsible for reading/writing the data from/to the internal format.|
|Fitter||In the Fitter the transformation work is performed. It is responsible for transcribing the data from source to target and performing modifications according to the Definition.|
|Pipe||Pipes define the connections between Fields. Connections can be quite simply manipulated graphically using drag and drop in the Designer function.|
|Heater||Heaters (functions) are the workhorses in FlowHeater. For example, text fields can be manipulated, arithmetic calculations performed, dates and times adjusted.|