I've finally published to MSDN what we've been working with our partner Murano Software for the last couple of months - Rich Cloud Application Framework and Sample. This is a proof of concept (POC) application based on RCA concepts I described before.
To summarize - the RCA framework is contained entirely inside the POC solution and takes form of server-side Azure components and client-side Silverlight components. It provides best practices on how to build scalable applications with rich UX. It has following components provided in a single package:
1. Scalable duplex notification infrastructure working with Azure and Silverlight 32. MVVM implementation in Silverlight 33. Data access implementation allowing Silverlight 3 apps to seamlessly access Azure Storage just like any WCF Data Source4. Live Id Authentication and Authorization with Silverlight and Azure storage
The sample implemented on top of the framework to illustrate its capabilities is Product Support Online - a simple product support and feedback system which also provides reference Azure+Silverlight implementation for the following collaborative features:
1. Problem report and product feedback tracking2. User profile management and administration3. Peer-to-peer messaging4. Rating system covering users, their reports and comments5. Attachment management system6. Usage statistics – both in-place with Silverlight charts and outside with site analytics7. Item search, both in-place and with providers such as Microsoft FixIt
The v.next of RCA POC will also include following features made possible with release of Silverlight 4 RC:
1. Full out-of-the-browser support (caching and fully functional offline mode a-la Outlook)2. Using SQL Azure for storing messages and work items3. Printing support for lists of discussions and work items being exchanged in the system4. Integration with mic/webcam in SL4 for more effective collaboration5. Using Silverlight 4 UDP multicast for peer-to-peer work to avoid heavy traffic (and costs) with Azure when possible
Product Support Online sample is also deployed live in Windows Azure: http://pso.cloudapp.net. Give it a try!
Full source code is published on MSDN Code Gallery under MS-PL license and is free to use in your own social networking, project management and other products requiring collaboration features such as these. Enjoy!
Getting an error when running the application in the IDE.
Object reference not set to an instance of an object.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.
Source Error:
Line 78:
Line 79: Application.Lock();
Line 80: _queueStorage = _cloudStorageAccount.CreateCloudQueueClient();
Line 81:
Line 82: CleanupQueues();
@wh - it's very likely that configuration for your Azure Storage account wasn't properly defined in the code. Please note the installation instructions supplied with the package on how and where to configure it.