Rich Internet Applications (RIA)



Similar documents
Growth and Challenges

Putting the power of Web 2.0 into practice.

Curl Building RIA Beyond AJAX

Position Paper: Toward a Mobile Rich Web Application Mobile AJAX and Mobile Web 2.0

Term Paper. P r o f. D r. E d u a r d H e i n d l. H o c h s c h u l e F u r t w a n g e n U n i v e r s i t y. P r e s e n t e d T o :

Chapter 12: Advanced topic Web 2.0

Credits: Some of the slides are based on material adapted from

From Desktop to Browser Platform: Office Application Suite with Ajax

ORACLE REAL-TIME DECISIONS

Rich Internet Applications

Rich Internet Applications: What s the Business Case?

RadView Software Whitepaper. Load Testing Web 2.0 Technologies Ajax-RIA-SOA-Web Services

Web Apps The Next Generation

Benefits of Citrix NetScaler for Ajax Applications

IBM Customer Experience Suite and Electronic Forms

AJAX. Gregorio López López Juan Francisco López Panea

Web 2.0 is Here Is Your Web Infrastructure Ready? Executive Summary

An introduction to creating Web 2.0 applications in Rational Application Developer Version 8.0

Transtream Plug & Play ecommerce Shipping

Ajax Design and Usability

Category: Business Process and Integration Solution for Small Business and the Enterprise

TRUE PERFORMANCE ENGINEERING

Load Testing RIA using WebLOAD. Amir Shoval, VP Product Management

Is Liferay Right for Your Organization? Seven Things to Consider When Choosing a Portal Platform

Solution Showcase Session. Enterprise 2.0 Computing Services

Distance Examination using Ajax to Reduce Web Server Load and Student s Data Transfer

How To Write An Ria Application

Why AJAX? Keywords - Web applications, Java Script, Web INTRODUCTION. Why Not AJAX? 111 P a g e

Cloud Computing: Computing as a Service. Prof. Daivashala Deshmukh Maharashtra Institute of Technology, Aurangabad

Web Ecommerce Eshopping Software Development

Overcoming basket abandonment through effective implementation of real-time communications services.

white paper Modernizing the User Interface: a Smarter View with Rumba+

Performance Testing Web 2.0. Stuart Moncrieff (Load Testing Guru) /

Web Cloud Architecture

AJAX Integration Approach for Collaborative Calendar-Server Web Services

Experimenting in the domain of RIA's and Web 2.0

5 tips. awesome. mobile. enterprise. apps. An introduction to great app development using motwin Platform

Cloud Computing. Chapter 2 Software as a Service (SaaS)

The Sitecore Solution for Web Content Management

Ajax: A New Approach to Web Applications

Rich Internet Applications

Automate your business processes with flexible forms, portals and process-based solutions from IBM.

Chapter 4. Learning Objectives. Learning Objectives. Building an E-commerce Web Site. Building an E-commerce Web Site: A Systematic Approach

Web Applications Come of Age

Take Your Rocket U2 Apps Mobile with Rocket LegaSuite. Greg Mummah, Product Manager Rocket Software

How service-oriented architecture (SOA) impacts your IT infrastructure

Survey Says: Consumers Want Live Help

WHITE PAPER COMPOSITE CONTACT CENTER SOLUTIONS

Are AJAX Applications Vulnerable to Hack Attacks?

5 THINGS YOUR CUSTOMER SERVICE APPS MUST DO

Enterprise RIA Deployment Examples

Emerging technologies - AJAX, VXML SOA in the travel industry

Base One's Rich Client Architecture

Leveraging Service Oriented Architecture (SOA) to integrate Oracle Applications with SalesForce.com

Google Web Toolkit (GWT) Architectural Impact on Enterprise Web Application

Performance Testing for Ajax Applications

Avoiding the Accidental SOA Cloud Architecture

Making Your Marketing Interactive

Improve business agility with WebSphere Message Broker

LYONSCG ECOMMERCE ACCELERATOR (LEA) FOR MAGENTO. Discussion of Features

BEYOND CHAT: How To Boost Online Sales with Rich Media Customer Engagement

Improving the Contact Center Customer Experience

