RIA Architecture - An Emerging Software Architecture Discipline

RIA brings about many benefits over the traditional simple web applications - richer user interface/experience, better responsiveness through asynchronous client-server communication, network efficiency, etc, it is no wonder RIA is getting so much interest in the industry.

However, with the more sophisticated software architecture of RIA, it also brings additional complexities when we want to analyse the typical architecture qualities (performance, scalability, reliability, etc) in addition to the obvious tougher requirements on development and testing tools.

Take 'performance measurement' for example.

It is more challenging to get a measure of the performance/scalability behaviour of a RIA. The asynchronous communication architecture of RIA fundamentally makes the measurement, prediction, and isolation of performance and performance hotspots challenging. Traditional methods of measuring response times from the client tier simply no longer works well in the RIA architecture - since the messages no longer move synchronous across client and server components, but instead has decoupled asynchronous communication behaviours built into the architecture itself.

Scott has already identified the need for the role of 'RIA Architects' - for the purpose of better leveraging the design and develop capabilities of a team, I couldn't agree more, and I suspect there is also ample research opportunities in developing better performance evaluation/prediction tools amongst a few other potentially fruitful research topics around RIA.