About
The DwWorkflow is a server for running of refreshment process in datawarehouses.
The ordinary datawarehouse consists of many sources and many targets and
each target has at least one process which transforms data from different
sources into this target. Each process can run after its sources have
processed data. It means processes depend on their sources and DwWorkflow allows
define these dependencies between processes and sources and then according to
these dependencies can run these processes in parallel.
The DwWorkflow also provides generating of mappings.
The server can be accessed remotely using interface written in the interpreted
language python. It is also possible to use a graphical application written as
plugin in the eclipse platform (
http://www.eclipse.org).
Main features
Flexibility
The usuall approach to create a workflow is to order procedures into
some plan. But this approach is not flexible enough to adapt for
different processing times and for parallel processing. The DwWorkflow
offers this flexibility but it can be more complex compared to the
forementioned approach. But this complexity is acceptable as this
concept is approved on real projects.
Speed and reliability
The DwWorkflow is fast and reacts very quickly to the changes of the
object states and to the user commands.
Server interface flexibility
The server is controled using console with python interface. So
it is possible to use python to write complex and flexible
scripts.
Generating of mappings
The DwWorkflow offers template engine for generating of mappings.
There are some other tools which offer graphical way how to write
mappings. But these tools look nice when they are used for simple
mappings but when they are used for complicated mappings then
we can get unreadable, unmaintainable and slow code. The approved way
is to generate mappings. It allows the developer to write the core
of the mapping and the tedious and repetitive parts of the mappings
are generated. This approach when correctly used produces very fast
and maintainable mappings.