Sunteți pe pagina 1din 10

www.uwebc.

org/opinionpapers
November 16, 2005

Rich Internet Applications Tom Noda


Shawn Helwig
Technical Comparison and Case Studies of AJAX, Flash, and Java based RIA

EXECUTIVE SUMMARY time and costs, taking web development to a whole new
level. The second wave of web applications is now starting
WEB APPLICATIONS: NEW TRENDS to roll in. The questions companies need to ask internally
Web-based applications have jumped in use and popu- is when to get on board, and how best to ride the tide.
larity in the last decade, beginning with Amazon.com’s
e-commerce Web site in the 90’s
to today’s enterprise resource plan- WHO SHOULD READ THIS PAPER?
ning and business intelligence ap- This evaluation will help Web developers and
plications. Using a browser, end marketers understand the next generation of
users can book airline tickets, bid applications from both a business
on auctions, check email, buy and and technical perspective.
sell stocks, submit tax forms, or
listen to music from any networked RIA technologies are still immature
computer. If this was the first wave and evolving day by day. This pa-
of web applications, the second per guides you through the en-
big wave is yet to come in the form trance gate of Rich Internet Applica-
of Rich Internet Applications (RIAs). tions, and provides many RIA re-
sources to explore further.
You may already be
familiar with words
like “AJAX,” “Flex,” CONTENTS
“Thin Client,” or
“Rich Client.” These Image sources: Zimbra, Zamlon, Harley-Davidson
technologies
are part of the
RIA family.

2 What Are Rich Internet Applications?


LIMITATION OF A brief explanation of Rich Internet Applications.
CU RR ENT W EB 2 Five Driving Forces of RIA
APPLICATIONS What fueled this new paradigm? Five major factors
The Internet was originally designed for simply transport- are identified and discussed.
ing documents and information. The technology it was
3 RIA Case Studies
built upon lacked the interactivity of desktop applications.
Business case studies where RIA technologies have
That’s changed in the past decade as innovators have
already been utilized.
developed a richer user experience, despite huge chal-
lenges. Imagine trying to deliver electricity through water 5 Technological Platforms
pipes! Great progress has been made, but fundamental Three major RIA platforms (AJAX, Macromedia Flash,
challenges still remain. Java) are explained.
7 Platform Comparisons
Strengths and weaknesses of current platforms are
THE PROMISES OF RIA identified and compared.
RIA will not replace water pipes with electric wires. Rather, 8 How to Get Started
innovators discovered a way to transport electricity Exploring technologies and creating business cases
through water pipes. Thanks to this breakthrough discov- for RIA in your company.
ery, we can now deliver very sophisticated, responsive,
interactive and graphically rich applications over the web.
RIA technologies are not only enriching user experiences,
but also empowering businesses to reduce development

© 2005 UW E-Business Consortium (Confidential, For UWEBC Members use only, not to be reproduced, sold, or otherwise distributed)
Rich Internet Applications November 16, 2005

WHAT ARE RICH INTERNET APPLICATIONS? However, desktop applications offer the following
advantages:
To better understand RIA, compare two famous map Web
sites: Yahoo! Maps and Google Maps.
• Richer user experiences
(Audio, video, communications)
• No page reloading
• Support both online and offline
• Enable more complex applications
(e.g. MS Outlook vs Webmail)
• More responsive and interactive

Rich Internet Applications (RIA) capitalize on


