• View Communities
    • Citrix Developer Network
      The place for unfiltered straight talk on Citrix products. Blogs, code downloads, best practices, APIs, and more can all be found here.
    • Citrix Ready Community Verified
      Does it work with Citrix? Application compatibility questions are a thing of the past with the new Citrix Community Verified site.
    • Blogs
      Learn the latest from the Citrix employees who are building application delivery infrastructure technologies.
    • Blogosphere
      The Citrix Blogosphere is a window into the thousands of conversations taking place about Citrix and Application Delivery.
  •  Sign In
The Citrix Blog
Blogs for tag 'workflow-studio'

Permalink | Twitter Post to Twitter | Comments (0) | Views (6493) |

posted by Scott Swanburg

The web apps are coming, the web apps are coming!  This has been the mantra in the Internet space for years now.  And the truth of the matter is that yes, the web apps are coming.  In fact, there are hundreds, if not thousands already deployed.  Many of which were designed specifically for browser based technology and are used by the masses every day.  YouTube, Facebook, and MySpace are entrenched as the debutants of social networking with applications like Twitter on the quick road to mass adoption.  In the business world, Saleforce.com is the clear leader in CRM while products like Microsoft Live, Cisco TelePresence and Citrix Online top the list for web conferencing and team collaboration.

And then there are those applications that have a dedicated connection to their original designs which are not browser based.  Intuit and SAP are two companies that come to mind. Giants in their own right, they have yet to cross the chasm from Operating System dependency to fully web enabled delivery.  To be sure, both of these companies have products in the browser space, but the bulk of their revenues still come from non web enabled applications.  The challenge for these companies (and hundreds like them) as well as the opportunity is in their ability to quickly expand their license penetration and hold the cost of doing business down.  Enter Virtualization and subscription services.

Citrix is the best kept secret in the web space from a software delivery perspective.  Many ISVs don't think to offer their products through Citrix server based computing technology mainly because there is no association between what SBC is and how an ISV sells to their customer.  Or at least that has been the problem in the past.  Now, Amazon is creating the Elastic Compute Cloud (or EC2) and the ability to offer data center functionality using the utility company model.  Pay as you go and only pay for as much (data center) as you use.  So imagine taking an existing model today for data centralization in the large enterprise, transfer the architecture to an uber-data center in the Cloud and offer software applications through a (virtually) secure, (virtually) redundant network.  And voila, a new age is born in which any here-to-for O/S dependant applications can be run on any desktop in any location by simply using a virtual environment to get it there.  Sounds pretty futuristic, huh?  Well, it is and it isn't.  It's futuristic in the sense that it hasn't been proven from a mass adoption perspective.  But then again, thirty years ago no one ever imagined driving down the road with a wireless connection to a head set which allowed voice communications (aka the cell phone) to emerge as a mass market delivery network either.

But what about today?  Is it possible to host applications that are not web based and serve them up to a mass market?  Wanna know another well kept secret?  The answer is YES.  If you don't believe me just take a look at the following web site, http://www.microsoft.com/hosting/findahostingprovider.mspx. In here you will see that Microsoft has not only embraced the concept of hosting applications that were not originally designed for web delivery, but support an entire network of hosting providers who generate income from these services.  What's even more surprising is they have been doing it for over 7 years... long before the term Software as a Service was dreamed up.

