Creating Rich Internet Applications (RIA)
Rich Internet Applications (RIA) are Web applications that provide users with a richer set of controls and a more sophisticated server interaction mechanism.
Web 2.0 is the second generation of services and applications available on the World Wide Web that enable collaboration, information sharing, dynamic service delivery, and interaction. The concept of Web 2.0 typically includes later-generation Web-based applications such as wikis and weblogs. Web 2.0 applications look more like desktop applications and are often dynamically data driven rather than comprising static HTML content.
RIA provide users with a richer set of controls and a more sophisticated server interaction mechanism in order to deliver Web-based applications that look and feel like desktop applications. Typically with RIA, users do not have to refresh a page when they submit data from a browser; they can refresh only a part of page, have better error handling. RIA achieve this through the use of a rendering engine, such as the RPC Adapter, that works from the client-side and mediates between the client and the server.
Asynchronous JavaScriptâ„¢ and XML (AJAX) is an implementation of RIA. It is made up of a group of technologies that are used to create dynamic, interactive Web pages that respond quickly to requests through the exchange of smaller chunks of data. AJAX uses a combination of existing technologies and protocols including XHTML, CSS, XML, client-side scripting languages such as JavaScript, Document Object Model, and an asynchronous data retrieval mechanism such as XMLHttpRequest. It is an architecture that makes browsers more interactive by running JavaScript on the client.
To create an RIA application:
- Create a Web 2.0 enabled Web project.
- Create a Web page using HTML, XHTML, and CSS.
- Create the dynamic display using Dojo widgets, JavaScript, and Document Object Model (DOM).
- Create the data interchange mechanism using JSON, XML, and XMLHttpRequest.
Related concepts
The importance of the proxy for Ajax
RPC Adapter Configuration Editor
Remote Procedure Call (RPC) Adapter
JavaScript Object Notation (JSON4J)