the strengths of both web and desktop ap-
plications. RIA is a set of technologies which
enables some or all of the characteristics
Source: Yahoo!, Google listed above. You may already have heard
terms, like “thin client” or “rich client.” Nu-
ances are slightly different, but they essen-
Yahoo! Maps is a traditional web-based application while
tially talk about very similar concepts and share the same
Google Maps is regarded as a RIA. What are the differ-
goals.
ences? “
The images above show maps of Madison, WI.
If users want to move from Madison to Milwau- “ Rich Internet Applications capitalize on the
kee, WI, the two maps behave differently. To move strengths of both web and desktop applications.
locations in Yahoo! Maps, users have to click one of
eight arrow buttons around the map. Every time a user
clicks a button, a page is refreshed, and a new map is
loaded. On Google Maps, users can navigate a map in
any direction by dragging it, and the page remains in
FIVE DRIVING FORCES OF RIA
place.
RIAs aren’t new. The first RIA term was coined by Macro-
Until recently, the capabilities demonstrated in Google media in 2002. The idea of a “thin client” existed even
Maps were only available on desktop applications. Most before that. Then, why has RIA gained momentum re-
browser-based web applications behave more like Yahoo! cently? Here are five major factors:
Maps by reloading a new page for every user action. To-
day, both web and desktop applications are popular be-
cause each has strengths and weaknesses that comple-
ment each other. 1. Broadband
Most RIA applications require download of an initial
Browser-based web applications are often preferred for “thin client” application. This was a huge barrier when
these reasons: the majority of Internet users relied on dial-up connec-
tions. Broadband gets rid of this barrier and enables
• Standardized tags/scripts are easy to develop heavier content transports such as audio and video
(Rapid development, low development cost) streaming.
• No installation, updates or patches are necessary
(Low delivery and maintenance costs)
• Applications are accessible from networked com-
puters (Availability, flexibility) 2. Computing Power Shift
• Applications can run on different operating systems The difference in computing power between PCs and
(Platform independence) servers has narrowed significantly. For example, desk-
• User interface (UI) is simple and standardized tops, laptops and PDAs now offer audio, video, and
(Low learning curve for end users) color. RIAs utilize more client computing power than
traditional send and receive web applications. This shift
has created an ideal environment for RIA.

© 2005 UW E-Business Consortium 2


Rich Internet Applications November 16, 2005

3. Better Response to User Actions RIA CASE STUDIES


Today more than ever, businesses demand complex The followings are Web sites leveraging RIA technologies.
and responsive applications. For example, customer From the customer’s perspective, there is a commonality:
relationship marketing, enterprise resource planning, richer user experiences. All RIA applications mentioned
and business intelligence applications all require a very here are available on the web.
sophisticated user interface to better present information
and quickly respond to user actions. It becomes ex-
tremely difficult for HTML-based applications to meet Broadmoor Hotel
these needs. It usually takes several steps to complete an online ticket
purchase or hotel reservation. If the price and/or date
Meanwhile, online advertising has become more so- doesn’t deliver the results we’re looking for, we’re forced
phisticated. Simple graphic banners or spot ads are to page back and forth, over and over again. This can be
gradually being replaced by interactive and pro- a very frustrating process.
grammed ads called “Rich Media.” Some Rich Media
ads can even keep track of more than 20 different user
interactions.

4. Leading Tech Companies Make Their Move


Big companies have begun to realize the benefits of
RIA. For example, Google Maps and Gmail leverage
RIA by using a technique called “AJAX” (Asynchronous
JavaScript and XML).

Macromedia’s RIA server platform release, notably “Flex


1.5,” also opened the door for many companies and
developers. Microsoft’s .NET Framework shares the
same visions in that it pursues rich and powerful web
application clients while reducing development time
Source: Broadmoor Hotel - www.broadmoor.com
and cost.

Open Source RIA movements are also booming. Laszlo The Broadmoor Hotel in Colorado Springs improved its
Systems delivers the “Open Laszlo” server platform for online hotel reservation experience using RIA. Now users
free while Mozilla Foundation offers a proprietary RIA can choose dates, check availability & pricing, type cus-
technology called XUL (XML User Interface Language). tomer information and complete a reservation all on one
page. Every task is accomplished on demand and in real-
time without multiple steps or pages being reloaded.

