Skip to Main Content
A mobile device such as Android device is emerging as a convenient client computing device with mobility and context-sensing capability. However, the computing power and hardware resource of the devices are limited due to the small form-factor. Consequently, large-scaled applications could not be deployed on these devices. To remedy the limitations, it is desirable to deploy some heavy-weight functionality on the server side, and to let the client application invoke the functionality, resulting in Service-based Mobile Applications. In this paper, we propose a unique, ideal and practical architecture for service-based mobile applications, called balanced Model-View-Controller (MVC) architecture. The architecture is devised by adopting three architectural principles; being thin-client, being layered with MVC, and being balanced between client side and server side. There are a number of technical benefits by adopting this architecture. We first present the computing model of service-based mobile applications, and propose the balanced MVC architecture. Then, we define methods to partition the functionality optimally between client and provider sides, and to design other technical decisions about the architecture. We also present a case study of applying the proposed methods to design the architecture.