
About RIA 
Rich Internet Applications (RIAs) are web-based applications that have a much more robust feel and functionality to them than standard web based applications. RIAs allow web applications to have desktop application usability within a web browser. RIAs can be launched and run with only a browser. If a plug-in is required, it is installed automatically and the Application is delivered as content.
RIAs allow easy data manipulation, not just rendering. The Data interaction with the Database is almost like that in a desktop application. RIAs are made to be intelligent and efficient for consuming lesser bandwidth providing speed and accessibility to the users. They can perform local data validation. Workflows are performed on the client and do not trip back to the server on every user action.
RIAs can interact with the desktop and can often be used to replace desktop applications and can also interact with PC applications.
The set of capabilities for rich clients include the ability to:
Provide advanced capabilities for user interaction, including windowing features and data navigation controls like buttons, check boxes, radio buttons, windows, palettes, etc., as well as powerful, rich media component objects involving animated characters, multi-track sound effects, and video files.
Integrate local and remote sources of data and business logic, taking advantage of standards-based, Service-oriented approaches to integrate all the content, communications, and application interfaces it can physically access.
Loosely couple presentation from application logic, giving developers the freedom not to have to make any changes to rich client functionality to make sure that the server and client can communicate. The rich client, like the standards-based Web thin client, can be loosely coupled and thus enable independent innovation of the business logic and the user interface to that business logic.
Provide greater intelligence and efficiency in distributed computing. Rich clients aren’t tethered by specific, tightly-coupled communications protocols as are most client/server thick clients and Web-based thin clients. Rather, rich clients can communicate with a wide range of distributed computing systems using both synchronous and asynchronous communication modes as needed. As a result, rich clients can surpass the inefficient request/response paradigm of thin clients and also not be confined by proprietary protocols, so as to make use of the most cost-effective and productive means to communicate. Finally, rich clients won’t need to dynamically generate sets of information simply to transmit large data sets, and can afford to maintain client-side data storage and message queuing.
Enable online and offline modes of usage, allowing users to interact with applications while they are offline on occasionally connected devices such as mobile phones, laptops, and personal digital assistants (PDAs).
Deploy onto multiple platforms and channels. By abstracting rich clients’ underlying runtime platform, users should be able to specify their presentation layer preferences without having to decide on a particular runtime environment. Rich clients also should support a wide range of user interaction channels including telephone, email, and voice interaction.