5. Web Services & SOA RIA can also be applied to any processes that require
From a developer’s perspective, the emergence of Web multiple steps and back-and-forth page iterations. Regis-
Services and Service Oriented Architecture (SOA) tration is one example, shopping cart checkouts are an-
changed how we develop business (middleware) appli- other. This will not only improve the user experience, but
cations. Their emergence also has strong influences on also reduce server load. For the checkout example, a cli-
how presentation layers should be developed and com- ent computer can calculate all pricing, taxes and shipping
municate with service layers. Web Services and SOA costs every time a user interacts. The server will only re-
enable presentation layers to be completely independ- ceive the final order.
ent from business logic layers. Most RIA platforms are
pluggable presentation layers on top of existing middle-
ware, thanks to the power of Web Services and SOA. A9
A9, Amazon.com’s search engine company, which is not
Not to mention, we cannot ignore XML, which is the as widely-known as Google or Yahoo!, is also an RIA pio-
foundation of not only RIA but also Web Services and neer Web site which intensively uses an RIA technique
SOA. called AJAX (See pg. 5).

There are a number of unique RIA features and tech-

© 2005 UW E-Business Consortium 3


Rich Internet Applications November 16, 2005

niques to note from A9. First of all, A9 is one of the first calculators and stock quotes, which require intensive inter-
companies to develop a “drag & drop” feature using activity, calculations, and the necessity of graphical data
JavaScript. To bookmark search results, for example, us- representations. Examples can be found at E*Trade and
ers can drag and drop a title to the bookmark folder. Sec- Genworth.
ond, internal windows are resizable using split panes and
links. This allows users to adjust page layouts without re- Sherwin-Williams
freshing pages. A9 also uses RIA to create a unique Sherwin-Williams’ Web site implements an RIA tool called
search experience. It searches asynchronously, meaning “Color Visualizer” that lets users virtually paint houses and
that it handles search requests on the back end while us- interiors with dozens of colors. Users can drag and drop
ers are performing other tasks. When the search engine colors to paint a virtual sample room. The image is then
finds the results, they are displayed on the same page. rendered with the selected color immediately.

This is another strength of RIA: customization and simula-


tion. Today, many e-commerce Web sites offer custom-
ized products (e.g. Nike, Dell, Lands’ End). If the prod-

Source: A9 - www.a9.com

St. James’s Place Bank


This British retail bank developed a mortgage calculator Source: Sherwin-Williams - www.sherwin-williams.com
utilizing RIA technology. When users type required infor-
mation, the tool searches available mortgages in real- uct’s look and feel is the major factor in the customers’
time, draws a future financial forecast graph and calcu- decisions to buy products, online customization tools will
lates the interest rate and savings all on the same page. have a significant impact on sales. As mentioned earlier,
Users can adjust data in various fields repeatedly without RIA technology provides graphical richness, responsive
any page transitions. interactivity and enriches the user experience.
RIA can be leveraged best in financial tools such as loan

Brocade
Brocade, a network equipment company, developed an
executive dashboard application with RIA. As you can see
in Fig. 1, company’s sales data are shown graphically
and can be manipulated interactively.

RIA is suitable for Intranet applications as well. Many busi-


ness applications from ERP, CRM, SCM to Business Intelli-
gence leverage RIA technologies to help employees easily
analyze and manipulate corporate data in real-time
through a web browser.

Developers benefit from RIA as well. For example, SAP


integrated Macromedia Flex server into SAP NetWeaver
Visual Composer. This enables developers and business
Source: St. James’s Place Bank - www.sjpb.co.uk

© 2005 UW E-Business Consortium 4


Rich Internet Applications November 16, 2005

TECHNOLOGICAL PLATFORMS
Today’s rich internet applications are almost all built on
either one of three technological platforms: AJAX, Macro-
media Flash, or Java.

AJAX (Asynchronous JavaScript And XML)


AJAX is not a single new technology, but a combination of
standard technologies including JavaScript, XML, XSLT
and DOM which together achieve web application rich-
ness. The word “asynchronous” comes from the nature of
its HTTP request/response processes. Asynchronous calls
enable a client and server to talk to each other without
reloading pages.

AJAX is more widely known and used, especially after


