analyse critical time paths and other features of
available resources. PERT nets assume inherent
parallelism of processes, constrained however by
their in-out dependencies and availability of
resources necessary for execution. We argue that
this paradigm is worth investigation concerning new
qualities that it may bring for definition and
execution of workflow processes and to make them
more flexible for dynamic changes and parallel
execution.
Our approach is based on the Stack Based
Approach (SBA) to query languages and its
powerful query/programming language SBQL
(Subieta, 2004), (Subieta, 2006). The language can
be used to perform efficient tracking and monitoring
tools for population of workflows, just like in BPQL
(Momotko, 2004). We propose a new metamodel for
workflow processes and then show how SBQL can
be used in workflow-specific applications. An
important element of our architecture is that a
workflow system can work on resources that are
distributed among different organizations.
2 ARCHITECTURE OF A
DISTRIBUTED WORKFLOW
A workflow mechanism operates on top of a virtual
store which integrates data and services from
different distributed sources. The details concerning
the store are described e.g. in (Kozankiewicz, 2005).
It is implemented by means of updatable views.
The resources are supplied by local servers.
Local schemata have to be adapted to the
requirements of the virtual store. To this end, the
administrators of local servers have to implement
wrappers, which provide mappings of local
data/services to the global canonical data/service
model assumed by the virtual store. These wrappers
can be implemented as updatable views. A basic
integration mechanism is on an intermediate server,
which contains integrators that virtually fuse
resources supplied by local servers. Integrators
resolve heterogeneities and redundancies and join
fragmented collections. Integrators are also to be
implemented as updatable views. On a client level
there are customization views that adopt the global
virtual schema to the need of a particular client
application and determines client’s access privileges.
A workflow mechanism is on a special server which
through the virtual store can access all the
distributed resources. The workflow server is
connected to its clients (workflow participants).
Such integration of e-Gov resources supported
by various partly independent institutions allows
building a workflow system over a distributed e-Gov
infrastructure. When resources are virtually
integrated, one can use the query/programming
language SBQL to write applications, with the use of
abstractions such as classes, methods, procedures
and updatable views. SBQL is also used in
definitions of workflow processes to query all the
workflow environment (through the workflow
metamodel) and to formulate pre- and post-
conditions for particular workflow activities.
3 DECLARATIVE WORKFLOWS
Our basic assumptions for workflow systems built
on top of a virtual store are as follows. Each activity
is modelled as an object. It can consist of sub-
activities, i.e. sub-objects. There is no restriction on
the size and the number of levels of the hierarchy of
the activity nesting. The top level activity can be
considered a workflow process.
Activities can be dynamically inserted into a
super-activity or removed from it. In such a way we
provide a flexible mean to adapt processes/activities
to dynamically changing complex application
requirements. There is no explicit graph describing
control flow between activities, because for many
workflow types such graphs are not enough flexible
concerning parallel execution, dependency on
resources necessary for an activity and the
possibility of runtime workflow changes. Instead, all
activities have pre- and post-conditions defining
when they are to be started and when they are to be
finished. Such conditions are expressed in SBQL.
Activities can include inner objects, procedures,
views, etc. Atomic activities have executable parts
that work concurrently to other activities. For
complex activities an executable part can be treated
as sub-activity. A sub-activity can be initialised if
and only if its super-activity has been initialised. All
activities are described by definitions, which can be
used e.g. to create activity instances and to type
checking. Not all sub-activities must be terminated
to terminate the given activity – this depends on its
post-condition only. Similarly, terminating all sub-
activities does not necessarily mean that the given
activity must be terminated too.
One of possible goals of our idea is to support
life events of citizens or enterprises. In Figure 1 we
show how activities related to a life event ‘family
location change’ are represented using our workflow
model. On the first part we show sub-activities such
as changing residence, changing schools, changing
home MD, and so on. On the second part we show
WEBIST 2007 - International Conference on Web Information Systems and Technologies
252