Offering more than just dazzling interfaces, rich Internet apps for the enterprise will personalize interaction, empower mobile users and improve client and back-end flexibility. Here's what to look for -- and what to look out for -- when choosing RIA development approaches.
David S. Linthicum
Rich Internet Application (RIA) describes what much of the software development community aims to do: break out of primitive Web delivery to deliver robust functionality, exciting data visualization, and "thicker" role-based and process-oriented user interfaces. RIAs have been made possible by the fast-growing use of development approaches such as Ajax. The trend satisfies demand from end users that their Web applications appear and function like any native application on their desktop, offering drag-and-drop functionality, dynamic interaction, state management and seamless communications with their client platform of choice.
RIAs have made the Web a legitimate platform for corporate America, with the best of these applications looking very similar, if not identical, to native counterparts. The limitations of static HTML presentation and demand for continuous connectivity are being eliminated. Indeed, interest in RIA has lead to a glut of technology start-ups, all looking to capitalize on this emerging market.
This article explains the advantages of RIAs and their essential architectural differences with conventional Web applications. After reviewing benefits and potential drawbacks, we'll also review the dominant approaches to building RIAs, including Ajax and Flex. Whether RIAs are in your short-term or long-term road map, there's no doubt that they represent the future of enterprise development.
The Case for RIAs
The term "Rich Internet Application" was introduced in a Macromedia whitepaper in March 2002, though the concept had been around for a number of years before that under different names, including remote scripting (Microsoft), X Internet (Forrester Research), rich Web clients, and rich Web applications.
There are several reasons to move toward RIA:
Leverage dynamic behavior at the user interface. This means supporting the dynamic user interaction that most thick clients provide. Now we're moving the "thick" functionality to Web clients. These clients should be able to provide windowing features and data navigation controls such as check boxes, buttons, radio buttons, toggles, dialogs, menus, etc. Moreover, a RIA needs to provide rich-media component objects such as animated sprites, multi-track sound and video.
Loosely couple the presentation layer and logic layer. Thus, each RIA interface is changeable without also changing the back-end services, and changes to back-end services won't necessarily drive changes to the clients. This loose coupling saves a bunch of development time and money if designed and deployed correctly.
Provide both connected and unconnected modes of usage. This means that the clients may or may not be connected to the back-end services. Users can work in situations where network connections are not available, such as at client sites or on airplanes. This is a core feature needed for supporting mobile devices, such as cell phones, laptops and personal digital assistants. The RIA interacts with the back-end services when connected but is able to continue functioning when not connected, perhaps queuing up requests.
Improve integration for data residing locally and remotely. Traditional thin clients cannot easily integrate data that resides locally. RIAs overcome this limitation by processing on the client. Moreover, RIAs can reach out and talk to any data source, local or remote, using the interface, not the back end, as the point of processing. This is more like the traditional client/server model and offers a flexible architecture.
RIAs have been popularized as a mainstream Internet experience by the likes of NetFlix and Google (see "The 'Google Effect'" sidebar, and this has helped fuel demand for potential enterprise applications. While Salesforce.com is the primary example of the pervasiveness of software as a service (SaaS) applications, there are thousands of SaaS players today that offer up everything from logistics processing to background checking software, all on demand, with user interfaces delivered over the Web. Many of these vendors are looking toward RIA as a means of finally closing the gap between traditional enterprise software, with a native look and feel, and emerging SaaS. Indeed, Ajax seems to be the primary direction for many of the SaaS players, and many have launched Ajax-enriched production sites or beta sites.
The Agile ArchiveWhen it comes to managing data, donít look at backup and archiving systems as burdens and cost centers. A well-designed archive can enhance data protection and restores, ease search and e-discovery efforts, and save money by intelligently moving data from expensive primary storage systems.
2014 Analytics, BI, and Information Management SurveyITís tried for years to simplify data analytics and business intelligence efforts. Have visual analysis tools and Hadoop and NoSQL databases helped? Respondents to our 2014 InformationWeek Analytics, Business Intelligence, and Information Management Survey have a mixed outlook.