[TransWarp] HowTo TreeBased Storage with RecordManagers / Specialists ??

Ulrich Eck ueck at net-labs.de
Fri May 10 06:21:47 EDT 2002


Hi Phillip,

again it's me ..

>
> To avoid confusion, I'd prefer you didn't use the name.  If you want to
> call them things like "GUIforTW" or "DBforTW", that seems okay as long as
> the name is clearly something *for* TW rather than a part of it.  Thanks.
>

we packed all our work into a seperate Lib called NLL (NetLabsLibs) .. so 
there
won't be any confusion in future.


now let me start asking again:

I'm working on my Workflow Engine, that should store it's data in an 
LDAP-Directory.
The DataModel is taken from Wfmc.

The data is arranged as followed:
<WorkflowEngine>
  |-<DataFieldDefinition>		0-n DataFields
  |-<ParticipantDeclaration>		0-n Participants
  |-<ApplicationDeclaration>		0-n Applications
  |-<ProcessDefinition>			1-n ProcessDefinitions
     |-<DataFieldDefinition>		0-n DataFields
     |-<ParticipantDeclaration>	0-n Participants
     |-<ApplicationDeclaration>	0-n Applications
     |-<ActivityDefinition>		2-n Activities
     |-<TransitionDefinition>		2-n Transitions

Definitions in a Package are considered as global for all WorkflowProcesses.
Definitions in a Process are consideres as local to the Process.
Local Definitions need unique indentifiers .. but they may be reused within
other Processes.

I'ld like to store the data as shown above in the LDAP-Directory.
here it happens, that i cannot use a fixed baseDN for a certain recordType
because an Activity could be defined below ProcessA or another one.

I have thought of arranging the objects as following:

<ProcessSpecialst>		supplies Process-Elements
  <ProcessElement>	
    <ActivitySpecialist>	supplies Activities (generates it's baseDN from 
some info of it's								parent Element)
    <TransistionSpecialist>	supplies Transitions ...

so i would place Specialists into Elements, and the behaviour of them would 
depend on the Element's
data. I would need to modify the Specialists code to make the keyConstants 
dynamic .. which should not
be too hard i think.

Is there a better way to achieve Tree-like storage using TW.Database 
(especially LDAPModel) ??

thanks again,

Ulrich Eck
---------------------------------------------------------------------------
net-labs Systemhaus GmbH
Ebersberger Str. 46
85570 Markt Schwaben
fon:   +49-8121-4747-11
fax:   +49-8121-4747-77
email: ueck at net-labs.de
http://www.net-labs.de



More information about the PEAK mailing list