A Middleware Architecture for Developing Mobile Applications

A Middleware Architecture for Developing Mobile Applications

Hana Rubinsztejn, José Viterbo, Vagner Sacramento, Ricardo Rocha, Gustavo Baptista, Markus Endler
DOI: 10.4018/978-1-4666-4301-7.ch015
OnDemand:
(Individual Chapters)
Available
$37.50
No Current Special Offers
TOTAL SAVINGS: $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

978-1-4666-4301-7.ch015.f01

Complete Chapter List

Search this Book:
Reset