locked
Versioning of workflows in WWF 4.0 RRS feed

  • Question

  • How to maintain different versions of workflows in Workflows 4.0? Please provide a detail link on this. I aware of versioning  Workflows in 3.0?

    What are the latest improvements in this area?



    rajeevkalyan
    Monday, January 18, 2010 5:19 PM

Answers

  • You can use create a workflow service host per different workflow definition you would like to have to maintain different workflow versions in WF 4 when current workflow instances are not required to upgrade. In addition, you can use routing techniques (http://channel9.msdn.com/shows/Endpoint/endpointtv-New-in-WCF-4-SystemServiceModelRouting/) to forward the messages to the corresponding workflow service host.

    WF4 will not support upgrading existing workflow instances to new definitions. Those instances will need to complete before they can be replaced.

    Hope this helps.

    Tuesday, January 19, 2010 5:32 PM
  • I still haven't decided about how to do the wcf part. I need the wcf service, but I'm not exposing any WF functionality directly. I did it separately for wf 3 and it was ok.
    I posted the links (above).
    I wasn't talking about adding new activities (what you're saying will work for xaml workflows), but in my case I will be modifying my custom activities (both xaml and code), adding and removing properties, so I have to recompile my application and still be able to load the old wf xaml files containing the old version of my activities.
    Tuesday, January 19, 2010 8:12 PM

All replies

  • You can use create a workflow service host per different workflow definition you would like to have to maintain different workflow versions in WF 4 when current workflow instances are not required to upgrade. In addition, you can use routing techniques (http://channel9.msdn.com/shows/Endpoint/endpointtv-New-in-WCF-4-SystemServiceModelRouting/) to forward the messages to the corresponding workflow service host.

    WF4 will not support upgrading existing workflow instances to new definitions. Those instances will need to complete before they can be replaced.

    Hope this helps.

    Tuesday, January 19, 2010 5:32 PM
  • In my case I am not using the WorkflowserviceHost( Workflow Service). I am using the Workflow Application to host my workflows i.e My workflows are not WCF services. Please explaine me in this perspective.

    thanks
    Rajeev
    rajeevkalyan
    Tuesday, January 19, 2010 6:59 PM
  • That is exactly what I'm doing right now. I'm not using wcf, but I will. The versioning you're probably referring to is for the workflow themselves. I'm using xaml attached properties for that purpose and that works flawlessly. I can add and remove properties from my activities and recompile and they will still load from an older definition. There are a couple of articles out there about xaml attached properties. Do you need the links? You can find them in this forum.
    Tuesday, January 19, 2010 7:08 PM
  • Can you please let me know why you will go with WCF? Did you faced any problems beacuse of WorkflowApplicaiton object hosted workflows. I am thinking to implement Workflow Application object hosted workflows. Please let me know what are the reasons prmopted you to go with WCF workflows?

    Please let me know if you have links about the XAML attached properties?  If I directly read the XAML file to create the workflow object then I think we can avoid the recompilation even if we add new activity. What is your opinion on this?
    rajeevkalyan
    Tuesday, January 19, 2010 7:16 PM
  • I still haven't decided about how to do the wcf part. I need the wcf service, but I'm not exposing any WF functionality directly. I did it separately for wf 3 and it was ok.
    I posted the links (above).
    I wasn't talking about adding new activities (what you're saying will work for xaml workflows), but in my case I will be modifying my custom activities (both xaml and code), adding and removing properties, so I have to recompile my application and still be able to load the old wf xaml files containing the old version of my activities.
    Tuesday, January 19, 2010 8:12 PM
  • Some time , we just need WorkflowApplication, if we use WorkflowServiceHost, we have to invoke the workflow by WCF proxy client, it's complex.

    we just want a API style invoke model of WF.

    to create a WorkflowServiceHost for every version is also complex!

    when use WorkflowApplication, we can get the Activity instance by the version information, and then create the WorkflowApplication,

    But some time we need the Delay activity, there is not a good way or code example to re-activate workflow instance Unloaded with Delay!

    Monday, May 24, 2010 7:29 AM