A Model-Driven Engineering Approach for Defining Rich Internet Applications: A Web 2.0 Case Study

A Model-Driven Engineering Approach for Defining Rich Internet Applications: A Web 2.0 Case Study

Francisco Valverde, Oscar Pastor, Pedro Valderas, Vicente Pelechano
DOI: 10.4018/978-1-60566-384-5.ch003
OnDemand:
(Individual Chapters)
Available
$37.50
No Current Special Offers
TOTAL SAVINGS: $37.50

Abstract

Web 2.0 applications emphasize the end-user involvement to provide the content. In this new scenario, an easy to use and a highly interactive user interface (UI) is a key requirement in order to appeal the end-user. The main objective of this chapter is to introduce a model-driven engineering process to create rich Internet applications (RIA) that address the requirements that a Web 2.0 application must fulfill. To achieve this goal, an interaction model made up of two complementary models is proposed: On the one hand, an abstract interaction model, which clearly defines the interactions between the user and the system and on the other hand, a concrete RIA interaction model that specifies the semantics needed to accurately define RIA for the Web 2.0 domain. Both models are introduced inside a model-driven code generation process with the aim of producing a fully functional Web 2.0 application. To illustrate the contribution of this chapter, the approach is applied in a case study related to the Web 2.0 domain.
Chapter Preview
Top

Introduction

The Web has evolved to a platform where the end-user has a key role. A few years ago, the end-user was a passive consumer of information that was provided by the traditional sources (press, editors, etc.) or by people with technological knowledge about the Web. Nowadays, with the emerging popularity of blogs, wikis and other Social Web applications, regular users are able to create and share every kind of content. This new paradigm of applications which emphasizes the end-user involvement as the principal resource is called Social Web or Web 2.0. Therefore, from Web applications where users only retrieve information, the current Web requires rich interfaces that provide users with a more intuitive interaction experience. If the most representative Web 2.0 applications are analyzed, we can notice that they are supported by UIs more related to desktop interfaces than the HTML-based traditional ones. This new type of application (Duhl, 2003) architecture is called Rich Internet Application (RIA).With this new paradigm the border between a desktop application and a web one has begun to be blurry. Some good examples are the eBay Desktop (eBay, 2008) and the Google Earth (Google, 2008) applications. Both desktop applications provide the same information, functionality and interaction mechanisms as the corresponding Web ones. In fact in the next years, the users will access the Web from a widely array of mobile devices that must provide richer interfaces (Jones & Mardsen, 2005).

Around this new application paradigm different technologies such as AJAX, REST Services or JavaScript UI frameworks have arise to support RIA development (Noda & Helwig, 2005). In addition, all these technologies are playing an important role when a Web 2.0 application is developed. However, as the number of the technologies involved in the development increases, the cost and the maintenance problems also increase. In the past years, Web Engineering methods have improved Web applications development by applying the Model-driven Engineering principles (Murugesan, 2008). These methods have provided promising results to enhance the development of the so-called by now “traditional” Web applications or “Web 1.0” applications. However, their conceptual models (Comai & Carughi, 2007) and methodologies (Preciado et al., 2005) lack the expressiveness needed to face the development of RIAs. Firstly, the interaction between users and the system is not described with the same detail that the system functionality and navigation. In a Web 2.0 application the user interaction is a critical requirement since the end-user contribution is essential. And secondly, there is not a clear distinction between the interaction, which describes the set of actions that the user can perform together with the information system, the interface, which constitutes the graphic elements that support this interaction (buttons, grids, multimedia components), and the aesthetics characteristics (such as layout, fonts, size, color etc.). Therefore, is obvious that in order to develop successfully Web 2.0 application from a Web Engineering perspective, the past methods must be adapted and/or extended.

The HCI community has proposed several approaches to specify the interaction between the user and the system without taking into account the target platform. A common agreement is to define two abstraction levels in order to model the interaction: an abstract level to describe the interaction without taking into account technological issues and a concrete level to deal with platform concrete requirements. This approach is more flexible than the definition of a single Presentation Model proposed traditionally by the Web Engineering methods.

Key Terms in this Chapter

CTT: Acronym of Concur Task Tree. A modeling notation to describe the different tasks involved in an interactive system and the relationships between them.

Social Web: is a type of Web application which emphasizes the end-users involvement, the relationships between them and the shared interests of the community

Interaction Pattern: An Interaction Pattern describes a solution for a common user-system interaction in terms of the Problem Space by means of conceptual models.

Rich Internet Application: A new paradigm of Web Application that transfers the processing of the user interaction to the client in order to produce richer UIs.

REST Service: A Web Service invoked through the HTTP protocol in order to obtain the state representation (usually as a XML document) of an information resource.

Interaction Model: A conceptual model that represents the communication between the user and the Information System by means of a user interface.

AJAX: Acronym of Asynchronous JavaScript and XML. Is a set of programming techniques applied in the client side of a Web browser in order to retrieve only the information which needs to be updated.

Model Driven Engineering: is a software development methodology in which models are the first artifact for describing, designing and implementing the final application

Complete Chapter List

Search this Book:
Reset