If you receive errors when attempting to view this white paper, please install the latest version of
Adobe Reader.
"Infosys defines, designs and delivers technology-enabled business solutions that help Global 2000 companies win in a Flat World. Infosys also provides a complete
range of services by leveraging our domain and business expertise and strategic alliances with leading technology providers."
Source : Infosys
Rich Internet Applications (RIA): Opportunities and Challenges for Enterprises
Rich Internet applications (RIA) is also known as :
Web Application,
Web Apps,
RIA,
Web Technology ,
Web Analytics ,
Web Engineering,
Rich Internet Application Frameworks,
Software Framework ,
Software Development,

Content Management Framework,
Web Services,
Software Architecture ,
Web Development,
Web App,
Web Application Development,
Web Application Framework,
Web Applications.
Abstract
Rich Internet Applications (RIA) represent the next transition in
the evolution of web applications; they promise the richness,
interactivity and usability lacking in many of today's web
applications. As with any technological transition, this implies that
there are new opportunities to be explored and new challenges to
be negotiated. To maximize the benefits of RIA adoption in tune
with contemporary trends, an enterprise should assess the
following:
- How does RIA fit in an SOA-based enterprise architecture
stack?
- What role will RIA play in SaaS delivery model and
mashups?
- What are the business benefits of adopting RIA and what
are the challenges?
Introduction
The Web has become the preferred platform for conducting business quickly and effectively. So
much so that organizations like Amazon and eBay depend on online applications to a large
extent. Users can book a hotel room, plan travel, trade in stocks, bid on auctions, and access a
whole host of other services online - at the click of a button. As the penetration of high-speed
broadband Internet access increases, web applications continue to evolve and stretch the
boundaries in terms of utility, content and user experience. RIA is the next logical step in this
evolutionary process.
RIA represents the transition of web applications from the simple, thin client model to a model
that provides the user experience of a desktop client/server application while leveraging the
ubiquity of the Internet.
Evolution from HTML Pages to RIA
The evolution of the Internet started with HTML, which was originally designed to deliver static
documents in sync with information via a browser. Over time, the Internet rendered rich content
- complex graphics, audio, video, and multimedia.
Then came applications that used the Net as a platform for business, rendering dynamic content
to users based on back-end business logic and database content. Developers enhanced the
Internet's capabilities to meet the demands of business applications by including scripts -
JavaScript and VBScript - and components like Applet and ActiveX to the client (user)
computer. While this enhanced user experience to some extent, the fundamental "documentdriven"
synchronous approach of traditional Internet applications remained the same. As user
experience requirements grew in complexity, this approach proved a handicap for complex
business applications. Though there has been significant progress in server-side
implementations, the means of rendering information to the end-user remained the same. The
need to incorporate the rich, interactive and responsive features of desktop applications was felt
increasingly.
Further, the inability to handle complex multi-step business workflows was another hindrance.
The synchronous nature of traditional Internet applications forced back-and-forth page-flips on
users, resulting in a slow, confusing and frustrating user experience. Traditional Internet
applications could neither visually represent large and complex data nor provide interactive
manipulation by users.
The latest transition in this ongoing evolution is RIA, which aims to combine the powerful and
intuitive user experience of desktop applications with the reach of the Internet.
The promises of RIA are manifold:
- Responsiveness and interactivity: RIA pushes much of the processing to the client
side. This results in reduced network traffic and faster response as the application
leverages the client CPU. Also, on clicking a button or a URL, only the corresponding
section of the page reloads asynchronously, and not the whole page. This provides
continuous visual reference to users as they are not distracted by the changing
interface.
- Rich User Interface: RIA promises to match the rich user interface provided by
desktop applications, including graphical elements, audio, video, and other
visualization techniques.
- Broad Reach: RIA capitalizes on the broad reach of the Internet, allowing applications
to be assessed anytime, anywhere, by any authorized user.
- Real-Time Communication: It enables users to collaborate and share information on
the Internet through real-time communication channels like instant messenger, video
on demand, audio/video conference, etc.
RIA Technology Spectrum
As with any emerging paradigm, several competing technologies are vying for acceptance as the
de facto standard to implement RIA. Their common characteristics qualify them as viable RIA
technology choices. Figure 2 introduces a typical RIA architecture with these common
characteristics.
Irrespective of the implementation, all RIAs introduce a client-side rendering engine between the
end-user and the web server. This engine is usually downloaded to the client machine at the start
of the session and interacts with the back-end server. There is significant difference between a
traditional web application and a RIA.
Most RIA implementations - except Ajax-based implementations that don't have a server
component - include a presentation server on the server side, which acts as a broker capable of
invoking downstream business logic for the rendering engine.
Introduction of the client-side rendering engine enables asynchronous processing independent of
communication with the back-end server. As a result:
- Information can be fetched and displayed in anticipation of user response
- Pages can be incrementally updated in response to user input
- Cached data can be used in response to user input, without any communication with the
server
Of the various competing technologies, the two primary contenders are Ajax and Flash. Ajax, a
term coined by Jesse James Garatte1, is an amalgamation of several existing technologies like
XHTML, CSS, DOM, XML, XSLT, XMLHttpRequest, and JavaScript. At the heart of any Ajax
implementation is the XMLHttpRequest JavaScript object, which drives asynchronous
communication between the client and the server. In Flash-based RIAs, Flash Player acts as a
virtual machine that renders flash content to users. Presentation servers like Flex and Open
Laszlo2 reside on the server and provide a platform to develop and deploy RIAs that run on a
Flash Player.
Other emerging technologies in the fray include XUL, XAML3, and XUI.
RIA opens up new possibilities
RIA has opened up new possibilities for enterprises, a few of which we explore here.
RIA as the "Face" of SOA
In the last couple of years, Service-Oriented Architecture (SOA) has gained acceptance as an
architectural paradigm to organize and manage enterprise resources as loosely coupled services
that can be orchestrated to compose business processes. While enterprises are revamping their
middle and back-end technology stacks using SOA, they are challenged to make these services
available to end-users in an interactive and intuitive way. The current web-based presentation
and client tier is the weakest piece in the SOA-based enterprise architecture stack and fails to
rise up to this challenge. RIA is well poised to bridge this gap in an enterprise architecture stack -
as the front end or "face" of SOA.
RIA will help in unleashing the true power of an SOA enterprise. While enterprise business logic
and data are exposed as services (business and data services) using SOA, RIA will help these
services to reach their intended end-users in an interactive, intuitive and intelligent way. These
services may not only be SOAP web services but also simple REST services or xml-rpc services
of varied granularity that may be as small as an EMI calculator or as big as an ESB service.
RIA can consume a service in multiple ways. The simplest way to consume a small web service
is using Ajax. Examples of such services are regular weather information, sport score updates,
calendar activities, etc. A more complex scenario is a set of services that constitute a business
process. RIAs provide certain advantages in execution of processes. Firstly, they can enable the
whole process - right from the start service to end service - on the same page.
Take a simple process like booking a flight ticket. The various steps involved - providing journey
details, passenger details, class of travel, routes and finally credit card authorization (or similar
ones) to purchase the ticket can be done on a single page. Secondly, they can keep certain
functions like simple data processing on the client-side so that services contain core functions to
enable higher re-use of these services across different processes. However, challenges like data
synchronization between services remain while running a process and transaction failure
RIA as SaaS (Software as a Service) enabler
SaaS is gaining acceptance as a software delivery model in which vendors provide an Internethosted
version of their application to be accessed by customers and paid for on a per-use, perproject
or subscription basis. It removes the need for regular updates due to new releases, the
lengthy and tedious licensing process, and licensing thefts. RIA is a strong enabler for realizing
the SaaS model. RIA provides rich functionality that was earlier possible only on desktop
applications.
Salesforce.com, which pioneered the delivery of sales force automation and CRM software over
the Internet, is leveraging RIA to deliver rich user experience by putting its software on par with
the rich graphic interface of packaged software products. RIA helps salesforce.com offer a host of
team work automation capabilities such as project management, opportunity management,
collaborative calendaring, and document management. The sophisticated user experience
provided by these applications can never be achieved by traditional web applications.
Defining UI capabilities of Mashups
?Mashup' has become a common buzzword after the introduction of Google Maps, Flickr and
other information silos across the globe. Mashups combine information from multiple sources to
produce an auto-generated unified view of information for users. Common examples of mashups
are Virtual Places4 and Housingmaps.com5. Housing Maps, one of the earliest mashups, overlays
details of rented houses from Craigslist on Google Maps so that consumers can visually search
for houses in locations of their interest. Merging useful and related information to produce a
holistic view is the primary reason for the success of mashups. They usually contain only 2-3
sources of information, but each source contains a lot of information, for example, Flickr Photos.
Mashups are created using APIs or web services through which information is exposed to the
outside world, for example, Google provides APIs for Google Maps. Similarly, many vendors like
Amazon and Yahoo! have opened up their information in the form of web services so that it can
be seamlessly merged on-the-fly and presented on the Web.
However, it's not easy to present all the merged information in one place. For example, in the
case of Housingmaps.com, it's impossible to show both the details of a house and its location
without using in-window pop-ups or other RIA techniques. RIA plays a major role in defining UI
capabilities of mashups. And as more complex mashups come up by aggregating varied sources
of data, RIA techniques may play a major role to enable display in a single window.
Business benefits of RIA
The responsive, intuitive and effective user experience provided by RIA holds long-term business
implications for enterprises. By broadening the mode of interaction between end-users and
applications, RIA opens new, enriched ways by which enterprises can add value to their products
and services.
RIA offers the following business benefits to enterprises:
- Increased customer and partner productivity: RIA eliminates multi-screen interface,
offers single application view and reduces iterations in business processes. This results in
enhanced user productivity and satisfaction.
- Improved customer loyalty: RIA allows customers and partners of e-commerce sites to
manage and communicate account information, check order status, and re-order in a more
effective way. Companies can offer sophisticated online experience to increase customer
retention rate and to drive revenue streams.
- Increase in new customers: Apart from deepening existing customer relationships, RIA
also helps businesses acquire new customers. As individuals and organizations conduct
more business online, web applications double up as the "first line" of interface with the
end-customer. With growing competition, it is important to leave a lasting first impression.
- Reduced operational cost: RIA reduces bandwidth usage and server load by moving
processing to the web browser.
RIA can be effectively leveraged in web applications across different verticals like banking, retail
and insurance. In the next section, we look into the implications of using RIA in a retail business
scenario.
Sample Business scenario
For years, e-commerce providers have been plagued with the issue of shopping cart
abandonment. It is one of the most commonly reported hurdles in e-commerce revenue
generation and profitability. A report by Forrester Research6 highlights the ability of RIA-based
checkout solution to convert visitors to shoppers, 50% more often than the traditional HTML
checkout process.
Traditional checkout solutions have the following flaws:
- Shipping costs do not appear until the end of the shopping experience
- The order total does not appear as each item is added; it appears only at the end
- No wish list that can be used after the shopping cart is full leads to abandonment
- No common display context to carry out common shopping cart transactions
These limitations arise from the design model of traditional web applications. Users go through a
series of steps and confirm the order, but when they cannot change the quantity, color, etc. in the
final step, they abandon the order. Also, the traditional web application design methodology does
not give retailers the option to cross-sell or up-sell other items, as the purchase flow gets
disturbed in the page-by-page checkout process.
As broadband becomes ubiquitous and online the most preferred way to shop, there have been
innovations aimed at improving user experience and enriching the e-commerce industry. With the
adoption of SOA as the architecture paradigm for applications, RIA is being preferred as the front
end for accessing applications. Retailers are developing their checkout process to provide a
"Single Screen Checkout" environment, so that users can:
- Control the order of the steps in the process: Users can quickly and easily move back
and forth between the shipping, delivery, and payment options to add information or
make changes on a single page without losing entered data or waiting for the pages to
be fetched from the server.
- Quickly calculate the effects of cross-sells, up-sells, and shipping options: The RIA
application does most of the computing behind the scenes either through Ajax or a Flashbased
shopping cart. This encourages customers to explore the effect of adding items or
picking a faster shipping method on their bottom line.
- Speedily enter personal data and payment options: Speedy response rates make
users perceive sites to be more secure. It also makes the site content seem interesting
and credible. Faster carts eliminate barriers to order completion. This, in turn, wins the
trust of the customers.
Challenges for Enterprises Adopting RIA
Enterprises need to factor in the following challenges while adopting RIA technologies:
- Lack of standards: There is considerable flux, and lack of standards and best practices
in RIA technologies. The community is debating whether to use Ajax or Flash or even
both, while some developers even claim that "Flash is Ajax"7. Many Ajax tools have
cross-browser and cross-platform problems. To solve these problems, OpenAjax
Alliance8, an organization of more than 60 leading vendors, open source companies and
companies using Ajax, is striving to identify and consolidate best practices, reach a
consensus on programming models, provide reference implementations for tools
interoperability, and generate wider Ajax adoption throughout the industry.
- Market volatility: The commercial RIA technology market is still nascent. New players
are emerging continuously. Most of the current vendors - JackBe, Backbase, Nexaweb,
etc - are new and small, while established product vendors like IBM, Oracle, and Sun
Microsystems have only started providing RIA support in their existing product suite.
- Security concerns: Security is a major area of concern for RIAs, especially Ajax-based
RIAs. Yammer, Samy, and Spacefish-type worms are exploiting "client-side" Ajax
frameworks, providing new avenues of attack and compromising confidential information.
Several such cross-site scripting attacks were observed, most notable being the Yammer
attack on Yahoo mail9 and Samy worm on MySpace.com10.
- Accessibility: Since most RIAs are created using Ajax or JSON and hence, JavaScript,
the degree to which they can be universally accessed is greatly impacted. Issues with
JavaScripting are not new. However, the increased usage of, and reliance on
JavaScripting in RIAs for improved interactivity and functionality has re-ignited this
discussion. Accessibility guidelines allow for the use of JavaScript. However, most Ajax
implementations offer poor support for screen readers, text magnifier and similar tools.
Companies must consider this limitation, as in many countries there is legal obligation to
provide access to disabled customers and employees.
Conclusion
RIA represents a transition in the evolution of web applications and brings new equations to the
table, empowering businesses to add value to their products and services. Though there are
challenges in RIA adoption, the benefits that businesses can accrue in the long run are too
compelling to be ignored. With the ubiquitous presence of broadband, increasing online
presence, and with businesses increasingly focusing on making the online experience richer and
more lasting for users, RIA has hit the tipping point. Enterprises should adopt RIA in a phased
manner. The initial difficulty is worthwhile to gain the first-mover advantage.
About the Authors:
Brijesh Deb is a Technical Architect with Infosys. He is a part of the J2EE Center of Excellence
at the Software Engineering & Technology Labs (SETLabs) - Infosys' research group. He is
involved in architecture definition and assessment, technology evaluation and selection, design
and review of SOA-based J2EE applications. His current interests include Web 2.0 and RIA.
Sunil G. Bannur is a Senior Technical Architect with the Retail, CPG and Distribution practice at
Infosys. He is involved in architecting enterprise applications in .NET and J2EE. His current
interests include VoIP, Convergence and Web 2.0 technologies.
Shaurabh Bharti is a Junior Research Associate with Infosys. He is a part of the Web Services
and SOA Center of Excellence at SETLabs, Infosys' research group. His current research
interests include Semantic Web, Web Services, Contextual Collaboration and Web 2.0.