Overcoming middleware heterogeneity in mobile computing applications
Recent technical advances have fuelled the popularity of mobile computing. Mobile devices such as smart phones and personal digital assistants are becoming more commonly used due to the reduction in their size and increase of computational power. In addition, wireless network hotspots (in airports, hotels and commercial outlets) are now beginning to populate the environment. With these advances, new types of mobile applications are becoming available to support users on the move. The mobile environment presents a number of challenges to application developers (including frequent network disconnection and variable bandwidth); therefore mobile middleware platforms have emerged to simplify the development process of distributed mobile applications. However, the range of platforms now available introduces the new problem of middleware heterogeneity, i.e., applications developed upon different types of middleware do not interoperate with one another. Hence, the next generation of mobile computing applications must be developed independently of specific middleware implementation to allow them to continue interoperating in new locations. This thesis investigates the problem of middleware heterogeneity in the mobile computing environment. The approach taken to solve this problem involves the development of a component-based, higher-level middleware framework (named ReMMoC) that can dynamically adapt its underlying behaviour between different concrete middleware implementations e.g. in one location CORBA is utilised, whereas at the next location SOAP is used. Furthermore, this framework promotes a higher-level programming abstraction based upon the abstract services concepts of the Web Services Architecture. The ReMMoC framework is evaluated to ensure that middleware transparency is achieved and that applications can be developed that will operate in unknown locations across unpredictable middleware implementation. Inevitably, the ability to overcome heterogeneity comes at the cost of an incurred performance overhead; hence, this thesis also evaluates the impact of this overhead in the domain of mobile computing.