In XenDesktop – Director provides great information to Administrators that gives them insight into what is happening within their deployment. You might be wondering where this information is coming from. In previous releases of XenDesktop, most of the data in Director was retrieved by going directly to the Broker Service API’s. One disadvantage to using this API was this service did not (by design) include access to historical information about usage. You could find out how many sessions existed at the moment, but if you wanted to know how many sessions happened yesterday, it was impossible. In XenDesktop 7 – a new service was added to the site that provides the ability to retrieve historical information about Sessions and Connections. This new service is called the Monitor Service.
One goal when creating this service was to add the ability to provide easy access to the historical data for customers and partners. In view of that, an easy to use API technology was chosen that could be accessed from many different places (and not just PowerShell).
The API technology chosen for use by the Monitor Service to expose the data is called OData. It is an open format that can be accessed from many different programming languages quite easily. In fact, whether you are writing code for mobiles apps for IOS, Android,Windows Phone or Desktop/Enterprise software in C#, Java or Ruby, there are libraries that can help you easily add OData client support to your application. There are other native applications that can easily consume the OData information without any programming experience (LinqPad, Microsoft Excel PowerPivot to name a few).
The XenDesktop Support docs have quite a bit of information about how to use the API here. In an effort to provide relevant information and make it really easy for administrators to use the API to find information that is useful to them, I’m going to write a few blog posts to describe what I’ve found useful when working with OData and how the API can be used. If there are specific requests, please add them in the comments and I’ll try to address them as I have time.