Source: Macromedia - www.macromedia.com Google developed state-of-the-art AJAX applications such
as Gmail and Google Maps. One of the advantages of
analysts to build applications like LEGO™ bricks. This will AJAX is that applications can be developed without any
lower technical barriers (e.g. no programming knowledge additional tools, plug-ins or runtimes. Its commitment to
required) and reduce development time and cost. RIA’s standard web technologies and openness of source codes
beneficiaries are not only end users, but also developers also encourage many web developers to explore AJAX.
and businesses.
browser
AJAX engine javascript DOM XSLT
...

sync/async XML, DOM


http(s) request over http(s)

web/app server

Figure 1. AJAX Architecture (Source: UWEBC)

AJAX Tool Vendors


TIBCO General Interface - www.tibco.com
Midnightcoders - www.themidnightcoders.com
Various AJAX open source libraries

Macromedia Flash (Flex)


The term “Flash” is often associated with image banner
ads, animation or online video. However, one of the core
strengths of Macromedia Flash is for web application use.
Macromedia has been expanding Flash’s capability over
the past several years to enhance application functional-
ities with its release of “Macromedia Flex,” RIA Presenta-
tion Server.

From the beginning, Flash excelled at handling and opti-


mizing graphics, audio and video over the network. Flash-

© 2005 UW E-Business Consortium 5


Rich Internet Applications November 16, 2005

based RIA can create the most sophisticated and media-


rich Internet applications among all platforms. However, java web start applet, browser
before the Macromedia Flex release, developers needed java java
to master Flash and Macromedia’s scripting language runtime runtime
called ActionScript. Flex eases this process by providing
an XML-based declarative UI development platform and http(s) http(s)
by supporting seamless middleware integrations such as RMI RMI
Web Services, .NET, J2EE and Cold Fusion. IIOP IIOP

web/app server
mobile browser
presentation server (e.g. Nexaweb, Canoo)
flash lite flash
player player
Figure 3. Typical Java-based RIA Architecture (Source: UWEBC)
XML compressed
over http(s) binary (.swf)
Java RIA Tool Vendors
over http(s)
Canoo - www.canoo.com
Nexaweb - www.nexaweb.com
web/app server
Clearnova (ThinkCAP) - www.clearnova.com
presentation server (e.g. Flex, Open Laszlo) InsiTech - www.insitechinc.com
Richmotion - www.richmotion.com

Figure 2. Typical Flash-based RIA Architecture (Source: UWEBC)

Flash RIA Tool Vendors


Macromedia (Flex) - www.macromedia.com
Laszlo Systems - www.laszlosystems.com Microsoft Avalon
Xamlon - www.xamlon.com In addition to the three major RIA platforms, Microsoft’s
movement cannot be ignored. In the Windows Vista
release, they will introduce “Windows Presentation
Foundation,” formerly code-named “Avalon.” It unifies
all presentation resources such as documents, images,
Java (Applet, Java Web Start)
audio/video, and applications under the Windows plat-
Java has been a pioneer in the web application environ-
form. With Avalon, developers can construct applica-
ment since the release of Java Applet. It is also one of the
tions by writing XML-based code called “XAML,” and
first technologies to support the mobile/PDA computing
environment. Java provides a platform independent rich applications can run on Windows as well as web brows-
UI library called “Swing” as well as server-side XML tag/ ers. Considering the fact that Microsoft dominates and
script-based language called Java Server Pages (JSP). controls virtually the entire client computing environ-
ment, this will become on of the major RIA platforms. At
However, Java has yet to come up with an XML-based rich the same time, Microsoft will continue to pursue RIA in
the .NET Framework.
UI construction mechanism which is the “de facto” stan-
dard in RIA development. The Java Community Process
(JCP) is pursuing the integration of AJAX into JSP. In the
meantime, several companies have developed Java-
based RIA platforms that enable Swing UI construction
from XML in a declarative manner.

Java also provides a technology called “Java Web Start,”


which is a thin client that is downloadable and can be
standalone and/or a networked application. Currently,
Java Web Start seems the most preferable RIA platform in
the Java flavor.

© 2005 UW E-Business Consortium 6


Rich Internet Applications November 16, 2005

