P.N. Anantharaman, Director, Engineering, Adobe Systems India
Over the last 5 years, three trends have been taking root in the Web world.
First, the nature of applications over the Web is changing from being minimally
interactive to highly interactive. These applications, being dynamic, often use
rich data, such as maps, etc, and usher in new paradigms like collaboration
over the Web. Further, the notion that “one needs a browser to run a Web
application” is changing with applications that run outside the browser so that
they can have their own look and feel and interaction mechanisms just like any
desktop application. Second, the access mechanism to Web includes non-PC
devices, such as cell phones that stretch the convenience of accessing the Web
from anywhere, any time even further. Third, the emergence of hosted services
and the Cloud computing offerings offer exciting possibilities for both
businesses and the consumers. The common factor across these trends is the
strong need for immersive and enjoyable user experience. The traditional Web
applications are limited from lack of rich user interfaces, powerful interaction
and access models and local client processing. These applications are typically
server-centric, whereby any interaction by the user with the application results
in a round trip communication between the browser and the server. The server
generates the presentation content for the browser to display it. This results
in delay and page refreshes, thus impairing the user experience. In this
context, Rich Internet Applications (RIA) play a central role by combining the
expansive reach of the Web with the richness. The RIAs provide immersive user
experience by supporting rich data types that include multimedia, local
processing at the client and connect to the server through standard protocols
that implement a Service Oriented Architecture (SOA). The ability of a RIA to
connect to services implies that it is easy to mash-up services from different
providers and create new, compelling applications that deliver unique value.
While RIAs have already been redefining the user experience in consumer
oriented applications such as product selection/configuration portals,
enterprises are adopting this technology very rapidly and moving to the
mainstream. RIAs have been reported to be very beneficial for a wide variety of
enterprise segments that include banking and finance, manufacturing, supply
chain management and intranet workflows. The enterprise applications over Web
often involve complex workflows and data entry. Enterprise RIAs enable several
benefits such as reduced errors in data entry, improved cycle times to complete
error free workflows, etc. The more natural and humanized user interfaces make
these applications more intuitive and hence easier to learn. These benefits
transform into business results for the enterprise; many RIA sites have reported
much higher conversion rates as compared to their earlier non RIA versions. The
RIAs excel not only in data capture but also in data presentation. RIA based
dashboards are very interactive and have been very successful.
RIAs can be developed by adopting the right platform. Both Open Source and
commercial RIA offerings, such as Adobe Flex, are available for application
development. The Enterprise RIAs require a powerful component library (that
helps charting, dashboard creation, etc), ability to handle large volumes of
data, support connectivity to the server through standard protocols for Service
Oriented Architecture and powerful tooling. The tooling not only includes IDEs
for application development that support the general edit/compile/debug process
but also advanced tools such as Automated Testing tools, Profilers, Code
coverage measurement tools etc. Most often the applications are required to run
across multiple browsers and on multiple operating environments. This
necessitates a multi platform development and hence the need for associated
tooling.
There are multiple toolkits and methodologies for implementing Enterprise
RIA using open source technologies such as Ajax. These have been well adopted
for many consumer applications particularly where the approach is to add RIA
capability incrementally. For transforming a legacy application to RIA in an
incremental way, technologies like Ajax provide a quick jump start. However,
ensuring consistency of the application behavior across a wide variety of
browsers is a major challenge and effort consuming in using these technologies
for a large scale enterprise application. Further, the fragmentation of the
development toolkits brings in the risks of throwing up incompatibility issues
and need thorough testing effort when a developer tries to mix and match
components from different tool vendors.
The commercial RIA offerings address the critical needs of enterprise RIA
development offering a complete stack of libraries, tool sets, server platforms
that are optimized for RIA. The stack often includes support for gathering
analytics of the application, which is very critical for arriving at business
decisions. These significantly reduce the effort needed to build complex RIA
applications and certify them. Such RIA offerings also provide tools that bridge
the workflow between visual designers, who create the wire frames for look and
feel of the application and the developers who build the application logic. For
example, Adobe Flash Catalyst adds interactivity to a visual asset created by
Adobe Creative Suite tools that can be imported to Adobe Flash Builder. Thus,
for example, a graphical object created by Adobe Illustrator can be made
functional as a Flex button by adding the behavior of the button through Flash
Catalyst. The other major opportunity to improve productivity of RIA development
is accomplished through bridging the Client/Server gap. A typical RIA involves
both the client side logic and a server or services backend. The recent advances
in RIA tooling enable a developer to quickly develop an end to end application
with minimal coding through a series of simple to use wizard steps. For example,
the Adobe Flash Builder 4.0 supports development of a complete Flex application
that can connect to a variety of web service back ends such as: SOAP, REST, AMF
(PHP, Java, Adobe ColdFusion).
Enterprise RIA is entering the mainstream adoption. This is helped
significantly by the value proposition of RIA technology and also the maturity
and availability of RIA development tools. With the ever growing need for
compelling user experience on Web as more and more applications get hosted, the
role of RIA is central.
PCQuest Partner Special