RIA Load Testing for Dummies

Introduction

We all know that since the early 90’s, internet usage has exploded. Buying on-line, booking a trip or communicating with friends and relatives are just a few examples of what all of us are doing every day. The continuous development of broadband connectivity has also made easy the growth of those services and as more bandwidth becomes available, quality will continued to improve as well. Considering this evolution and looking at the details of its capabilities, it appears Rich Internet Applications are one of the most important elements to improve the user experience in the modern internet era.

From HTML to RIA

First let’s explore how we got to where we are today by looking at the major steps in the development of the internet.

Back in the 90’s, HTML came out and was quickly established as the main markup language for web pages. HTML allows images and objects to be embedded and can be used to create interactive forms. You can create structured documents through a defined semantic model, but essentially HTML was designed to deliver static content. This was the birth of the web as we know it today.

For about 10 years HTML ruled the world of internet. 2002 saw the release of the first .NET framework version. This platform allowed creation of professional apps for business, linking back-end information and user rendering. It also appeared to be more efficient than HTML for business processes and the industry progressively adopted this way of thinking. In the meantime, JavaScript, ActiveX and Applets arrive on the web market. They allowed the addition of even more functionality on the client side. That said, it was more a revolution of the style instead of the content. JavaScript keeps in fact the same approach as the HTML as it is still a sequential model meaning the server provides information only if the client asks for it. But this approach is no longer sufficient. Applications have continued to grow in terms of complexity as users are enabled to create more and more interactions.

In 2004 “Web 2.0” is used for the first time by Tim O’Reilly. This term describes an evolution of the web towards greater simplicity and interactivity and technically speaking, it brings on the front of Rich Internet Applications (RIAs).

RIAs are today the latest evolution of the web. Following HTML and .NET, RIAs now enable more dynamic and interactive applications, more intuitive UIs, and data availability at any time through real time communication.

RIA: technologies and advantages

One of the most significant impacts of RIAs is that now a lot of actions are computed on the client side. JavaScript language, in particular, has been specifically created for such a purpose. As a result, RIAs enable many new capabilities and features for users, which would have been impossible with HTML alone. Today most of the RIA UIs embed drag and drop, dedicated tool bars, calculations, and more.

Although there are now a number of RIA technologies available, JavaScript appears to be the first language able to execute code on the client side. AJAX (combination of JavaScript and XML) is a popular derivation of the original JavaScript. Several frameworks also exist, amongst the most well-known: Dojo, jQuery, Scriptaculous… Adobe also created its own solution based on Flash: Flex. Microsoft created Silverlight and Google assembled GWT (Google Web Toolkit). And, of course, HTML5 is now gaining momentum.

The advantages of RIAs are numerous and include:

  • RIA Frameworks enable faster releases.
  • No installation on the client side is necessary.
  • Users can use the application from anywhere and from any computer, as long as it has internet and a web browser.
  • It’s easier to maintain for administrators. Changes are done once and everybody can connect back to the application.

Real-time information: Push

Earlier we talked about the greater complexity of the users interactions. RIAs and push seem to be able to help here. Push is a way to communicate in between client and server, the dialog being initiated by the server and not the client. It is the opposite of what we are used to seeing in earlier web applications in which the user first sends a request to obtain a response from the server. This new way of exchanging information gives Web Apps a new dimension. Without any specific action, users can follow their usual flows and simultaneously get alerts about events they defined themselves. This communication mode is widely used in banking and trading apps where responsiveness is not merely important, but critical.

Adoption by the industry

A survey by Service-now.com in 2010 about web CRM adoption showed that 81% said that they are currently using a web CRM instead of a desktop app. and an additional 12% are considering replacing desktop CRM with a web app. This survey pinpoints the fact that RIAs are not only part of our web environment, but tends to be viewed as the standard in the industry.

In becoming an industry standard, web application technologies must also be subject to improvements in optimization and reliability. Like standard websites, RIAs must ensure sufficient performances to satisfy users. Web load testing has been in existence for about 20 years and brings valuable information and benefits to testers. Primarily it helps by improving the quality of websites. But what about load testing RIAs? Is it the same activity and do the tools remain the same?

Load-testing RIAs: the tools

To answer this last question, yes tools are pretty much still the same in terms of the information they can provide. But tool vendors must keep up with the latest technologies in order to meet the needs of RIAs. We said that an RIA is much more interactive than any website. Technically speaking this means a large flow of requests and responses are generated, much more than for a typical website. Technologies like Push and Streaming can create hundreds of requests whereas the user might have only executed 3 clicks. New complex behaviors are the consequence of the RIAs and therefore load testing tools must follow this trend by being more responsive to the needs of emerging technologies.

If tool vendors really want to answer RIA needs, their tools have to integrate automatic recognition of RIA frameworks. They must enable testers to rapidly create business case transactions. The new tool must be intuitive, RIA ready but without ignoring the existence of conventional HTTP websites.

Conclusion

RIAs represent the next step toward a more interactive, efficient, and easy to use web. They are becoming a standard for the industry and therefore must be optimized to ensure good performance for the users. Load testing is essential to effectively optimize the performance of these new technologies. Because of the change in how RIAs handle client / server interactions, special consideration must be given to testing methodology and tooling. The RIA trend is now fully upon us. Are you ready?

, , ,

Leave a Reply