PLATFORM COMPARISONS
Most RIA platforms share common goals: reduce application development time and cost while enriching user experiences.
In addition, the platforms share pursuit of the same technological trail: XML and scripting for UI construction. Currently,
there is no distinct winner among RIA platforms. The table below summarizes strengths and weaknesses of each platform.

Table 1. Platform Comparisons (Source: UWEBC) Good Average Poor

AJAX Macromedia Flash Java

Graphical Richness Average Very Rich Rich


(Same as HTML)

Container/Engine Very Light Light Heavy


Footprint (browser built-in)

Application Download Fast Slow Slow

Audio/Video Support Poor Excellent OK


(unless use ActiveX)

Consistency on Different Varies Very consistent Relatively consistent


Computing Environments

Server Requirements None or very minimal Yes Yes or No


(TIBCO General Inter- (Flex or Open Laszlo) (Nexaweb, Java Web
face) Start)

Plug-in/Runtime No Flash (Player) Java Runtime (JRE)


Requirement on Client

Development Challenge Very complex without Relatively easy with Relatively easy with
tools such as TIBCO, tools such as Flex or tools such as
and high skills re- Open Laszlo Nexaweb
quired
(XML, DOM, (XML, JavaScript,
(JavaScript, CSS, XML, JavaScript, Flash, Ac- Java)
XSLT, DOM, ActiveX...) tionScript)

Security Concerns JavaScript codes are Flash files Class/Jar compressed


open to public (compressed binary) binary files are cre-
are created ated
Everybody can see
source codes if desire Flash Player becomes JVM (Java Runtime)
a sandbox becomes a sandbox

Cost Custom Build - Free Open Laszlo - Free Java Web Start - Free
TIBCO - Unknown Flex - $15,000 per Nexaweb - Unknown
CPU

© 2005 UW E-Business Consortium 7


Rich Internet Applications November 16, 2005

HOW TO GET STARTED tions. The main objective here is to explore potentials and
limitations of RIA technologies. You may realize that some
Step 1. Research platforms are better than others to achieve certain fea-
The RIA market is still immature. Technologies are evolv- tures. The web technology flavor in your company (e.g.
ing day by day, and many vendors are competing in the J2EE vs .NET vs PHP…) may constrain your RIA choices as
market. Within your company, let web developers do well.
some research on RIA. Vendor Web sites, technical arti-
cles, and blogs are good starting points. Here are some You can develop AJAX applications without any tools or
useful RIA web resources: servers. The fastest way to learn AJAX is to read source
codes written by smart engineers. Flash RIA servers can be
• Wikipedia RIA Definition downloaded free.
Introduction to RIA. Many links are available from
here • Google Maps, Gmail, Google Personalized Home
• Java Web Start Technology See AJAX codes written by Google engineers
Technical information about Java Web Start • A9
• Usability Heuristics for Rich Internet Applications The AJAX pioneer. Plenty of good AJAX programming
Good article to grasp RIA from usability perspective. techniques can be learned from their code
• Macromedia RIA Whitepapers • Open Laszlo 3.1
Limited perspectives, yet worth reading Open source Flash based RIA presentation server
• RIA Landscape • Macromedia Flex
Nexaweb’s interpretation of the RIA landscape Flash based RIA presentation server. Developer ver-
• Macromedia Flex & Eclipse IDE sion is free
If you use both tools, this is an interesting integration
• SVG and AJAX Step 4. Business Cases
SVG may compensate AJAX’s weakness in graphics Evaluate the prototypes and see if you can make business
• DART motif - RIA & Rich Media cases for them. To build a solid business case, you will
Macromedia and DoubleClick’s efforts need to consider three stakeholders: users (customers),
• Windows Presentation Foundation developers and businesses:
Microsoft’s answer to RIA (formerly known as • What RIA applications are we developing?
“Avalon”) • What benefits do our customers gain from them?
• AJAX and Security
An article regarding AJAX security
• AJAXSLT
XSLT in JavaScript developed by Google Users
• AJAX Technical Overview
Good blog explaining how AJAX works
• Rich Internet Application Blog
One of the oldest RIA blogs
• Apple User Experience Developers Businesses
Learn how Apple comes up with good UI design
• Jakob Nielsen’s Web site
Principles of web usability
Figure 4. Three RIA Stakeholders (Source: UWEBC)
Step 2. Conceptualization
Once web developers become familiar with RIA, it’s easier • Which RIA technologies will we use?
to come up with business ideas to leverage the technolo- • Who develops what? Outsourcing or in-house?
gies. Some ideas might include, reduce checkout steps, • How will this affect the current system (e.g. middle-
enable drag & drop of products into a shopping cart, and ware interface changes, platform changes…)?
offer interactive product/service demos. Open discussions • How long will it take to develop and release applica-
among developers and web marketing staff should be tions?
welcomed. • How much will it cost (tools, contracts, developer re-
sources…)?