And are there really hosted service providers providing Software as a Service outside of the Salesforce.com hype?  Yep!  They are right in your backyard most of the time.  In fact several of them are already a part of the Citrix Partner Program and the focus of their business is in hosting applications.  One in particular, a company called Nasstar ( http://www.nasstar.com/) is taking the concept to the next level in the way in which they offer up an application delivery model to the SMB.  Charles Black, CEO of Nasstar had a vision that the mass market SMB would not only accept this paradigm of subscription based software applications, but would generate enough revenue to substantiate an ongoing business concern.  That was five years ago.  Now Nasstar is thriving and growing the business of subscription based software delivery (or SaaS) utilizing products like XenApp in their infrastructure.  I had a call with Charles today and he underscored the SaaS model saying, "Citrix is indeed a pioneer in this space.  [Our approach is] Citrix powered desktop and application delivery for the SMB and XenApp is the delivery platform." Futuristic?  Not anymore.

Expand Blog Post
Permalink | Twitter Post to Twitter | Comments (1) | Views (9668) |

posted by Peter Schulz

Workflow Studio includes two tutorials that can be accessed from the Help menu. When you first launch Workflow Studio, you are in the management console:


The first tutorial can be accessed by clicking on the "Help...Getting Started" menu option. This will launch the Getting Started guide which is a tutorial that will walk you through the process of downloading a sample Workflow called ExportServices from CDN (using the built-in Community tab) and then running that workflow from the management interface.
Note: The tutorial is in PDF format. On many systems nothing will happen when you click on the "Help...Getting Started" link if you don't already have a PDF viewer already installed. Sorry about that - we will fix that in the next release.

The second tutorial is available from the Designer interface. The Designer interface is what is used to create or edit a workflow and looks very similar to the Tech Preview user interface:


This tutorial will take you through the process of creating the sample workflow that you saw in the first tutorial. This will demonstrate many of the techniques you will use to build workflows.

If you have any questions on either of these tutorials - post them here. In a future post I will explain some more details behind the Designer interface. Look for more tutorials and samples soon as well.

Expand Blog Post
Permalink | Twitter Post to Twitter | Comments (3) | Views (13557) |

posted by Peter Schulz

Rather than keep these blog posts updated with corrections and additions, I posted the entire installation guide in one piece as an article on the CDN site:

http://community.citrix.com/x/NQFOAw

One nice feature is that you can export the file to a PDF or Word document if you are logged into your MyCitrix account. Try it out and let me know what you think...

Expand Blog Post
Permalink | Twitter Post to Twitter | Comments (5) | Views (16227) |

posted by Scott Swanburg

Software as a Service.  Sounds like it would be a pretty easy concept to understand.  But when we look under the hood we find that there are three differing perspectives. 

At a hundred thousand feet SaaS is a buzz word for Wall Street and investors to get excited over.  It is the intersection of off premise hardware managed by others at a location (either virtual or physical) with dedicated resources which may also be a part of the larger Internet Cloud which combines Web Hosting with shared applications.  Wow!  That's a mouthful.  No wonder so many tech savvy analysts are so excited about it.  There are enough "high hit" Google terms there to start a search engine frenzy.

The investment community represents the first of three perspectives for SaaS.  Trying to predict what the future will hold and which companies have the technology to capture more customer wallet share in the ever growing information age.  The view from this perspective is about the value of software.  Specifically will software continue to hold its value and thus hold up the value of those Independent Software Vendors (ISVs) who produce it?

The second perspective is that of the software industry itself.  The opportunity is with those software companies who are blessed with no legacy code and have built their product for a distribution that takes advantage of the open Internet.  From this perspective the sky is the limit and exposure or awareness of the product is the key to attracting revenues from the mass market.  On the other hand ISVs who have invested millions of dollars in their code base and it has evolved from dedicated operating systems are not so lucky.  From their perspective SaaS could be the next crushing blow that renders their code obsolete.

Lastly we have to look at the guy who pays the bill.  The end user and for the purpose of this article, I'm going to limit that to the small and medium business.  After all, if the SMB actually makes up 80% of the total number of end points in the world, one would think that this is the most important segment to address, right?  From their perspective, SaaS doesn't matter.  All they want to know is, "how am I going to get my software applications running without an IT staff or with limited IT capabilities".  In fact if Geek Squad could figure out a way to supply physical services to every small business in the universe and manage applications on-the-fly, this would be the definition an SMB would use for Software as a Service.

If we start from the guy who pays the bills, the world of SaaS looks something like this.  A simple, secure and cost effective way to access applications and data from any device in any location.  Some ISVs understand this definition and are becoming wildly successful, because they understand the first order of business is satisfying the end customer's needs.  After all, he is paying the bill.  In the world of communication and collaboration we see products such as GoToMeeting and Microsoft Live.  The hard truth is that these products sell the best by circumventing the current IT professionals.  They are completely end user focused, have a specific use and are easily accessed from any device in any location.  In the world of Customer Relationship Management, Salesforce.com is the 800 lb gorilla.  Once again, simple to use and accessible.

But what of the thousands of applications that were built specifically for the desktop or dedicated server Operating Systems?  Are these guys just out of luck?  Will the millions of users who currently use these products suddenly stop and go to their web application cousin created by these new and emerging software vendors?  Maybe.  Eventually.  But not tomorrow.  Not in a year and maybe not for the next 5-10 years.  There are a hundred reasons why this is true.  The most compelling is risk and reliability.  The mass market by definition is not a part of early adoption.  In fact, according to Geoffrey Moore, we have an entire chasm to cross before there is mass market adoption of something as disruptive as a web app only business model.  If this were not the case, Google would be the name on your phone bill today instead of AT&T, everyone would be driving a Prius and Cable TV would have been killed by IPTV.  But these things take time and what is needed is a way to bridge the gap.

Most people in the IT industry don't think of Citrix as a mass market product company.  And since SaaS is typically associated with the mass market, don't think of Citrix playing well in this space.  That's because we have spent the bulk of our sales expertise and adoption in the large enterprise market.  Why?  Because it has taken 20 years to cross the chasm of server based computing for the mass market.  But what most people don't realize is that Citrix started out by creating products designed for low bandwidth, high latency, and low power CPU environments.  These are the basic tenants of the mass market.  Our core product, XenApp has only been enhanced for these tenants over the past 20 years.  That's why we have deployments of up to 50,000 end points within our current customer base.  No one else in the world has this type of delivery system to match the needs of the end user in the mass market for the thousands of applications that are not web based.  So as ISVs continue to look at the mounting problem of servicing the end customer in the SMB segment, Citrix will provide a simple, elegant solution to the perspective of the guy who is paying the bill... A simple, secure and cost effective way to access applications and data from any device in any location.

I wouldn't be surprised if Citrix is seen in a new light over the next couple of years.  After all, we can bridge the gap that crosses the chasm.

Twitter

Expand Blog Post
Permalink | Twitter Post to Twitter | Comments (0) | Views (6432) |

posted by Peter Schulz

Workflow Studio 1.0 was released this week and is now available for download on MyCitrix to current Citrix partners, and to customers of XenApp, XenDesktop, XenServer, and NetScaler who are current on Subscription Advantage. You can access the download directly here. The Workflow Studio platform will allow our customers and partners to automate processes across Citrix products and with 3rd party products, truly delivering on the vision of transforming a datacenter into a delivery center. I am excited about this release and look forward to seeing what the community thinks and what ideas you have.

Citrix Partners can drive huge value to customers by developing custom Workflows using Citrix Workflow Studio. From automating routine manual processes like User Administration to more powerful integrated processes like Power Management, solutions can be built that are tailored to specific business requirements. Since WFS is built on Microsoft technologies, Partners can quickly ramp up to speed and staff resources to develop workflows in a very short period of time.

I apologize for the long break in my blog, but you can expect much more from me now that we have released. This release has some fairly significant changes/additions from the Tech Preview that I want to highlight here:

  1. Built on Windows Workflow Foundation - We have modified the architecture from what was in the Tech Preview so that now we leverage Workflow Foundation. Workflow Foundation is a technology that Microsoft released with .NET 3.0 and updated in .NET 3.5. This is a big change that we believe offers significant benefits to our customers as you will be able to leverage existing activity libraries from Microsoft and others. We also benefit from continued development of the platform by Microsoft and if you have developers working with Workflow Foundation they will be able to easily pick up Workflow Studio.
  2. Database-driven - We now require a SQL Server to store workflows. The benefit to you is that we automatically version your Workflows for you, so your workflows are no longer lost in your file system. Our installer will install SQL Server 2005 Express if you don't have or don't want to use a shared SQL Server.
  3. Job Management - Workflows can now be managed, monitored, scheduled, and run from within the Workflow Studio management interface. This functionality is also exposed via PowerShell snapins, giving you complete control of how workflows are run.
  4. Integrated Security - There is now built-in security settings that provide granular control over what a Workflow Studio user can do with a workflow.
  5. Integrated Community Support - Workflow Studio is a platform that our community can add value to in many ways. Sharing your experiences, sample workflows, activity libraries, and feedback will be a critical part of the Workflow Studio experience. We built in native integration with some of the sections of the Citrix Developer Network on the Community tab within the management interface.

I also want to highlight that this release does not include many of the libraries for accessing Active Directory, Windows, and Citrix products that were included in the Tech Preview. One of the things we did for this release was intentionally separate the Core product from the libraries that you add to access other systems. We will be releasing these libraries over the coming months for download and you will be able to select which modules you want to add as necessary. In addition to Citrix libraries, you will be able to add any standard Workflow Foundation Activity Library, and can build your own as well. I will be blogging more about these capabilities as I think this is a huge value for our customers and our partners.

Expand Blog Post
Permalink | Twitter Post to Twitter | Comments (0) | Views (7944) |

posted by Craig Ellrod

Now that a new year has begun, it is time to think about change. What did you do well in 2008, that you would repeat in 2009? What will you do differently?

Forecasting bad economic news for 2009 is old, and we all know it is going to be a tough year. I can think of several people I know personally that have already been affected. Among the predictions and forecasts from analysts is that IT spending will slow down. 2009 will be a tough year, and with spending on hold, if I was an IT infrastructure guy or a service provider, with all of the virtualization technology available, I would take more than a few minutes to rethink my strategy.

2009 Forecasts that cloud computing and virtualization will grow. It is not just a prediction that I believe in because I work for a virtualization company, I believe in it because I am an operations guy at heart and this virtualization stuff is real.

One of the things I am going to continue to do in 2009, is make use of XenServer and its tangentially related products. At Citrix, I spend a lot of time with my head buried in a lab working on several projects at a time. At any given time I may need to bring up Windows servers and clients, *nix Servers, install a partners product into a server, or install some enterprise application for testing. All of these I did in 2008 without spending any money on hardware. I had an existing Dell 2950 III that I use for XenServer. I can bring up, bring down any number of hosts at any time, for any purpose, without having to fill a rack with hardware that sucks the power grid dry, and depreciates in value the second I order it.

Not only have I done a great job of saving money on capital expenditures in my lab, I have also saved a lot of energy and rack space. In addition, with faster time-to-deployment and more resources at hand, I have increased my productivity immensely.

I work with our internal Citrix IT and Training departments who both make use of Citrix Virtualization technology – this has proven to increase their productivity as well, while reducing cost.

Looking forward, I know I will be able to keep costs and spending down to almost nothing this year as I make continued use of Citrix Virtualization technology. As an operations guy at heart, nothing brings greater joy in slashing a budget and saving money going into 2009 while increasing productivity.

Expand Blog Post
Permalink | Twitter Post to Twitter | Comments (5) | Views (23000) |

posted by Gus Pinto

Hello Mac Users

First I would like to thank all of you for downloading version 1.0 of our blogs widget. We currently have 1400+ downloads, and this goes to show that the Citrix community has indeed a large number of Mac users.

I also would like to thank those users who sent us their feedback, this version of the widget is here because of you, so keep sending your feedback and comments.

 Meet the Citrix Blogs Widget

 Version 1.0:

  • The latest 30 Citrix Blog posts
  • Adjust view from Full to Summary
  • Collaborate with your comments
  • Open posts on Safari or Firefox
  • Spotlight Search (Instant search)
  • Push updates (no refresh required)
  • Watch blogged videos
  • Check for updates
  • Send feedback


 Version 1.2:

  • Widget Resizing
  • Bug Fixes


Requirements:

  • Mac OS X 10.4 or greater


Download:

Citrix Blogs Widget


Expand Blog Post
Permalink | Twitter Post to Twitter | Comments (5) | Views (17070) |

posted by John Fanelli

Welcome to my blog!  

I've been at Citrix for about 6 months now and my team and I have been hard at work to bring you the revamped Citrix Community  site.   I'm calling this version of the site "Citrix Community 2.0" to emphasize the fact that it's a new version of the site and that the site incorporates many of the Web 2.0/Enterprise 2.0 technologies that you see written  or filmed about so often in the media.  I tend to think that a lot of Web 2.0 is overhyped (are there really this many Web 2.0 companies??), but I found this definition that I really like "Web 2.0 is linking people...people sharing, trading, and collaborating" If you have 4 minutes, I really suggest checking out the video - plus it's got a great soundtrack. 

The whole purpose of updating our site is to really allow people with an interest in virtualization and application delivery to share and learn ideas.  In fact, you'll see our tagline is "Discover, Connect, Participate".  The new site allows you to all of that and more! 

So, let's get down to the details.  What is new about the site? 

The Citrix Community site is a new multi-media, launching pad to reach your favorite Citrix communities.  It is the location to discover what is hot around application delivery and virtualization; connect with Citrix product teams, customers and industry pundits; and participate through sharing of opinions, thoughts and knowledge in blogs, forums and code sharing.   

New capabilities include better description and easier navigation to Citrix communities, ties to our extended communities in the industry (Hello Citrix CTPs!), enhanced multi-media/video support and real time blog feeds from across the blogosphere, all on a completely redesigned look and feel. In addition, we have made it easier for Citrites (that's what we call ourselves) and non-Citrites (that would be you!) to participate and create content.  Check out our Video Tip Factory if you don't believe me. 

Of course, one of the key communities is the Citrix Developer Network, which has undergone quite a dramatic change itself... 

The Citrix Developer Network is the place for open, unfiltered, straight talk on Citrix products.  The goal of the Citrix Developer Network is to provide access to technical information for all aspects of our community, from Network Architects to IT Professionals, to Data Center Architects to Developers.   

Based on your requests, forum posts and support calls, we have expanded the products covered, while simplifying access to the information.  We now have specific Developer Networks for XenApp, XenDesktop, NetScaler,  XenServer and one of our newest (and coolest) products, Workflow Studio.  Interested in multiple products?  Never fear, due to tagging technology, blogs, discussion and content relevant to multiple products will be available wherever relevant (example, server virtualization is key to both XenServer and XenDesktop). 

New capabilities available in per-product flavors include RSS feeds for our forums (I know, duh - this should have been there long ago), best practices pages, multi-media centers, wiki articles, code snippets and SDK examples. 

Last but not least, the Citrix Blogs platform has some simple to use, yet powerful enhancements, including "window shade" views of blogs to allow you to see more content in less real estate and the simplification of our group blogs to ensure you can find the content you are looking for. 

Today's launch of the revamped Citrix Community site is the first phase of multiple updates occurring in the next few months.  It is the result of a lot of hard work from the team, but also from the community.  Many of the changes and planned changes come directly from you, our community.  We are not done yet and I hope you aren't either. 

Please provide us feedback in the forms of responses to this blog, emails, or better yet post a video

Thanks for taking the time to check out the new Citrix Community site... and I have one last request... 

Discover, Connect, Participate

John

Expand Blog Post
Permalink | Twitter Post to Twitter | Comments (0) | Views (7921) |

posted by Peter Schulz

When you build a workflow using some of the PowerShell tasks you may come across a need for the special variable "$_". This variable represents the current pipeline object in PowerShell and is used in workflow tasks to refer to the passed in 'Input' object. One case where this comes up often is with the "Where-Object" task. When using this object your "Filter Script" property will typically contain something that looks like this:

$_.Status -eq "Running"

The above means to return all items from the Input object where the Status field is "Running"

I found this site that does a great job of explaining the special variables in PowerShell if you want to explore further:

http://www.computerperformance.co.uk/powershell/powershell_variables.htm

That site has a lot of tutorial pages on PowerShell covering the escape character I talked about in my previous post as well as a good summary of PowerShell syntax. I find myself on that site often from searching for PowerShell topics and often find answers there.

Expand Blog Post
Permalink | Twitter Post to Twitter | Comments (0) | Views (8256) |

posted by Peter Schulz

There was a question on the forums about calling the XenApp task Connect To Farm when using a domain user name. Since we are using PowerShell heavily under the covers the string passed in to this task for the username needs to use the PowerShell escape character whenever a reserved character for PowerShell is in the string. I searched Microsoft's site, but couldn't find much detail out there on this so I wanted to clarify here:

The escape character for PowerShell is the grave-accent character "`" (which on US keyboards should be in the upper-left of the keyboard to the left of the number 1.

I haven't been able to find much posted on reserved characters on Microsoft's site, but here is a good article that highlights what is in the PowerShell help documentation:

http://www.microsoft.com/technet/scriptcenter/resources/qanda/jan08/hey0117.mspx

Here is the list of characters from that article:

$
( )
*
+
.
[ ]
?
\
/
^
{ }
|

 If you need to use any of those characters in a string then you will need to escape it with the ` character. For example, to pass in a domain username to Connect to Farm in XenApp then you will need to pass in "domain`/user" instead of just typing "domain/user".

Expand Blog Post
Permalink | Twitter Post to Twitter | Comments (2) | Views (22147) |

posted by Peter Schulz

In a previous post I covered how to integrate Wake On LAN into your workflow, but how many people are currently using Wake On LAN or at least know that the majority of their servers support it?

Do the servers in your Data Center support Wake On LAN technology? Choose
Yes, and I currently use it
Yes, I believe so but I am not using it
No, they only support the hardware vendor's proprietary technology
No, they do not support any form of remote power management
I have no Idea
Expand Blog Post
Permalink | Twitter Post to Twitter | Comments (0) | Views (6856) |

posted by Peter Schulz

In a previous postI explained how to leverage the PowerShell Script task (and PowerShell code) to generate your own custom user interfaces in Workflow Studio. I ran across this script and wanted to share in case anyone wanted to get a date from a user:

http://www.microsoft.com/technet/scriptcenter/resources/pstips/mar08/pstip0314.mspx


 

Expand Blog Post
Permalink | Twitter Post to Twitter | Comments (3) | Views (16207) |

posted by Peter Schulz

In previous posts I have explored using Workflow Studio to Shut down a Windows host and also how to Shut down a XenServer host. Getting the power off is a big step in being greener, but if you could just turn off machines and leave them off permanently then you wouldn't need Workflow Studio Next we have to look at how to get those hosts powered back on.

There are a lot of different options out there for power management, but the one thing that is fairly consistently avaiable is Wake On LAN (WOL). In this post I am going to look at how WOL technology can be leveraged by Workflow Studio. Most modern server NICs have some form of WOL support (though you may have to turn it on in the BIOS.) This allows you to start up any machine that you know the MAC address for. Heare are some details on WOL from Intel and the Wikipedia WOL page has a good overview and a lot of links to free utilities and sample code.

Now that we have an understanding of how we want to start our server we can add it in as a task in Workflow Studio. There isn't a native WOL task in Workflow Studio (not yet anyway), but it is pretty easy to call one of the tools mentioned in the Wikipedia article with a "Launch Process" task. I started with that, but didn't like having to require one of these to be installed, so I went looking at the code samples. I finally found a great implementation of WOL in PowerShell by /\/\o\/\/ The PowerShell Guy. Paste that code in a PowerShell Script task and you have an embedded Wake On LAN task.

The next step is to put all this together into a single workflow with some business logic about when you want to start and stop your servers. I want to hear from you - what metrics would you want to use to drive a "Green" workflow? Is Wake On LAN supported in your data center? What issues do you have that this kind of a workflow could help with?

Expand Blog Post
Permalink | Twitter Post to Twitter | Comments (1) | Views (9432) |

posted by Peter Schulz

If you haven't read my post on whether we should have more customizable dialogs in Workflow Studio please check it out (here) and respond to the poll so I know what you think. In that post I mentioned that you could get custom dialogs today in Workflow Studio by leveraging PowerShell. Building Custom dialogs in PowerShell is not easy right now, but there are some projects out there to automate the process using the Visual Studio designer so it is getting easier. I'm not going to cover the specifics of how to create dialogs with PowerShell, but have a look at this Microsoft article for an introduction and then I will show you how to use this concept in Workflow Studio:

http://www.microsoft.com/technet/scriptcenter/resources/pstips/feb08/pstip0208.mspx

As I said, the process of building the dialog in PowerShell is tedious, but fortunately getting it into Workflow Studio is not so hard. Workflow Studio has a task called "PowerShell script" that can execute PowerShell script directly:

 
Just drag this task onto your workflow and paste the code from the above article into the "PowerShell Script" property. Now when you run your workflow you will get the dialog to appear. Pretty cool...
 
If you left all the defaults on your PowerShell Command task then you will also have the results of $x (the input string) in your $Output variable and you can use that in subsequent tasks.
 
In future articles I will look at how you can use this concept to create more complex dialogs and pass more complex objects out, but try it out and let me know what you think.

Expand Blog Post
Permalink | Twitter Post to Twitter | Comments (0) | Views (12265) |

posted by Peter Schulz

Many people have asked me how to build custom dialogs in Workflow Studio. Enough people have asked that I have built custom dialogs as native tasks in Workflow Studio and I have also built them in PowerShell (something you could do right now with the tech preview.) Before I post more information on how to do this though I want to better understand why people want to have custom dialogs.

An example that I often hear is that someone wants to modify one of our samples to prompt the user for their username and password in the same dialog instead of using two dialogs. Another example I hear is that people would like a multi-column display tool (like a grid) to display the contents of objects output from other tasks. When people ask me for this I begin to wonder how they plan to use the workflow once they get beyond testing it. When we created those samples we included the user input to ensure that the user is aware of what the workflow is doing and to provide a way for them to input the settings specific to their environment. We expect that most people will deploy workflows with these settings pre-configured in the tasks directly or by using the "Set Variable Value" task and that any output would be to XML files or other tasks.

I wrote a post on IT Process Automation with Workflow Studio that looks at some of the use cases we expect Workflow Studio to be used for. Read through that earlier post for a little deeper look at how I think workflows will be used.  [And if you think I am wrong please leave me a comment or send me an email...]

With that post in mind, I believe that the people requesting richer interaction from a workflow are either looking to do a lot of "On-Demand Automation" or they are looking for Workflow Studio to offer a richer set of debugging tools for desiging and debugging workflows. If you have read this far then take my poll and tell me which you think it is for you?

Why do you want a richer set of Input/Ouput tasks in Workflow Studio? Choose
To make designing and debugging workflows easier - I would delete them before deploying.
Because I expect to use "On-Demand Automation" type tasks heavily and not schedule workflows to run automatically
I don't need richer user interface options
Expand Blog Post
Permalink | Twitter Post to Twitter | Comments (0) | Views (9011) |

posted by Peter Schulz

I want to use this blog to post answers to common and/or complex questions I get asked about Workflow Studio. One that has been asked fairly often is how to access the MAC address of a VM running in XenServer. The MAC address for a VM is located in the following object path:

VMList.VM.VirtualInterfaces.MAC

When you call Get-VM you get back a list that represents multiple VMs. Whenever you are dealing with something that returns more than one item in Workflow Studio you are going to need to access the individual items with the "For Each Object" task. As you iterate over this list of VMs you will have a new object that represents an individual VM. This typically has properties on it that you want to access, but in this case there is another list of things named "VirtualInterfaces". Because a given VM can be assigned multiple network cards we have an object that represents each of them, so we need to go down one more level using the "For Each Object Task" to get an individual Virtual Interface so we can access the MAC property. I hope that is clear, but since pictures speak more clearly here is an example:

At the top of the workflow you would call Get-VM and then use For Each Object to iterate over each one returned:

 

 You will notice that the For Each task has the little (s) icon representing it has sub-tasks, so if you double-click on that task you will be able to specify the sub-tasks where you will iterate again on the Virtual Interfaces:



And  then you can access the individual MAC address:

Hopefully that clears up how to get to the MAC address of a VM.

Expand Blog Post
Permalink | Twitter Post to Twitter | Comments (3) | Views (13890) |

posted by Peter Schulz

In a previous post (Shutting Down a Windows Server) I looked at how you can shutdown Windows Servers in a workflow to save power. If you have already moved your workloads to a XenServer environment this task becomes a lot easier to manage. Shutting down a XenServer host is a three-step process:

  1. Suspend or Shutdown any VMs that you have running on the host (with either Suspend-VM or Shutdown-VM)
  2. Disable the host so new VMs cannot be started (with Disable-Host)
  3. Shutdown the host (with Shutdown-Host)

To turn this process into a complete workflow we need to define the logic that determines which hosts to shutdown and what to do with the VMs running on it. For simplicity sake I have chosen to shutdown all the hosts on my server (or in my Pool if a master server is specified) and to first suspend all the VMs currently running on the host(s). Here is what the workflow looks like:



I added in the prompts so that if you download this workflow and run it you are reminded to specify your own XenServer host name, user, and password, but in reality these items would most likely be hard-coded or specified at run time dynamically. Next we are going to have to look into starting Windows Servers and XenServer hosts back up as my server room is a long walk for me.

If you want to download the workflow to try in your environment I posted it to the Script Exchange where you can also post workflows you have built. Click here to download the workflow file.

Expand Blog Post
Permalink | Twitter Post to Twitter | Comments (2) | Views (12879) |

posted by Peter Schulz


The first question that most people ask me after seeing Workflow Studio in action is:

"Wow! That's cool, but what can I do with that?

I would like to use this post to try to explain why I think you should be doing automation in your data center today and then look at some different processes that are good candidates for automation with Workflow Studio.

Why should you automate?
The IT data center of today often includes products from many different vendors and consists of both hardware devices and software. Often, the SDKs that are available for all of these devices and software are quite inconsistent and some of your processes may have been developed by a consultant who is no longer around. Stop and ask yourself this question:

Are all of my processes consistently repeatable by anyone on the team?

If you can't answer 'yes' to that question then you should be looking into IT Process Automation. And if you want an easy way to automate tasks across multiple products/components without the need for complex scripting, then take a look at Workflow Studio.

Here are some broad categories for types of automation you might want to have in your data center:

  1. On-Demand Automation - Being able to launch a process that combines several tasks, possibly with some simple user input, in response to something that has happened in your environment (e.g. A call or email comes in that a new user needs to be setup, a new application installed, or permissions modified for a user.)
  2. Schedule-Based Automation - Schedule a task to be performed at a set time each day (e.g. Restart your servers every night at midnight.)
  3. Event-Driven Automation - Automate a set of tasks based on system events (e.g. When load is increasing bring more servers online and when load decreases take servers offline)

If you download the Tech Preview of Workflow Studio (free download here) you can look at some of the sample templates we include with the product and get a look at some On-Demand Automation out of the box. The Tech Preview doesn't really provide any help with scheduling or event management, but this type of functionality is being added to the product.

Next, let's look at what I think are the 3 key categories of use cases for Workflow Studio and some examples that you could put in action today:

  1. Server Resource Management = Dynamic Delivery Center - Transform your data center into a delivery center by creating workflows that tie together your server provisioning process (both physical and virtual) with your web, desktop, and application delivery processes.
  2. Power Management = Green Data Center - Being able to power on/off both physical and virtual servers automatically provides the ability to better manage your resources and, ultimately, save $$ by having your power-hungry servers off when they are not needed.
  3. User Management = Automated User Provisioning - Every organization has a process for provisioning and de-provisioning user accounts, but often these processes involve multiple manual steps. Automating the process end-to-end ensures that best practices are followed in exactly the same way each time.

I hope this encourages everyone to think about what kinds of tasks you could automate in your environment. Let me know in the comments what kinds of things you would like to automate or you can find my email address in my profile if you want to email me directly.

Expand Blog Post
Permalink | Twitter Post to Twitter | Comments (0) | Views (6838) |

posted by Peter Schulz

The PowerScripting podcast including the interview with myself on Workflow Studio and PowerShell has been posted:

 http://powerscripting.wordpress.com/2008/07/07/episode-32-citrix-does-powershell/

The interview with me starts at 15:30 in.

Enjoy!

Expand Blog Post
Permalink | Twitter Post to Twitter | Comments (0) | Views (7421) |

posted by Peter Schulz

In previous posts I discussed how to build a new workflow from a template we included in the tech preview (see Building Your First Workflow) and how to output objects to an XML file for debugging so you can understand the workflow (see Debugging Your Workflow). In this post I will answer the question posed in that first post of how you could modify the sample workflow to only show services that are set with a Startup Type of something other than Disabled. The answer to this question takes you into one of the areas where you can extend Workflow Studio to do things that aren't "built-in" to the product.

There are 3 main ways that Workflow Studio can be extended:

  1. Build templates and share with others - This is the easiest way for you to extend Workflow Studio, all you have to do is build a workflow and choose "File...Save As Template" and then share it with someone else. Citrix has a site set up for you to upload and share the templates you build. Upload Your Workflow Templates
  2. Create new Task Libraries - The left side of Workflow Studio is a set of libraries that we include with the product to integrate with Citrix products, Virtual Machine Manager, and Windows in general. There will be tools available for anyone interested to build their own integration to other products. These tools are not available publically yet, so if anyone is interested in building task libraries on top of Workflow Studio please contact me.
  3. Leverage support for 'extensible' tasks - Workflow Studio has native support for you to embed PowerShell scripts, call VBScript, and run WMI queries as tasks as well as run Windows applications and command files.

This last area is the topic for this post. Here is a screenshot with these extensible tasks highlighted:

 

From top to bottom in the picture we have:

  • Command Script - allows you to run a Windows command (or specify a .bat or .cmd file), optionally specify parameters and get back the text of the command session
  • Get WMI Info - allows you to run WMI queries and get back the results
  • Launch Process - allows you to run a Windows executable (there is also a Start Process that lets you schedule executables to be run)
  • Windows Script - allows you to run VBScript or JScript directly (or call a script file)
  • PowerShell Command - allows you to run a PowerShell cmdlet
  • PowerShell Script  - allows you to run PowerShell script directly (or call a script file)

As you can see there are lots of ways to leverage Workflow Studio to complete tasks beyond the obvious, included ones. This could allow an admin to document existing scripts by turning them into workflows providing a visual record of how the process flow is structured and making complex scripts more easy to update as the process flow changes later.

Alright, back to the original problem - how do we modify our sample workflow to hide services that are set to disabled? After some searching around we find that the WMI query Win32_Service provides us with the same basic object, but with additional info like the Startup Type. By modifying our workflow to replace the "Get-Service" task with a "Get WMI Info" task and setting its "WMI Class" property to "Win32_Service" we now have an object that provides everything we need. One thing to note - the "Status" property that we were using on Get-Service is called "State" on the WMI object so we need to change our "Where-Object" to reflect that. The new Where-Object filter would be:$.State -eq "Stopped" -and $.StartMode -ne "Disabled"

The syntax for this filter follows PowerShell syntax so any PowerShell guide will help you with the syntax. Play around with this - hook up an "Export To XML" task to the WMI result so you can see all the properties and let me know what you think.
 

Expand Blog Post

<< Prev   1     2     3   4   5   Next >>