Jason Conger and Brandon Shell did a little video debate at Synergy on PowerShell vs. Workflow Studio. You can view it here:
So, who do I think is right? That is easy – they both are!
First I want to say thank you to both of these guys for getting a discussion going. If I can paraphrase Brandon’s side of the argument it would be “Why do I need Workflow Studio? I have Windows PowerShell.” This is a question I have gotten a lot and I want to take some time to address it here.
Workflow Studio is designed to run on top of PowerShell. PowerShell 1.0 is a pre-requisite and many of our activities are written in PowerShell. Like Brandon, I think that PowerShell is an excellent scripting language and I personally can’t wait for the day when everything is in PowerShell and there is no more need for VBScript. I believe every Windows administrator should learn PowerShell and use it regularly. I am doing what I can to drive all Citrix products to expose an SDK in PowerShell.
So wait a minute then… if the Product Manager for Workflow Studio is saying to use PowerShell then what is Workflow Studio for?
There is no reason that you should have to decide between the two technologies. If you are a Citrix customer then you have Workflow Studio at no additional cost. Workflow Studio has a great SDK for consuming PowerShell libraries, so you can leverage your existing PowerShell libraries with Workflow Studio. Here are some other things you can do with Workflow Studio:
- Workflows are stored centrally in a SQL database making sharing and re-use across your team much easier
- Workflows are automatically versioned when stored in the database. If you update a workflow that has been deployed, a copy is automatically created so you can continue to reference and use the previous version.
- Workflow Studio is integrated with a task scheduling interface to automate the execution of your workflows based on schedule.
- Workflow Studio has a simple, graphical, drag and drop interface. Most likely not everyone on your team is a PowerShell expert. Workflow Studio provides a simple interface that lets those not familiar with PowerShell be productive with it as well.
- Workflow Studio can easily integrate with things that aren’t PowerShell (native libraries support VBScript, WMI, and running batch files. You can also use ‘off-the-shelf’ activity libraries for Workflow Foundation as well.)
- Workflow Studio is designed to support persistence. For simple, quick jobs, someone who is familiar with PowerShell and the cmdlets necessary to complete a given task will be more effective using the PowerShell command line interface. If the task requires several levels of approvals over hours, days, or even months then Workflow Studio and its underlying persistence and tracking engine from Workflow Foundation is a better tool for the job.
And remember, everything in Workflow Studio is exposed via PowerShell, so you can build your own interfaces to your workflows in PowerShell.
I would love to get more feedback on this topic in the comments. Let me know if you agree or disagree. Ultimately these are both just tools and if they don’t help you do your job then they are meaningless. Let us know how we can make both technologies work better for your organization.