Step 3. Prototyping
Once you research RIA and conceptualize business ideas,
the next step is to develop some prototype RIA applica-

© 2005 UW E-Business Consortium 8


Rich Internet Applications November 16, 2005

REFERENCES
Wikipedia. (2005, October). http://en.wikipedia.org/wiki/Rich_internet_application

Java Web Start Technology. (2005, October). http://java.sun.com/products/javawebstart/

McMullin, Jess and Skinner, Grant. (2003, July 15). Usability Heuristics for Rich Internet Applications. Boxes and Arrows.
http://www.boxesandarrows.com/archives/usability_heuristics_for_rich_internet_applications.php

Macromedia. (2005, October). Rich Internet Application Whitepapers. http://www.macromedia.com/resources/business/


rich_internet_apps/whitepapers.html

Nexaweb. (2005, October). Rich Internet Applications: The Market Landscape. http://www.nexaweb.com/
ria_market_landscape.asp

Festa, Paul. (2005, June 8). Macromedia aligns with Eclipse. Builder.Au. http://www.builderau.com.au/program/
work/0,39024650,39192243,00.htm

Jackson, Dean and Lilley, Chris. (2004, October 29). About SVG. W3C. http://www.w3.org/Graphics/SVG/About.html

DART motif. (2005, October). http://www.dartmotif.com/

Microsoft. (2005, October). Windows Presentation Foundation (Avalon). http://msdn.microsoft.com/windowsvista/


building/presentation/default.aspx

Josephes, Chris. (2005, August 15). Widget and AJAX development may lead to discovery of more security flaws.
ONLamp.com. http://www.onlamp.com/pub/wlg/7601

Google. (2005, October). Google AJAXSLT. http://goog-ajaxslt.sourceforge.net/

Garrett, Jesse J. (2005, February 18). Ajax: A New Approach to Web Applications. Adaptive Path. http://
www.adaptivepath.com/publications/essays/archives/000385.php

Interaction Two. (2005, October). RIA Blog. http://www.richinternetapps.com/index.html

Apple Computer. (2005, October). User Experience. http://developer.apple.com/documentation/UserExperience/


index.html

© 2005 UW E-Business Consortium 9


Rich Internet Applications November 16, 2005

About the UW E-Business Institute

The UW E-Business Institute (UWEBI) serves as Wisconsin's leading center for multidis-
ciplinary research collaboration, technology innovation and industry outreach on e-
business. UWEBI expands upon the company-specific e-business peer group collabora-
tion and projects enjoyed by members of the UW E-Business Consortium.

About the UW E-Business Consortium

The University of Wisconsin E-Business Consortium (the industry membership base of the
UW E-Business Institute) is Wisconsin’s premier organization that helps companies gain a
competitive advantage through e-business. Our members - business executives and senior
managers from the Midwest’s leading companies - tap into world-class university re-
sources and the collective experiences of this B2B and B2C group to address and share
strategic e-business and information technology challenges, best practices and lessons
learned.

For more information, contact Assistant Director of Member Relations,


Christina Paschen (608) 265-0645 or clpaschen@wisc.edu

© 2005 UW E-Business Consortium 10

S-ar putea să vă placă și