wftk: Design and implementation

[ wftk documentation home ]
The wftk is implemented as a library in ANSI C. Under Windows, it is (optionally) a DLL, but the Unix makefiles still just produce a static-link library. Its internal data structures are based on XML and use a library called the XMLAPI. The XMLAPI library uses James Clark's expat parser to read XML files and data; there's no reason you couldn't write a simple wrapper for any other parser, though. (But why would you want to? Expat works!)

Besides the core engine, the wftk also has (as of May 2001) a command-line wrapper, written largely for testing purposes but also convenient for shell scripting. There are also a number of examples of adaptors, which are used to communicate with other systems which provide services to the core engine (the canonical example being the database used to index active tasks and processes.)

The code documentation is rooted in the src subdirectory of the distribution, and for further technical details I refer you to it. The XMLAPI and core engine are in separate directories; the adaptor examples are all in subdirectories of the core engine directory.

There is now (July 28, 2001) the beginnings of a Python wrapper; to date, this consists of a prety good wrapper for XMLAPI, the main library to follow. Full Python integration will require quite a bit of thought, as will integration with any scripting language.

The basic layout of the source code is as follows:

Copyright (c) 2000 Vivtek. Please see the licensing terms for more information.