Web Interface for Resource Manager 3.0 Architecture Update

21

When the Web Interface for Resource Manger Roadmap was posted, I mentioned that Web Interface for Citrix Resource Manager version 3.0 would include a major architectural shift toward a Service Oriented Architecture (SOA). This shift is well underway and the purpose of this post is to share some of the progress as well as some of the nuts and bolts behind the architecture.

When the Web Interface for Resource Manger Roadmap was posted, I mentioned that Web Interface for Citrix Resource Manager version 3.0 would include a major architectural shift toward a Service Oriented Architecture (SOA). This shift is well underway and the purpose of this post is to share some of the progress as well as some of the nuts and bolts behind the architecture. Disclaimer – the following may get a little boring.

Web Services
I have been toying with this idea for a while and finally made the decision to move everything to Web Services. Web Services allow for a greater separation of presentation and data. The thought behind creating sets of Web Services in Web Interface for Citrix Resource Manager is to allow other applications to consume the data WIRM produces. Other applications such as Microsoft SQL Server Reporting Services, SharePoint, custom portals, Project S-Bend, etc. can all consume these Web Services. And remember, WIRM is moving beyond the bounds of the Citrix Resource Manager Summary Database so there will be Web Services for the Configuration Logging database, Active Directory, MFCOM, WMI providers, third party data sources, etc. as well as the Web Services for the Citrix Resource Manager Summary Database.  Here is a screen shot of some of the Resource Manger Web Service’s rendered WSDL:

Web Services


Generic Database Access, DAL, and DAAB

One of the challenges of querying the Citrix Resource Manager Summary Database from a generic application is that the database can be Microsoft SQL or Oracle. What I have done in the past with Web Interface for Citrix Resource Manager is maintain separate data access blocks – one for SQL and one for Oracle. Depending on the database provider specified in the database connection string in web.config, I would utilize the System.Data.SqlClient or System.Data.OracleClient namespace. This has proven to be a cumbersome and time consuming process to code and test.

Enter the Microsoft Enterprise Library Patterns and Practices Data Access Application Block (a.k.a. DAAB). Web Interface for Citrix Resource Manager implements a Data Access Layer (DAL) which is a common SOA component. The DAL is responsible for physically getting the data from the source(s) and delivering the data to the Web Service(s) – sometimes there is a façade’ in between, but that is another discussion. One of the major pieces of the DAL for Web Interface for Citrix Resource Manager is the DAAB. The DAAB allows for generic database access which means one (reduced) set of code that allows access to either Microsoft SQL or Oracle (or any other ODBC compliant database for that matter).

SOA Architecture

“Sneak Peek” of Version 3.0
The above mentioned architecture makes the information aggregation possible in version 3.0.  To get a better idea of how this all fits together, I have included this screen shot of the new configuration page.  The more information you provide on the configuration page, the more information you get in the Web Interface.

So, stay tuned, there is still more to come…

21 thoughts on “Web Interface for Resource Manager 3.0 Architecture Update

  1. Edgesight still writes information to a back end database. Writing a provider for that database is on my agenda as well. Anyway, that means more information to link together – which means more functionality for this Web Application. I am still thinking about a new name for this product since it is moving beyond Resource Manager.

  2. Jason, looks really nice… Can be ability to connect to MFCOM (Datastore) expected in first release?? I find reporting by BrowserName as limitation of all Citrix reporting tools – and Citrix recently released patch that is turning on “randomization” of browser name (last 8 characters are random), so in reports you see Appx%JS3Jkf$ instead of AppX.

    If I get it right, you should be able to get data from datastore and you them in display, so for example use AppDN as unique ID instead of browser name??

    Thanks, keep up good work.

    Martin

  3. I guess I should have expected that question. The answer is – hopefully soon. Everything I develop (including this site) is done in my spare time (since I have a full time job and family). That being said – I have most of the new back-end coded. I am working on adding some new high level reports for the 3.0 release. When all that is stable in my lab, I will send the code out for beta testing and translation. Then, I will release to the public.

  4. Hi Jason, great job here, I’m open for beta-testing and Slovak translation too, feel free to contact me (gurnikgmail.com)

  5. Jason, Thanks for providing such a great tool. My question here is can i see usage based on users accessing Citrix from our Internal and External Networks.I want to separately see the count for users coming internally and externally. Also i am new to this tool so can you suggest me how can i look into the version of the tool which is set up in our environment so that i can check and update this to the latest version. Thanks in advance.

  6. Jason,

    Any chance there will be a version 3.0.. ??

    Citrix is rerusing to support the canned reports in citrix if you dont have "all" servers in the farm at the same rollup hot fix level.
    They claim that if you have R02, R03 and R04 mixed in the farm that the Resource manager db will not collect the data properly because of the "Schema changes"

    And their perferred answer from the sales team is to purchase Edgesite.
    Instead of fixing the resource manager reports.

  7. A new version is in the works. It is a total code re-write though, so it is taking a while. I will be releasing the configuration logging piece as the conclusion to the configuration logging article series.

  8. Jason – I’d like to know if any of the web services you’ve developed or if 3.0 is available for beta testing. This project has a lot of promise.

    Thanks
    B

  9. Hi Jason,
    I`d be insterrested in Beta Testing of Project Ralay too ..
    We are using WIFRM in our Productive and TestFarms (still Presentation Server 4.0) mainly for Trouble Shooting and Concurrency Planning ..

    Greetings from Austria
    Markus

Leave a Reply

Your email address will not be published. Required fields are marked *