zapnote Analyst: Jason Bloomberg

Some Issues on Ajax Invocation

CRM Over Voice: Using Voice in New Ways for Service Providers to Retain Subscribers and Strengthen Brand. White paper produced by:

How Oracle MAF & Oracle Mobile Cloud can Accelerate Mobile App Development

Front-End Performance Testing and Optimization

Resco Mobile CRM Vision

What You Need to Know About Transitioning to SOA

A standards-based approach to application integration

Enhancing productivity. Enabling success. Sage CRM

Whitepaper. Rich Internet Applications. Frameworks Evaluation. Document reference: TSL-SES-WP0001 Januar

Realize More Success with Software-plus-Services. Cloud-based software from Microsoft Dynamics ERP

SOA and Cloud in practice - An Example Case Study

AJAX: Highly Interactive Web Applications. Jason Giglio.

Enabling AJAX in ASP.NET with No Code

INTEGRATING ESB / BPM / SOA / AJAX TECHNOLOGIES

How To Develop A Mobile Application On An Android Device

AJAX Interaction in Adaptive Hypermedia

WebSphere Commerce Overview for Vector IBM Corporation

Geographical Mash-ups Session: Web 2.0, Mobile Devices and Ubiquitous Web

Load and Performance Load Testing. RadView Software October

Performance testing Web 2.0

Table of contents. Load Testing 2.0 for Web 2.0. Simplifying performance validation for Rich Internet Applications White paper

Business Integration Architecture for Next generation OSS (NGOSS)

Transform how government engages with customers through digital experiences

Emerging Technologies Shaping the Future of Data Warehouses & Business Intelligence

From the Editors Desk Mobile Payments 01. Realigning Mobile Payments: An Open System Solution 05 for an Evolving Industry

How To Build A Web App

Oracle istore. Deliver Intelligent, Personalized Customer Experiences

Solution Overview. Optimizing Customer Care Processes Using Operational Intelligence

Moving toward unified communications

Service Oriented Architectures

CONTACT CENTER TEAM PRODUCTIVITY SUITES ENHANCE EFFICIENCY

Modernizing enterprise application development with integrated change, build and release management.

Enhancing productivity, enabling. Success. Sage CRM

Myths About Service-Oriented Architecture Demystifying SOA. producers can coexist, and still have no dependence on each other.

Reference Model for Cloud Applications CONSIDERATIONS FOR SW VENDORS BUILDING A SAAS SOLUTION

Few decisions are taken today without the support of IT. It has become the lifeline of business and many private activities and processes. WEB2.

Middleware- Driven Mobile Applications

Transcription:

Rich Internet Applications (RIA) Opportunities and Challenges for Enterprises Brijesh Deb, Sunil G. Bannur and Shaurabh Bharti 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? Jan 2007

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. Figure 1: Evolution of Internet Applications 2 Infosys White Paper

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. Figure 2: Typical RIA Architecture 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 Infosys White Paper 3

Of the various competing technologies, the two primary contenders are Ajax and Flash. Ajax, a term coined by Jesse James Garatte 1, 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 Laszlo 2 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, XAML 3, 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 recovery. RIA as SaaS (Software as a Service) enabler SaaS is gaining acceptance as a software delivery model in which vendors provide an Internet-hosted version of their application to be accessed by customers and paid for on a per-use, per-project 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. 1 Ajax: A New Approach to Web Applications, Jesse James Garatte 2 Open Laszlo 3 XAML 4 Infosys White Paper

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 Places 4 and Housingmaps.com 5. 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 Research 6 highlights the ability of RIA-based checkout solution to convert visitors to shoppers, 50% more often than the traditional HTML checkout process. 4 Virtual Places 5 Housingmaps.com 6 Flash Shopping Cart Boosts Conversion Rates, Harley Manning with Bruce D. Temkin, Michelle Amato, Forrester Research, Inc, February 2005 Infosys White Paper 5

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 Alliance 8, 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 mail 9 and Samy worm on MySpace.com 10. 7 Flash is Ajax? 8 OpenAjax Alliance 9 Yammer attack on Yahoo mail 10 Samy attack on MySpace.com 6 Infosys White Paper

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.