New Trends on RIAs Development

New Trends on RIAs Development

DOI: 10.4018/978-1-4666-6437-1.ch015
OnDemand PDF Download:
No Current Special Offers


Rich Internet Applications (RIAs) are considered one kind of Web 2.0 application; however, they have demonstrated to have the potential to transcend throughout the steps in the Web evolution, from Web 2.0 to Web 4.0. In some cases, RIAs can be leveraged to overcome the challenges in developing other kinds of Web-based applications. In other cases, the challenges in the development of RIAs can be overcome by using additional technologies from the Web technology stack. From this perspective, the new trends in the development of RIAs can be identified by analyzing the steps in the Web evolution. This chapter presents these trends, including cloud-based RIAs development and mashups-rich User Interfaces (UIs) development as two easily visible trends related to Web 2.0. Similarly, semantic RIAs, RMAs (Rich Mobile Applications), and context-aware RIAs are some of the academic proposals related to Web 3.0 and Web 4.0 that are discussed in this chapter.
Chapter Preview

1. Introduction

This chapter aims to outline the new trends in the development of Rich Internet Applications (RIAs). According to an exhaustive state-of-the-art analysis and from the authors’ point of view, these trends are defined in the context of the steps on the Web evolution as is depicted in Figure 1, from Web 2.0 to Web 4.0, passing through cloud computing as a trend on the Web 2.0 evolution.

Figure 1.

The Web evolution


Cloud computing could be the best example of where the RIAs development is going both in commercial and academic fields. In this context, RIAs enable cloud providers to mainly achieve the SaaS (Software as a Service) cloud model thanks to the desktop-like features and functionalities of RIAs. Nevertheless, in the case of the PaaS (Platform as a Service) cloud model, RIAs can play a major role. In fact, a variant of the PaaS model in which applications are intended to be delivered as native-like mobile applications has recently arisen.

In the case of Web 3.0, a new kind of RIA known as semantic RIA has been recently proposed in the literature. Semantic RIAs try to solve the issues related to interoperability between systems by using Semantic Web and Linked Data principles. This is an example of how the RIA drawbacks can be achieved by using Web semantic technologies. At a lower level of abstraction, semantic Web technologies can be leveraged in the context of Web 2.0 applications development. In fact, an effort by the W3C (World Wide Web Consortium) aimed at encouraging developers to use knowledge representation languages common to Semantic Web in Systems and Software Engineering practices was active until 2006.

Finally, in the case of Web 4.0, the necessity of a ubiquitous Web has driven the emergence of mobile Web applications distributing data and business logic between mobile devices themselves and remote servers. These applications take advantage of RIA technologies not only to offer rich user experiences but also to enable data and business logic distribution. Here, the use of HTML5 (HyperText Markup Language 5) and JavaScript-based RIA frameworks at the client-side seems to be the most natural solution for technology heterogeneity purposes. At the same time, the availability of the mobile devices’ hardware resources through JavaScript APIs (Application Programming Interfaces) has enabled the context-awareness capability in mobile Web applications.

The aforementioned trends are widely described in the following subsections. It is important to notice that this chapter is not intended to technically explain the concepts related to each of the topics that converge on the current trends on RIAs development but outline the importance of these concepts for the development of RIAs.


2. Rias And Cloud Computing

Cloud computing is a style of computing in which dynamically scalable and often virtualized resources are provided as a service over the Internet. Users do not need having knowledge of, expertise in, or control over the underlying infrastructure in the cloud that supports the services rendered to them. Cloud computing refers to both the applications delivered as services over the Internet and, the hardware and systems software in the data centers that provide those services. The services themselves have been referred as SaaS whereas the underlying high-level systems software and the low-level hardware have been known as PaaS and IaaS (Infrastructure as a Service), respectively.

According to the NIST (National Institute of Standards and Technology) (Mell & Grance, 2011), Cloud computing is composed of five essential characteristics: 1) on-demand self-service which is the consumer ability to unilaterally provision computing capabilities as needed automatically without requiring human interaction with each service provider, 2) broad network access which is the availability of computing capabilities over the network through standards mechanisms that promote use by heterogeneous client platforms, 3) resource pooling which is the pooling of provider’s computing resources to serve multiple consumers by using a multi-tenant model, 4) rapid elasticity which is the ability to elastically provision and release computing capabilities, in some cases automatically, in order to rapidly commensurate with demand and 5) measured service which is the system ability to control and optimize resource use by leveraging a metering capability at some level of abstraction appropriate to the type of service.

Complete Chapter List

Search this Book: