[ 
https://issues.apache.org/jira/browse/OODT-491?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Brian Foster updated OODT-491:
------------------------------

    Attachment: NewWorkflowModel.patch.txt

okay chris so i've taken a look over the current wengine port to trunk code 
state… and hear me all the way out on this, i think by the time you make it to 
the end of this comment you will agree with me (i hope… lol)… i think the 
wengine port stuff in trunk is still missing a lot of stuff to make it work… i 
also think the WorkflowProcessor part of the port is making the trunk messy 
(i.e. for one ParentChildWorkflow is causing unwanted instanceof checking which 
also makes for confusing code)… kinda showing now why i decided to write 
WEngine as a separate component… i think a lot of good changes have come out of 
the attempt of this wengine port: separation of Runner, allowing for the 
workflow engine to not get held up by stalled workflows, CAS-CLI was ironed out 
and refactored into it's own component based on it's original use in winging 
there are several others… so here is what i am proposing:

I think for now let's use the WEngine WorkflowProcessor stuff to add design 
improvements to the current Workflow model to incorporate the features which 
WEngine WorkflowProcessor provided but with a deferent model approach… I have 
attached a patch which modifies the struct class Workflow to allow for this 
integration and also introduces the idea (which Chris and i talked about a long 
time ago) of chaining workflows… this is basically how I see it working: We 
will introduce the idea of a WorkflowLink, which will be a wrapper around a 
Workflow which will attach Events to a Workflow (a wait for Event, a trigger on 
success Event, and a trigger on failure Event)… currently all the trunk 
workflows will translate easily to this model as just a workflow chain with 1 
WorkflowLink (with a wait for Event)… this bring me to the next point, these 
WorkflowLinks will be added to a WorkflowChain which will handle figuring out 
which WorkflowLinks should be run next given a fired Event.  This will keep the 
trunk workflow completely Event driven like it has always been and will not 
require WorkflowProcessor based changes to poke holes in the client and server 
XML-RPC classes which are currently missing to make the WorkflowProcessor stuff 
work… i believe we should be able to rewrite the XML parser for the WEngine 
workflow configuration to build the model i've created in the patch attach if 
current when users what to port there stuff to this new model… anyway, let me 
know what you think
                
> Finish line tasks for Wengine integration
> -----------------------------------------
>
>                 Key: OODT-491
>                 URL: https://issues.apache.org/jira/browse/OODT-491
>             Project: OODT
>          Issue Type: Umbrella
>          Components: workflow manager
>            Reporter: Chris A. Mattmann
>            Assignee: Chris A. Mattmann
>             Fix For: 0.5
>
>         Attachments: NewWorkflowModel.patch.txt
>
>
> The final tasks to wrap up wengine integration into trunk.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to