Workflow is an important class of applications in the daily business. A num
ber of web-based workflow systems have been developed recently as a natural
extension to traditional workflow systems to exploit the growing popularit
y of the Internet. However, most of them are designed based on the specific
application at hand. In this paper, we distill out the fundamental element
s of a workflow system into a general workflow framework. The framework pro
vides appropriate application programming interfaces for programmers to fil
l in the application specific requirements of a workflow system at hand. Th
is is realized through two object-wrappers: the Task interface and the Reso
urce interface, which support the specification of the tasks involved in th
e workflow schedule and the resources accessed respectively. A major charac
teristic of the framework is that the particular workflow schedule under ex
ecution is fluid, in the sense that the tasks involved as well as their pre
cedence relationships can be modified dynamically. Consistency constraints
will be examined in this paper which determine when such modifications are
allowed. To maximize flexibility, we adhere our design to the CORBA archite
cture, which has been becoming highly popular in recent years, thus allowin
g tasks and resources of different types to interoperate in our framework.
We demonstrate the feasibility of our framework with a small prototype that
allows tasks in a workflow system to be scheduled and executed.