Welcome!

Java Authors: Elizabeth White, Cloud Best Practices Network, Liz McMillan, Hovhannes Avoyan, Tad Anderson

Related Topics: Adobe Flex, Java, AJAX & REA

Adobe Flex: Article

Three Tips to Successfully Load Test Adobe Flex Applications

It has become increasingly important to performance test these web applications under different loads

The world has changed dramatically for organizations that use web-enabled business applications in enterprise environments. The complexities of modern applications, which include multi-tiered, globally distributed architectures, SOA and a host of other new technologies, have forced major change in the way enterprises develop, test and manage web-enabled applications. Specifically, Rich Internet Application (RIA) technologies such as Adobe Flex allow a faster, more engaging, interactive experience with browser- enabled applications and services. While an attractive option for developing expanded application capabilities these RIA technologies bring new challenges to organizations that need to deploy application features and functions in a compressed time frame and at a lower cost.

Preparing for the shift as part of this new technology trend, companies must adapt their testing approach as well. Given the way new technologies work when deployed on Onternet/intranet applications, it's important to be careful in approaching the testing of Flex applications. When rolling out next-generation applications on a mission-critical enterprise application platform, you need to be confident that your systems will perform. As load testing is one of the last crucial tasks before launching a web application, it's usually done under pressure and with tight time constraints. Before we discuss tips to make you successful when load testing Adobe Flex applications, first let's look at how Adobe Flex applications are unique.

Adobe Flex applications may be different from applications you've worked with before. For classic HTML web applications, the server does all of the processing. In addition, the rendering of HTML requires full page refreshes. Flex applications are different because content is delivered without having to reload the page. These applications download the Flash client application and run in the browser, or for Adobe AIR applications, on the desktop. The Flash is constantly being updated by the server, asynchronously. For this reason, Adobe Flex server loads reveal a very different profile.

We all know it is important to measure transaction response times when performance testing web appli­cations. But Flex technology can cause significant increases in the number of browser-to-server HTTP calls made in the background and this increase in traffic can have a profound effect on per­formance. While users might not be aware of the round-trips between the browser and a distant server, they will definitely notice performance a problem if the application is slow or doesn't work because of the increased load. Knowing the scalability limitations of your deployments is crucial.

Innovative RIA technologies like Flex present new challenges with respect to emulating a realistic load. If you're developing or deploying applications in this newer technology, successfully addressing these challenges requires thinking about load testing in new ways. Let's look at the new challenges in load testing Flex applications and three tips to improve application performance and enrich the user experience.

Tip 1: Make sure you can decode AMF and process internal identifiers
Adobe's Flex AMF (Action Messaging Format) protocol is used to exchange data between an Adobe Flash application and a database, using a Remote Procedure call. Since the data is in compressed binary format, communication is faster and more efficient than a web service. Older load testing solutions claim they can handle "Flex" technology, but have difficulty doing so in the real world. Many load testing tools rely on data being sent over HTTP and don't tap into the AMF protocol. Therefore, they don't go deep enough to understand what is being exchanged between client and server. For optimum testing, make sure your load testing tool decodes these objects so that you can parameterize the requests, extract data from the response and validate the response. Users should look for automated variable extraction and parameterization, automated comparison features to show changes from one code base to the next and automated documentation of results so test output is immediately actionable by all stakeholders.

In addition, AMF message protocol uses internal identifiers (clientId, DSId, etc.) to maintain the AMF session. Parameters in an AMF session are dynamically generated and are numerous. To avoid painful manual configuration of these parameters, make sure that your load testing tool automatically processes serialized objects and identifiers.

Tip 2: Make sure you can support customized external messages
AMF3 compact binary format helps integrate binary data exchange into all server platforms. The protocol improves the quality of all remote and messaging solutions for Flex and optimizes data exchange. AMF3 reduces the quantity of exchanged information and avoids redundant messages. In particular, AMF3 externalizable messages allow developers to customize the serialization of objects exchanged in AMF.

