Welcome!

Open Web Authors: Elizabeth White, Pat Romanski, PR.com Newswire, David Weinberger, Louis Nauges

Related Topics: Java, Adobe Flex, AJAX & REA, Web 2.0, Open Web, Apache

Java: Article

RIA Load Testing for Dummies

RIAs represent the next step toward a more interactive, efficient, and easy-to-use web

We all know that since the early ‘90s, Internet usage has exploded. Buying online, 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 ‘90s, 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 Internet world. 2002 saw the release of the first .NET Framework version. This platform allowed the 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 arrived 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. In fact JavaScript keeps the same approach as HTML as it's 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" was used for the first time by Tim O'Reilly. This term describes an evolution of the web toward greater simplicity and interactivity and technically speaking, it brings on the front of Rich Internet Applications (RIAs).

RIAs today are 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 the 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 (a combination of JavaScript and XML) is a popular derivation of the original JavaScript. Several frameworks also exist, among 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).

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 between client and server, the dialog being initiated by the server and not the client. It's 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 flow 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 were currently using a web CRM instead of a desktop app, and an additional 12% were considering replacing desktop CRM with a web app. This survey pinpointed the fact that RIAs were not only a part of our web environment, but tended 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 three 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?

More Stories By Olivier Hanoun

Olivier Hanoun is a Senior Performance Engineer at Neotys, a provider of load testing software for Web applications. Previously, he worked as a Technical Marketing Manager in a semi-conductor Taiwanese company. Prior to that he was an engineer in STMicroelectronics. Being in Neotys from the early development of the company, 5 years ago, Olivier has been involved in load and performance testing projects as well as delivering professional services and trainings. He is also involved in pre-sales and marketing activities. He graduated from the “Ecole Centrale de Marseille” with an MS in Computer and Sciences, and from the French Air Force Academy with an MS in Mechanic and Aeronautic.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.