A Middleware Architecture for Developing Mobile Applications

A Middleware Architecture for Developing Mobile Applications

Hana Rubinsztejn (Federal University of Mato Grosso do Sul, Brazil), José Viterbo (Federal Fluminense University, Brazil), Vagner Sacramento (Institute of Informatics, Federal University of Goias, Brazil), Ricardo Rocha (Institute of Informatics, Federal University of Goias, Brazil), Gustavo Baptista (Pontifical Catholic University of Rio de Janeiro, Brazil) and Markus Endler (Pontifical Catholic University of Rio de Janeiro, Brazil)
DOI: 10.4018/978-1-4666-4301-7.ch015
OnDemand PDF Download:
$30.00
List Price: $37.50

Abstract

In this chapter, the authors present MoCA, a service-oriented middleware architecture that supports the development and deployment of distributed applications for mobile devices, which are inherently context-aware and adaptive. Besides explaining its main services and APIs, they discuss in which ways the MoCA architecture supports some well-known software engineering principles that apply to the design and implementation of context- aware applications. Furthermore, the authors give an overview of its usage and present prototype applications that have been developed on the top of MoCA.
Chapter Preview
Top

The Design Of Moca

It has been well recognized that the development of context-aware and adaptive mobile applications is a complex task and requires the careful observance of several well-known software engineering principles (Ghezzi, Jazayeri, & Mandrioli,1991; Roman, Picco, & Murphy, 2000). Some of these principles guided our design and development of the MoCA architecture itself and, therefore, were fundamental to the success of the project. As shown in Figure 1, MoCA was designed as a layered architecture following a context server approach (Baldauf, et al., 2007), in which largely independent services provide an infrastructure for collecting, distributing and processing context information. This approach aimed at facilitating the development of applications by observing principles such as separation of concerns, multi-level abstractions, incremental development, flexibility of customization and multi-language and interoperability support.

Figure 1.

Layered architecture of MoCA

Complete Chapter List

Search this Book:
Reset