When selecting a load testing tool, make sure it allows you to integrate custom code into it. For optimum testing, the customized code should be loaded and run by the testing tool to correctly replay custom messages.

Tip 3: Make sure you can support polling and streaming
Many Flex applications require that some data are regularly pushed from the server to the client. Servers using AMF protocol update client data in two ways:

  • The polling method: This is when the browser queries the server at regular intervals. Technically simple in its implementation, the method's downside is that it needlessly overloads the server and is not very reactive. When these applications are recorded with a load testing tool, a high number of browsers to server requests are recorded along with other more significant requests. It's important to make sure your tool can automatically simplify your recording to get a clear maintainable script.
  • The streaming method: In this case, the client sends a single request to the server and the server responds when pertinent information is available, without closing the request. The server can send information to the client again using the same connection, without having to wait for a new request. Using this method, client data can be rapidly updated while network traffic is kept to a minimum. The testing tool must be able to keep the stream open when it plays a streaming request. This request will block the connection so the tool has to use a second connection for classic requests.

In both cases, typical HTTP response times are not useful. For regular HTTP requests, load testing tools measure the time between when the request is sent and when the response is received. It's important that your load testing tool can measure what's really interesting: the time between when the server updates the client and when the client receives the update. Not only should the tool measure this information but this function should be automated so that testing can be done frequently and earlier in the lifecycle.

As more and more companies deploy mission-critical applications on the Internet, it has become increasingly important to performance test these web applications under different loads before they go live. While Adobe Flex provides expanded capabilities to develop new powerful applications in support of organizational needs, the technology is different from other applications. As a result a new approach to load testing is required. To understand how your applications will work in the Adobe Flex production environment, and to optimize them for higher performance, you need be able to simulate not just the actions of one user, but the actions of many users. By implementing the tips in this article, companies can quickly adapt their testing methodology to handle Flex applications, get to market faster and easier than ever before, while improving productivity and saving money.

More Stories By Christophe Marton

Christophe Marton is co-founder of Neotys and co-creator of the development tool NeoLoad. Previously, he worked at Calendra where he developed his expertise in the performance and load testing space, for which he ultimately developed a unique vision for a next generation solution. While at Calendra, he developed software solutions for the identity management market which was later acquired by BMC software in 2005. During his six year tenure at Calendra, he developed the skills required to create, develop and take cutting edge software to market. Marton is a Computer Engineering graduate of ESIL Marseille Engineering School.

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.


