Mobile service applications must be developed following component based and object oriented principles of encapsulation, abstraction and code reusability. Future changes to a particular functionality developed in this context will be paid only as per the individual instance of change according to its single-instance complexity. This has to be taken into account from the very beginning in the mobile service applications design. For development of mobile service applications, the use of appropriate existing tools is generally supported. Specifically, open source software should be used where possible. The set of tools in use must be kept to a minimum. The tools / external libraries / external dependencies that have to remain available to the software after development is completed must be approved in writing.
In this paper, we discuss some of the problems of the current mobile service applications development and show how the introduction of CBD (Component Based Development) provides flexible and extensible solutions to it. Mobile service applications resources become encapsulated as components, with welldefined interfaces through which all interactions occur. Builders of components can inherit the interfaces and their implementations, and methods (operations) can be redefined to better suit the component. New characteristics, such as concurrency control and persistence, can be obtained by inheriting from suitable base classes, without necessarily requiring any changes to users of these resources. We describe the MSA (Mobile Service Applications) component model, which we have developed, based upon these ideas, and show, through a prototype implementation, how we have used the model to address the problems of referential integrity and transparent component (resource) migration. We also give indications of future work.
Keywords
- Mobile Devices
- Mobile Application Development
- User Interface Design
- Mobile Service Applications
- Component-Based Development
- Referential Integrity
- Mobility
- Distributed Systems
- Mobile Application Model