Interfacing the wftk with other systems
[ wftk documentation home ]
Interfacing with wftk
There are two categories of interface to the wftk: there are ways to invoke the wftk functionality,
and there are ways to be invoked by the wftk engine. The former category of module I usually
call a wrapper, while functionality to allow the wftk engine to talk to other systems is collected
in adaptors. Each type of interaction needed by a workflow system is an adaptor class.
I've called the adaptor mechanism a "poor man's ActiveX" elsewhere, because I've always liked the
idea of ActiveX (even back when it was called OLE): the idea is that you implement an object once, then
you have binary compatibility with it which persists over version changes.
At any rate, a full wftk system is going to be a wrapper (and may use one or more established wrapper
libraries), and is going to make use of various adaptors. If you have moderately unique needs, you
will probably end up writing an adaptor, thus this section of the document will largely be concerned
with how adaptors work.
As with most of the wftk documentation, this isn't complete. However, here is what I hope to have in
this section:
- Overview of the adaptor mechanism
- Documentation of the various adaptor classes
- Descriptions of already complete interfaces
- ODBC database adaptor
- Oracle database adaptor
- SMTP notification adaptor
Overview of the adaptor mechanism
The wftk is intended to do workflow-y kinds of things in whatever system you have. In order to make
that work, nearly every system dependency that wftk has is split out into one or more adaptors.
An adaptor presents a unified API to wftk and identifies individual functions using string names.
It's not the most efficient way of doing things, perhaps, compared to the traditional C approach, but
it's simple to manage and simple to write to. It's kind of like letting a bare minimum of scripting
languages into the C paradigm.
At any rate, I need to flesh this out with examples, but for the time being, look at some of the
implementations in the source directory.
Copyright (c) 2001 Vivtek. Please see the licensing
terms for more information.