@ThingsExpo Stories
SYS-CON Events announced today that B2Cloud, a provider of enterprise resource planning software, will exhibit at SYS-CON's 16th International Cloud Expo®, which will take place on June 9-11, 2015, at the Javits Center in New York City, NY. B2cloud develops the software you need. They have the ideal tools to help you work with your clients. B2Cloud’s main solutions include AGIS – ERP, CLOHC, AGIS – Invoice, and IZUM
The Internet of Things Maturity Model (IoTMM) is a qualitative method to gauge the growth and increasing impact of IoT capabilities in an IT environment from both a business and technology perspective. In his session at @ThingsExpo, Tony Shan will first scan the IoT landscape and investigate the major challenges and barriers. The key areas of consideration are identified to get started with IoT journey. He will then pinpoint the need of a tool for effective IoT adoption and implementation, which leads to IoTMM in which five maturity levels are defined: Advanced, Dynamic, Optimized, Primitive,...
Containers and microservices have become topics of intense interest throughout the cloud developer and enterprise IT communities. Accordingly, attendees at the upcoming 16th Cloud Expo at the Javits Center in New York June 9-11 will find fresh new content in a new track called PaaS | Containers & Microservices Containers are not being considered for the first time by the cloud community, but a current era of re-consideration has pushed them to the top of the cloud agenda. With the launch of Docker's initial release in March of 2013, interest was revved up several notches. Then late last...
There is no doubt that Big Data is here and getting bigger every day. Building a Big Data infrastructure today is no easy task. There are an enormous number of choices for database engines and technologies. To make things even more challenging, requirements are getting more sophisticated, and the standard paradigm of supporting historical analytics queries is often just one facet of what is needed. As Big Data growth continues, organizations are demanding real-time access to data, allowing immediate and actionable interpretation of events as they happen. Another aspect concerns how to deliver ...
SYS-CON Events announced today that MangoApps will exhibit at SYS-CON's 16th International Cloud Expo®, which will take place on June 9-11, 2015, at the Javits Center in New York City, NY., and the 17th International Cloud Expo®, which will take place on November 3–5, 2015, at the Santa Clara Convention Center in Santa Clara, CA. MangoApps provides private all-in-one social intranets allowing workers to securely collaborate from anywhere in the world and from any device. Social, mobile, and easy to use. MangoApps has been named a "Market Leader" by Ovum Research and a "Cool Vendor" by Gartner...
The world's leading Cloud event, Cloud Expo has launched Microservices Journal on the SYS-CON.com portal, featuring over 19,000 original articles, news stories, features, and blog entries. DevOps Journal is focused on this critical enterprise IT topic in the world of cloud computing. Microservices Journal offers top articles, news stories, and blog posts from the world's well-known experts and guarantees better exposure for its authors than any other publication. Follow new article posts on Twitter at @MicroservicesE
WebRTC defines no default signaling protocol, causing fragmentation between WebRTC silos. SIP and XMPP provide possibilities, but come with considerable complexity and are not designed for use in a web environment. In his session at @ThingsExpo, Matthew Hodgson, technical co-founder of the Matrix.org, discussed how Matrix is a new non-profit Open Source Project that defines both a new HTTP-based standard for VoIP & IM signaling and provides reference implementations.
So I guess we’ve officially entered a new era of lean and mean. I say this with the announcement of Ubuntu Snappy Core, “designed for lightweight cloud container hosts running Docker and for smart devices,” according to Canonical. “Snappy Ubuntu Core is the smallest Ubuntu available, designed for security and efficiency in devices or on the cloud.” This first version of Snappy Ubuntu Core features secure app containment and Docker 1.6 (1.5 in main release), is available on public clouds, and for ARM and x86 devices on several IoT boards. It’s a Trend! This announcement comes just as...
The security devil is always in the details of the attack: the ones you've endured, the ones you prepare yourself to fend off, and the ones that, you fear, will catch you completely unaware and defenseless. The Internet of Things (IoT) is nothing if not an endless proliferation of details. It's the vision of a world in which continuous Internet connectivity and addressability is embedded into a growing range of human artifacts, into the natural world, and even into our smartphones, appliances, and physical persons. In the IoT vision, every new "thing" - sensor, actuator, data source, data con...
The WebRTC Summit 2015 New York, to be held June 9-11, 2015, at the Javits Center in New York, NY, announces that its Call for Papers is open. Topics include all aspects of improving IT delivery by eliminating waste through automated business models leveraging cloud technologies. WebRTC Summit is co-located with 16th International Cloud Expo, @ThingsExpo, Big Data Expo, and DevOps Summit.
The Internet of Things is not new. Historically, smart businesses have used its basic concept of leveraging data to drive better decision making and have capitalized on those insights to realize additional revenue opportunities. So, what has changed to make the Internet of Things one of the hottest topics in tech? In his session at @ThingsExpo, Chris Gray, Director, Embedded and Internet of Things, discussed the underlying factors that are driving the economics of intelligent systems. Discover how hardware commoditization, the ubiquitous nature of connectivity, and the emergence of Big Data a...
SYS-CON Events announced today the IoT Bootcamp – Jumpstart Your IoT Strategy, being held June 9–10, 2015, in conjunction with 16th Cloud Expo and Internet of @ThingsExpo at the Javits Center in New York City. This is your chance to jumpstart your IoT strategy. Combined with real-world scenarios and use cases, the IoT Bootcamp is not just based on presentations but includes hands-on demos and walkthroughs. We will introduce you to a variety of Do-It-Yourself IoT platforms including Arduino, Raspberry Pi, BeagleBone, Spark and Intel Edison. You will also get an overview of cloud technologies s...
SYS-CON Media announced today that @WebRTCSummit Blog, the largest WebRTC resource in the world, has been launched. @WebRTCSummit Blog offers top articles, news stories, and blog posts from the world's well-known experts and guarantees better exposure for its authors than any other publication. @WebRTCSummit Blog can be bookmarked ▸ Here @WebRTCSummit conference site can be bookmarked ▸ Here
Scott Jenson leads a project called The Physical Web within the Chrome team at Google. Project members are working to take the scalability and openness of the web and use it to talk to the exponentially exploding range of smart devices. Nearly every company today working on the IoT comes up with the same basic solution: use my server and you'll be fine. But if we really believe there will be trillions of these devices, that just can't scale. We need a system that is open a scalable and by using the URL as a basic building block, we open this up and get the same resilience that the web enjoys.
In his session at WebRTC Summit, Peter Dunkley, Technical Director at Acision, will look at creating interactive communications via the web by adding messaging, file transfer, and group communication (group chat and audio/video conferencing) into the web experience. He will also discuss potential applications of this technology in areas including B2B, B2C, P2P, and gaming. Peter Dunkley is Technical Director at Acision. He graduated from The University of Edinburgh in 2000 with a BSc (Hons) in Computer Science. After graduation Peter worked on a PSTN switch developing signalling stacks for SS...
What exactly is a cognitive application? In her session at 16th Cloud Expo, Ashley Hathaway, Product Manager at IBM Watson, will look at the services being offered by the IBM Watson Developer Cloud and what that means for developers and Big Data. She'll explore how IBM Watson and its partnerships will continue to grow and help define what it means to be a cognitive service, as well as take a look at the offerings on Bluemix. She will also check out how Watson and the Alchemy API team up to offer disruptive APIs to developers.
SYS-CON Events announced today that Site24x7, the cloud infrastructure monitoring service, will exhibit at SYS-CON's 16th International Cloud Expo®, which will take place on June 9-11, 2015, at the Javits Center in New York City, NY. Site24x7 is a cloud infrastructure monitoring service that helps monitor the uptime and performance of websites, online applications, servers, mobile websites and custom APIs. The monitoring is done from 50+ locations across the world and from various wireless carriers, thus providing a global perspective of the end-user experience. Site24x7 supports monitoring H...
It's time to put the "Thing" back in IoT. Whether it’s drones, robots, self-driving cars, ... There are multiple incredible examples of the power of IoT nowadays that are shadowed by announcements of yet another twist on statistics, databases, .... Sorry, I meant, Big Data(TM), tiered storage(TM), complex systems(TM), smart nations(TM), .... In his session at WebRTC Summit, Dr Alex Gouaillard, CTO and Co-Founder of Temasys, will discuss the concrete, cool, examples of IoT already happening today, and how mixing all those different sources of visual and audio input can make your life happier ...
We heard for many years how developing nations would be able to develop mobile-phone networks quickly, perhaps even leapfrog developed nations, because their lack of traditional, wired networks would not inhibit them from deploying the new technology. Now there is talk of history repeating itself with the Industrial Internet--a key aspect of the emerging Internet of Things. For example, Guo Ping, Deputy Chairman of the Board of Chinese electronics giant Huawei, said in a recent report from the World Economic Forum, "The Industrial Internet will afford emerging markets a unique opportunity ...
Chuck Piluso will present a study of cloud adoption trends and the power and flexibility of IBM Power and Pureflex cloud solutions. Speaker Bio: Prior to Data Storage Corporation (DSC), Mr. Piluso founded North American Telecommunication Corporation, a facilities-based Competitive Local Exchange Carrier licensed by the Public Service Commission in 10 states, serving as the company's chairman and president from 1997 to 2000. Between 1990 and 1997, Mr. Piluso served as chairman & founder of International Telecommunications Corporation, a facilities-based international carrier licensed by t...