policies, organizational expressions, or organiza tion schemas and their populations. These inter faces look like the fol lowing operations that are provided for organizational policies: create, delete, modify, l ist, get. The create operation creates an organizational policy; the delete operation deletes a policy; the modify operation allows users to change an organizational policy to adjust to new requirements; the list operation returns the identi fiers of all pol icies; and the get operation returns the complete description of a policy.
Designers do not cal l these management inter faces directly, since they communicate their changes through user-friendly interfaces or tools. These tools are either graphics oriented or language oriented. In a graphics-oriented tool, a designer
Workflow Models
manipu lates icons and graph ical symbols, which in tu rn results in cal l s to the appropriate management interfaces. Al ternatively, a grap hics tool can ge ner ate a PDL script accord ing to the manipu lations of a user and submi t t h i s scrip t to the pol icy resol u tion engine. I n this case, the engine interprets the sub m i t ted script and cha nges its internal state accord ingly. Language-oriented tools e nable a designer to directly express changes using PDI.. These tools take specifications and translate them into ma nagement interface cal ls. Of course, t hey can also submit the la nguage specifications d i rect l y as Ill) ! . scripts to the policy reso l u t ion engine, as descri bed above. Legeny Databases Many large enterprises have developed databases that contain some or a l l of the organ izational data the policy resolution engi ne needs to eva l ua te organ i zational policies. These
databases, cal led legaqr databases, migh t he self implemented or based on standards efforts like those re lated to providing directory services on networks, i.e., X.500.-' In ge neraL organizations
must deal with one of the fol lowing scenarios: • No legacy database exists. No existi ng database
has to he considered, and the pol icy res o l u t i o n
engine can use i ts own database t o build up orga ni zational knowledge.
• Legacy databases contain a l l relevan t data. To use the pol iq' resol u tion engine, the database m ust provide a sufficiently ex p ressive query i n terface, on top of which queries issued from tile engine can be eval uated . The only add itional information that has to be s to red is organ iza
tional policies and organizational expressions.
The organization has to choose whether to extend the legacy databases or to use the da tabase within the pol icv resolution engine.
• A legacy database conta i ns some relevant data. l n addition to o rganizat ional pol icies and orga n i zatio nal expressi o ns, organ izational objects and rel ationships must be stored in eit her the legacy database or the database of the pol icy res o lution engine.
If the releva nt data is s tored i n several databases, the queryi ng i n terface must be built in such a way that the pol icy resolution engine can issue the nec essary queries, which might span several databases. Fu rthermore, sem a n t ics i ssues have to be dea lt with in heterogeneous environments_-,_-(,
Arcbitectuml Considemtiolls-Clients of a PoliLy Resolution Engine From an architectural point of view, there are two possible ways to design a pol icy reso lution engine:
1. Incorporate the pol icy resolution engine into
a \VF,\1S The engine wou ld be a m od u l e, whose operat ions are h idden by the exported inter faces of the WFMS. Al l calls to the engine opera
tions wo u ld he made t h rough the i nterface of the WI'NJS.
2. M a ke the p o l icy resol ut ion engine an indepen dent COI11[10nent. The engine woul d be a server
with a W F �IS system as one of its cl ients. All
c l ients of the engi ne, i nclud i ng the WF�IS, wou ld be able to directly access t h e exported opera
tions of the engine.
PRA reco m mends t he i mplementation of a pol icy
resolu tion engine as an i ndependent base service.
whi ch can be used by c l ie nt s other than a WF.\1S
For example, an electro n i c m a i l system can be a c l ient of the policy resolution engi ne. Since e lec tronic m a i l is sem to users, rather than enu merate
the electronic mail add resses of the recipients hy hand, organizational expressions can provide the addresses. For example, a m a n ager could send an electron ic mail message to " a l l my subordi n ates" or
an engineer could send an electronic mail message
to ·'all my col leagues who are engineers." The sam
ple operational express ion shown in Figure 1 1
retu rns all electronic mail add resses of aJI subord i n ates of a given user.
Another possible cl ient i s a t ra nsaction procl'ss
ing monito r, which in corporates workflow ma n age ment.-- Dayal er al. reference a service ca ll ed role resolution, which is an earl ier development of pol icy resolution . -x
ORGANI ZATIONAL_EXPRESSION subordinates ( User : a_user) RETURNS String: user . e_mail
44
user reports_to a_user
Figure 11 0Jgwzizationa/ £.\pression for Electmnic .liuil
Figure 12 shows a schematic represen tation of
a pol icy resolution engine with three cl ients-a
WFMS, a transaction processing monitor, and an electronic mail system.
Summary
The sample workflow discussed in this pap er, that is, the travel expense reimbu rsement workflow, i l l ustrates that roles are sufficient as task assign ment rules for only the simplest scenarios. Si nce workflow management systems are deployed in sit uations where complex workflows are modeled and executed, a more general and powerful model cal led the Pol icy Resolution Architecture (PRA) was developed. PRA provides the concept of an organi zational policy. An organ izational policy is more general than a role in that it relates a workflow type to an organizational expression that determi nes the set of el igible users for the workflow. Because they state all criteria a user has to fu lfi l l and do not l imit the selection based on their properties or interrela tionships, organ izational pol icies specify all el igible users. Since an organ izational expression is related to a workflow type by an organizational policy, task assignment through organ izational policies is a very general approach. Organizational policies are eval u ated based on organization schema and their populations (organization structures). Since PRA
provides a way to model arbitrary complex organi zation schemas, arbitrary organizations can be mod eled and subsequently popu lated. This general i ty, i n conjunction with organizational pol icies, pro v ides a powerful and flexible approach to task assignment in workflow management.